Version 0.91, Aug 25th, 2020

  • Bug Fix Fixed PostBuild script that wasn’t adding KeenASR SDK to the iOS project.
  • Enhancement Workaround for Unity 2019.4 LTS bug with iOS LaunchImage.launchimage.

Version 0.9, Jun 18th, 2020

  • Bug Fix Updates to address issues with building under Unity 2019.

Version 0.82, December 26th, 2018

  • Enhancement Updates to most recent iOS (v1.63) and Android (v0.82) SDKs.
  • Bug Fix Android: RecognizerState() was always returing RecognizerStateNeedsDecodingGraph in Android plugin for Unity, reglardless of the real state of the recognizer.
  • Bug Fix iOS: background/foreground state change of the app was triggering either crash or problems with audio playing. The root cause of this problem was a Unity bug, which has been resolved in Unity 2018.1. The iOS plugin has been updated to take advantage those fixes in Unity.

Version 0.81, June 19, 2018

  • Enhancement Updates to iOS and Android SDKs to support new ASR Bundle.
  • Enhancement Changed the default ASR Bundle that comes with the plugin to keenB2mQT-nnet3chain-en-us, which is more robust in noisy environments.

Version 0.8, May 30, 2018

  • Enhancement The plugin now uses the latest version of the KeenASR SDK for Android (0.8), which has many optimizations and some bug fixes.
  • Enhancement Changed the default ASR Bundle that comes with the plugin to keenB1-nnet3chain-en-us, which has lower CPU and memory requirements.

Version 0.7, April 19, 2018

  • Feature The plugin now supports Android platform.
  • Enhancement The plugin now uses the latest version of KeenASR SDK for iOS (1.61).
  • Enhancement ASR Bundle is stored in the Assets/StreamingAssets directory so that it is automatically included in the app on all platforms.
  • Enhancement A more compact version of the librispeech ASR Bundle is now included with the plugin. This reduces on-disk size to about 38MB (26MB when compressed).
  • Feature The plugin now provides a callback that is triggered when initialization is completed. NOTE: while this change currently does not affect developers who are using the plugin only for iOS platform (since iOS plugin will still init synchronously), we recommend you modify the logic so that all post-init work is done in the callback.

Version 0.6, November 24, 2017

  • Bug Fix Fixed a regression bug introduced in version 0.4 where InputLevel() was always reporting 0 value.

Version 0.5, November 2, 2017

  • Feature Support for automatic upload of speech recognition results and audio recordings to Dashboard, Keen Research’s cloud-based development tool. See CreateDataUploadThread() and SetRemoveDataAfterUpload(), PauseUpload(), and ResumeUpload(), SetRemoveDataAfterUpload() static methods for details. Typically, you will create data upload thread after you initialized the recognizer. You will also need to make sure that the recognizer is setup to create audio files via SetCreateAudioRecordings(true). Dashboard is available only to Keen Research customers.

Version 0.4, Septembar 26, 2017

  • Enhancement Reduced the recognizer’s memory footprint by about 20%. In addition, version 1.3 of the SDK supports quantized ASR Bundles, which use 3-3.5x less disk space. Currently, this 3-3.5x reduction in ASR Bundle size only applies to on-disk storage (i.e., affecting your app download size). Future releases will provide similar reduction in memory footprint.

  • Enhancement Introduced a new recognizerState readonly property for KeenASR instances, which you can access through the GetRecognizerState() method. This is replacing the IsListening() method, which was not providing sufficient information.

  • Feature You can now direct SDK to perform echo cancellation, if available on the device, to remove audio played by the app speaker from the signal captured by the microphone. For details see the PerformEchoCancellation() and IsEchoCancellationAvailable() methods in the KeenASR class. This feature is experimental.

  • Bug Fix Cleaned up the audio interruption logic that was causing crashes on older iOS versions and prevented compilation with older versions of XCode. The current implementation takes complete control of the AVAudioSession management and provides two callback methods that allow developers 1) to clean up audio playing resources (stop playing audio, remember app state as necessary) before the app moves to the background. This allows to properly deactivate AVAudioSession before the app moves to the background, 2) to set up the UI after the audio interrupt is over and the app comes back to foreground. Currently, when the app is about move to the background, the SDK deactivates the audio session, and then reactivates it when the app comes back to the foreground. See the RecognizerReadyToListenAfterInterruptHandler callback method, which you can use to set up the UI after the app comes to the foreground.

  • Bug Fix Fixed a bug that caused the SDK to crashes when PrepareForListeningWithCustomDecodingGraph() was called while the app is listening.

Version 0.3, August 14, 2017 **

  • Enhancement Added a PostBuildProcess.cs script which automates update of XCode settings.

  • Enhancement Added stub methods for the Editor build, so that you can compile the editor version of your app (The KeenASR SDK will not function, but you will be able to create builds).

  • Enhancement Restructured the plugin, so that everything related to the KeenASR plugin is now stored in the Assets/Plugins/KeenASR directory.

  • Enhancement Added a default ASR Bundle in the plugin so that it does not need to be downloaded separately.

  • Enhancement Changed the SetLogLevel() method to be a static method of the KeenASR class. This allows you to set the log level before the framework is initialized.

  • Bug Fix Fixed issue with the KeenASR class (and sharedInstance) persisting across multiple scenes.