5.0.0rc1: First Release Candidate
Pre-release
Pre-release
Why This pre-Release?
PLEASE DO NOT BUILD DISTRIBUTION PACKAGES FROM THIS PRERELEASE. The API is nearly guaranteed to change before the true release. I do not want to end up with a shared library named libpocketsphinx.so.362.3.4
. THIS IS A PRERELEASE AND NOT A REAL RELEASE!!! (sorry for the shouting but I want to make it clear that although PocketSphinx was a "prealpha" for 10 years, this is not going to be the way things work anymore)
The purpose of the 5.0.0 release will be to debug, stabilize, test, and fully document the current state of PocketSphinx. As part of this, some APIs have been removed, others are deprecated, and a few have changed and may still change. Notably:
- SphinxBase is integrated into PocketSphinx now. The header files remain the same.
- The
sphinx_fe
andsphinx_cepview
utilities have been moved to SphinxTrain. - The audio interface (
<sphinxbase/ad.h>
) has been removed. - The
-remove_noise
option is now controlled by the acoustic model as it needs to match the training. - The
-remove_silence
option has been removed as it is a Bad Idea and Considered Harmful for batch mode recognition. Please use the endpointer API as detailed in<pocketsphinx/endpointer.h>
andexamples/live.c
orexamples/live.py
. - The
-cmninit
option is not controlled by the default acoustic model anymore. This may cause some problems for live recognition as the defaults may not match the feature extraction parameters. - The SWIG wrappers have been removed. Only Python 3 is directly supported as a dynamic language binding. Node.js may be supported in the near future. The C API is specifically designed to be easily supported through FFI, so you can do that.
- Python support is much improved, fully documented, and builds a proper module directly from the (top level of the) source tree with
pip
orbuild
. - The GStreamer module is gone but it will come back, sorry.
- Android support is gone but may come back (contributions welcome, I don't have time to support anything other than Linux on x86_64 and s390x)
What's Changed
- Updated the en-us dict by @Coeur in #124
- Fix memory leak in allphone_search.c by @chussong in #138
- Forward declare allphone_clear_segments in allphone_search.c by @chussong in #140
- Make force alignment accessible from pocketsphinx_batch and the ps_decoder API by @dhdaines in #144
- Improve linking for internal headers by @chussong in #168
- Fix memory leak in bin_mdef_read_text by @guidovranken in #198
- Large build system and small API modernizations by @dhdaines in #250
- Fix windows build by @dhdaines in #251
- Fix endianness issues in binary trie LM code by @dhdaines in #253
- Build a proper Python package by @dhdaines in #254
- Update -cmninit parameter when CMN is updated by @dhdaines in #259
- Switch back to Cython and use scikit-build for Python module by @dhdaines in #271
- Document Python module better and build ReadTheDocs with (the other) Sphinx by @dhdaines in #273
- Fix install command for Mac and iOS builds by @mattlarose in #280
- Incoporate WebRTC VAD code by @dhdaines in #278
- Reorganize header files by @dhdaines in #282
- Remove thread library by @dhdaines in #283
- Add a proper API for cepstral mean normalization by @dhdaines in #284
- Make -samprate an int after all these years by @dhdaines in #285
New Contributors
- @alexanderkoller made their first contribution in #105
- @Coeur made their first contribution in #124
- @cshung made their first contribution in #131
- @chussong made their first contribution in #138
- @dhdaines made their first contribution in #144
- @sc0ty made their first contribution in #151
- @nxdefiant made their first contribution in #157
- @jschueller made their first contribution in #160
- @guidovranken made their first contribution in #198
- @sthibaul made their first contribution in #202
- @freddii made their first contribution in #231
- @lenzo-duo made their first contribution in #245
- @flyn-org made their first contribution in #244
- @Crozzers made their first contribution in #268
- @mattlarose made their first contribution in #280
Full Changelog: https://github.com/cmusphinx/pocketsphinx/commits/v5.0.0rc1