Skip to content

5.0.0rc4: Fourth Release Candidate

Pre-release
Pre-release
Compare
Choose a tag to compare
@dhdaines dhdaines released this 17 Sep 00:34
· 279 commits to master since this release

The purpose of this pre-release is to solidify and modernize the library API and ABI.

The configuration interface in particular is now quite different. It is not a "command-line parser" anymore and the configuration parameters have lost their leading dashes. So instead of this:

cmd_ln_set_str_r(ps_get_config(decoder), "-hmm", "/whatever/blah");

You now do this:

ps_config_set_str(ps_get_config(decoder), "hmm", "/whatever/blah");

As well, the parameter setting functions will coerce the value you give them to whatever the underlying parameter is instead of printing an error and failing (or worse, crashing the program, like they used to do in the bad old days). So it is okay to do this for instance:

ps_config_set_str(ps_get_config(decoder), "samprate", "16000");

As well, configurations can be saved and loaded as JSON (or a sort of pseudo-YAML as well). This is the recommended way to create configurations from scratch as well at the moment though I may bring back something like cmd_ln_init() as it was quite convenient.

All of the SphinxBase "utility" headers have also been made internal and their symbols will no longer be exported on Windows. Conversely, the JSGF and N-Gram language model API has been included in <pocketsphinx.h>.

The pocketsphinx command-line program now accepts input files on the command-line which can be raw, WAV, or NIST Sphere format.

What's Changed

  • Remove sphinxbase and modernize configuration API by @dhdaines in #295
  • Add support for input files to pocketsphinx command line by @dhdaines in #297

Full Changelog: v5.0.0rc3...v5.0.0rc4