SpeechRecognition v3.8.1 Release Notes

Release Date: 2017-12-05 // over 3 years ago
  • โฌ†๏ธ Lots of changes since June! Summary below. Get all of these and more with a quick pip install --upgrade SpeechRecognition.

    • ๐Ÿ‘ Snowboy hotwords support for highly efficient, performant listening (thanks @beeedy!). This is implemented as the snowboy_configuration parameter of recognizer_instance.listen.
    • ๐Ÿ”ง Configurable Pocketsphinx models - you can now specify your own acoustic parameters, language model, and phoneme dictionary, using the language parameter of recognizer_instance.recognize_sphinx (thanks @frawau!).
    • audio_data_instance.get_segment(start_ms=None, end_ms=None) is a new method that can be called on any AudioData instance to get a segment of the audio starting at start_ms and ending at end_ms. This is really useful when you want to get, say, only the first five seconds of some audio.
    • The stopper function returned by listen_in_background now accepts one parameter, wait_for_stop (defaulting to True for backwards compatibility), which determines whether the function will wait for the background thread to fully shutdown before returning. One advantage is that if wait_for_stop is False, you can call the stopper function from any thread!
    • New example, demonstrating how to simultaneously listen to and recognize speech with the threaded producer/consumer pattern: threaded_workers.py.
    • ๐Ÿ›  Various improvements and bugfixes:
      • Python 3 style type annotations in library documentation.
      • recognize_google_cloud now uses the v1 rather than the beta API (thanks @oort7!).
      • recognize_google_cloud now returns timestamp info when the show_all parameter is True.
      • recognize_bing won't time out as often on credential requests, due to a longer default timeout.
      • recognize_google_cloud timeouts respect recognizer_instance.operation_timeout now (thanks @reefactor!).
      • Any recognizers using FLAC audio were broken inside Linux on Docker - this is now fixed (thanks @reefactor!).
      • Various documentation and lint fixes (thanks @josh-hernandez-exe!).
      • Lots of small build system improvements.

Previous changes from v3.7.1

  • โฌ†๏ธ As usual, get it with pip install --upgrade SpeechRecognition

    • ๐Ÿ†• New grammar parameter for recognizer_instance.recognize_sphinx - now, you can specify a JSGF or FSG grammar to PocketSphinx (thanks @aleneum!).
    • โšก๏ธ Update PyAudio to version 0.2.11 - this fixes a couple memory management issues users have been experiencing.
    • โšก๏ธ Update FLAC to 1.3.2 on all platforms - this will make it easier to support more audio formats in the near future.
    • ๐Ÿ›  Fixes for various APIs on Python 3.6+ - small changes in urllib.request behavior made requests fail in certain situations.
    • ๐Ÿ›  Fixes for Bing Speech API timing out due to some backwards incompatible changes to their API.
    • โช Restore original IBM audio segmentation behaviour - previously, it would stop recognizing after the first pause. Now, it will recognize all speech in the input audio, as it did before IBM's changes.
    • ๐Ÿ›  Fix links in PocketSphinx docs and library reference. Add-on language models now available from Google Drive, including the now-officially-supported Italian model.
    • ๐Ÿ†• New troubleshooting entries for JACK server in README.
    • ๐Ÿ“š Documentation and build process updates.