Release 0.9; March 6, 2019
Feature The SDK now supports always on listening with trigger phrase (e.g. “Hey computer”). This functionality is currently implemented using the ASR engine, which allows use of this feature without custom training for the trigger phrase; in other words, we are not using a separate small model for wake-word, which wakes up the larger model when wake-word is detected. The downside of this approach is that this feature is not meant to be used for 24x7 listening, due to batter use and thermal heating. Use cases of couple of hours of always on listening can be supported.
Feature KASRRecognizer class now supports quering of the decoding graph name that it currently uses, via getDecodingGraphName() method.
Bug Fix Fix for properly detecting big CPU cores. A number of mobile SoC uses big.little architecture with some of the CPU cores (“little” ones) being less capable for heavy processing. The SDK tries to detects big CPU cores to make sure that the decoding thread runs on one of the big cores. We fixed a bug that in previous releases could have resulted in decoding thread running on a little core instead of the big core, because big cores were not properly detected.
Bug Fix Fix for several scenarios where SDK would crash if incomplete resources (e.g. ASR Bundle or decoding graph) were passed to it, or if prepareForListeningWithCustomDecodingGraphWithName() method was called while the recognizer is listening.
Enhancement Cleaned up log levels for the KeenASR logger.
Enhancement Support for handling acronyms when passing a list of phrases to methods that build decoding graph.
Release 0.82; Dec 26, 2018
- Feature Lattice rescoring support, for large vocabulary recognition.
- Bug Fix Fix a problem (a potential crash) that occurs occasionally when StopListening is explicitely called, i.e. when VAD based end-pointing is not used.
Release 0.81; Jun 18, 2018
- Enhancement Support for new ASR Bundles (keenB2)
Release 0.8; May 28, 2018
Enhancement SDK will load shared libraries, so developers don’t need to do it in their Java app.
Enhancement Further enhancements and optimizations to handle decoding speed on various CPU chipsets on Android devices in order to minimize chances of buffer overflows (decoding running slower then real-time for extended period of time). We are also releasing a more compact ASR Bundle that has smaller disk/memory footprint and lower CPU utilization. One of the changes requires the app to declare the use of wake locks, by adding the following line to the AndroidManifest.xml file:
<uses-permission android:name="android.permission.WAKE_LOCK" />.
Bug Fix getDecodingGraphCreationDate was always returning null.
Bug Fix Gracefully handle scenarios when microphone cannot be initialized; if SDK cannot initialize audio stack it will gracefully handle the error and return null shared instance.
Bug Fix JNI crash due to local table reference overflow; this bug was occuring in rare situations when there is a large number of words (more than ~250) in the recognized response.
Release 0.7.2; Apr 19, 2018
- Feature Add experimental support for echo cancellation.
- Enhancement Utilize multiple CPU cores for computation, if available.
- Feature Provide JSON version of the ASR result.
Release 0.7.1; Jan 31, 2018
- Bug Fix SDK fails to initialize while loading config file
Release 0.7; Jan 23, 2018
Bug Fix Audio buffer overflows could occur on older devices, when default ASR Bundle (librispeech-nnet2-en-us) is used for decoding; this would result in unreliable recognition performance and corrupt audio files (when file recording is enabled). We added monitoring and logging, so that it’s easier to detect this issue. For the time being, we can provide simpler ASR Bundles on request, which solve this problem for majority of devices released in the last 2-3 years. Future releases will have additional optimizations.
Bug Fix SDK initialization fails when using initWithASRBundleAtPath method. (you would typically used this method when you are downloading ASR Bundle from the internet, and not bundling it initially with your app).
Enhancement more robust checking for decoding graph existence.
Release 0.6; Nov 4, 2017
- Bug Fix Crash would occur during SDK initialization on armeabi-v7a architecture
Release 0.5; Oct 19, 2017
- Feature KASRRecognizer methods for speaker adaptation are now available
- Bug Fix NPE would occur on partial or final result callbacks if null lister was passed to AddListener method
Release 0.4; Oct 10, 2017
- Bug Fix startListening would not work on second call (on Android 7.0)
- Feature Support for saving audio files on the device file system
- Feature Support for arm64 abi
- Enhancement Minor optimizations in library size
Release 0.3; Oct 2, 2017
- Basic functionality for live speech recognition. Only arm7v-abi abi is supported in this release.