All Versions
Latest Version
Avg Release Cycle
62 days
Latest Release
2387 days ago

Changelog History

  • v3.8.1 Changes

    December 05, 2017

    โฌ†๏ธ 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:
    • ๐Ÿ›  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.
  • v3.8.0

    December 05, 2017
  • v3.7.1 Changes

    June 27, 2017

    โฌ†๏ธ 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.
  • v3.7.0

    June 26, 2017
  • v3.6.5 Changes

    April 13, 2017

    ๐Ÿ›  Quick bugfix for PortableNamedTemporaryFile:

    • ๐Ÿ›  Fix file descriptor opening on Python 2.
    • โž• Add tests for Sphinx keyword matching.
  • v3.6.4 Changes

    April 13, 2017

    ๐Ÿ›  Bugfix release!

    • ๐Ÿ›  Fix tempfile.NamedTemporaryFile on Windows, by replacing it with a PortableNamedTemporaryFile class. Previously, it didn't necessarily support the file being re-opened after originally opened.
    • ๐Ÿ“š Documentation/troubleshooting improvements (thanks @hassanmian!).
    • โž• Add support for 24-bit FLAC audio files (thanks @sudevschiz!).
    • Fix phrase_time_limit being ignored for listen_in_background (thanks @dodysw!)
    • โž• Added lots of new audio regression tests.
    • โœ… Code cleanup for tests and examples.
  • v3.6.3 Changes

    March 11, 2017

    ๐Ÿ›  Small bugfix release:

    • ๐Ÿ– Handle case when GSR doesn't return a confidence value (thanks @jcsilva!).
    • ๐Ÿš€ Config, style, and release improvements.
    • ๐Ÿ›  Fix console window sometimes popping up when on Windows (thanks @Qdrew!)
    • ๐Ÿš€ Switch release over to universal Wheels rather than source distribution.
  • v3.6.0 Changes

    January 07, 2017

    ๐Ÿš€ This is more of a maintenance release, but a few features slipped in as well:

    • ๐Ÿ‘Œ Support for the Google Cloud Speech API with recognizer_instance.recognize_google_cloud (thanks @Thynix!), plus documentation and examples.
    • Automatic sample rate detection in speech_recognition.Microphone - this should fully resolve all the "Invalid sample rate" issues from PyAudio.
    • โœ… Project now has automated tests and continuous integration with TravisCI. It's pretty nifty, and has already caught a few things during development!
    • Keywords example for recognizer_instance.recognize_sphinx.
    • ๐Ÿ“š Documentation improvements and updated advice in troubleshooting and library reference.
    • ๐Ÿ›  Bugfix - Google Speech Recognition sometimes didn't return the text with the highest confidence (thanks @akabraham!).
    • ๐Ÿ›  Bugfix - EOFError upon encountering malformed audio files; a proper exception message is now given.
    • โšก๏ธ Updated FLAC binaries for OS X.
    • ๐Ÿ›  Bugfix - invalid FLAC binary path on OS X (thanks @akabraham!).
    • Code cleanup.
  • v3.5.0 Changes

    November 21, 2016
    • ๐Ÿ‘Œ Support for the Houndify API with recognizer_instance.recognize_houndify (thanks @tb0hdan!).
    • ๐Ÿ‘ recognize_sphinx now supports keyword-based matching via the keywords=[("cat", 30), ("potato", 45)] parameter.
      • The second number in each pair is the sensitivity, which determines how loosely Sphinx will interpret speech to be those keywords - higher numbers mean more false positives, while lower numbers mean a lower detection rate.
      • A new example for keyword matching is now available.
      • For now, the recognize_api function will keep working if you're on a paid API.AI plan, and we will not be removing it until the service is shut down entirely.
      • It is best to transition to another backend as soon as possible. I recommend Microsoft Bing Voice Recognition or for previous API.AI users.
    • phrase_time_limit option for listening functions, to limit phrase lengths to a certain number of seconds.
    • Support for operation timeouts with recognizer_instance.operation_timeout - this can be used to ensure long requests always take finite time.
    • 0๏ธโƒฃ recognize_ibm now opts out of request logging by default, for improved user privacy (thanks @michellemorales!). This is a breaking change if you previously relied on request logging behaviour.
    • ๐Ÿ›  Bugfix - listen() sometimes didn't terminate on finite-length streams.
    • ๐Ÿ›  Bugfix - Microsoft Bing Voice Recognition changed their authentication API endpoint, so that required some small code updates (thanks @tmator!).
    • ๐Ÿ›  Bugfix - 24-bit audio now works correctly on Python 2.
    • โšก๏ธ Update API version from deprecated version.
    • ๐Ÿ“š A bunch of documentation updates, fixes, and improvements.
  • v3.4.6 Changes

    May 22, 2016

    ๐Ÿ›  Bugfix release.

    ๐Ÿ”„ Changes:

    • now requires the sessionId field, so we'll just add that in (thanks @jhoelzl!).
    • ๐Ÿ‘Œ Improve documentation a bit.
    • ๐Ÿ›  Various other small fixes.