Skip to content

Releases: compulim/web-speech-cognitive-services

[5.0.0] - 2019-10-23

23 Oct 17:47
Compare
Choose a tag to compare

NPM

npm install web-speech-cognitive-services@5.0.0

Bundle

<script
  crossorigin="anonymous"
  integrity="sha384-M+Xdt3ULWuUJyn8baSyg1junQEfbnb3lMAU5F/Wma+enbpfPtTgzwlfzL27Cb8nk"
  src="https://unpkg.com/web-speech-cognitive-services@5.0.0/umd/web-speech-cognitive-services.production.min.js"
></script>

<script
  crossorigin="anonymous"
  integrity="sha384-ALDNJ5kNjxEnJUSf0FKfeTMrMUgjeqVKMMIqg+C1DZQOfuNWc+JWQVpCn5ui3zcJ"
  src="https://unpkg.com/web-speech-cognitive-services@5.0.0/umd/web-speech-cognitive-services.development.js"
></script>

Changelog

Breaking changes

  • Instead of stopping AudioContext after all pending utterances are finished, the AudioContext is now persisted. If this is not desirable in your application and would like to control the lifetime of AudioContext object, please create your own instance and pass it as an option named audioContext when creating the ponyfill
  • createSpeechServicesPonyfill function is no longer asynchronous
    • Immediate after the ponyfill is created, we will fetch voice list from the services and emit voiceschanged event on completion

Added

  • Speech recognition: Fix #23 and #24, support audiostart/audioend/soundstart/soundend event, in PR #33
  • Speech recognition: Fix #25 and #26, support true abort and stop function, in PR #33
  • Speech recognition: Fix #29, support continuous mode, in PR #33
    • Quirks: in continuous mode, calling stop in-between recognizing and recognized will not emit final result event
  • Speech recognition: New audioConfig option to override the default AudioConfig.fromDefaultMicrophoneInput, in PR #33
  • Speech synthesis: Fix #32, fetch voices from services, in PR #35
  • Speech synthesis: Fix #34, in PR #36 and PR #44
    • Support user-controlled AudioContext object to be passed as an option named audioContext
    • If no audioContext option is passed, will create a new AudioContext object on first synthesis
  • Speech synthesis: If an empty utterance is being synthesized, will play an local empty audio clip, in PR #36
  • Speech recognition: Fix #30, support dynamic phrases, in PR #37
    • Pass it as an array to SpeechRecognition.grammars.phrases
  • Speech recognition: Fix #31, support reference grammars, in PR #37
    • When creating the ponyfill, pass it as an array to referenceGrammars options
  • Speech recognition: Fix #27, support custom speech, in PR #41
    • Use option speechRecognitionEndpointId
  • Speech synthesis: Fix #28 and #62, support custom voice font, in PR #41 and PR #67
    • Use option speechSynthesisDeploymentId
    • Voice list is only fetch when using subscription key
  • Speech synthesis: Fix #48, support output format through outputFormat option, in PR #49
  • *: Fix #47, add enableTelemetry option for disabling collecting telemetry data in Speech SDK, in PR #51 and PR #66
  • *: Fix #53, added ESLint, in PR #54
  • Speech synthesis: Fix #39, support SSML utterance, in PR #57
  • Speech recognition: Fix #59, support stop() function by finalizing partial speech, in PR #60
  • Fix #67, add warning when using subscription key instead of authorization token, in PR #69
  • Fix #70, fetch authorization token before every synthesis, in PR #71

Changed

Fixed

  • Fix #45. Speech synthesize should emit "start" and "error" if the synthesized audio clip cannot be fetch over the network, in PR #46

[4.0.0] - 2018-12-10

10 Dec 23:41
Compare
Choose a tag to compare

Added

  • New playground for better debuggability
  • Support of Speech Services SDK, with automated unit tests for speech recognition
  • Speech recognition: Support stop on Speech Services
  • Speech synthesis: Support pause and resume (with pause and resume event)
  • Speech synthesis: Support speaking property

Changed

  • Ponyfill are now constructed based on options (authorization token, region, and subscription key)
    • A new set of ponyfill will be created every time an option has changed

Fixed

  • Fix #13 Speech recognition: SpeechRecognitionResult should be iterable

[3.0.0] - 2018-10-31

01 Nov 00:57
Compare
Choose a tag to compare

Added

  • Speech Synthesis: Will async fetch speech token instead of throwing exception

Changed

  • Use @babel/runtime and @babel/plugin-tranform-runtime, in favor of babel-polyfill
  • Better error handling on null token
  • Updated voice list from https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/supported-languages
  • Reliability around cancelling a playing utterance
    • Instead of shutting down the AudioContext, we will stop the AudioBufferSourceNode for a graceful stop
  • Simplify speech token authorization
    • recognition.fetchToken = async () => return await 'your subscription key';
    • recognition.fetchToken = createFetchTokenUsingSubscriptionKey('your subscription key');
    • fetchToken will be called every time a token is required, implementor should cache the token as needed
  • Bump to @babel/core@7.1.2 and jest@^23.6.0
  • Bump to react-scripts@2.0.4
  • Publish /packages/component/ instead of /
  • Bump to event-as-promise@1.0.5

[2.1.0] - 2018-07-09

10 Jul 01:10
Compare
Choose a tag to compare

Added

  • Speech priming via custom SpeechGrammarList

[2.0.0] - 2018-07-09

09 Jul 21:25
Compare
Choose a tag to compare

Added

  • SpeechSynthesis polyfill with Cognitive Services

Changed

  • Removed CognitiveServices prefix
    • Renamed CognitiveServicesSpeechGrammarList to SpeechGrammarList
    • Renamed CognitiveServicesSpeechRecognition to SpeechRecognition
    • Removed default export, now must use import { SpeechRecognition } from 'web-speech-cognitive-services';
  • Speech Recognition: changed speech token authorization
    • recognition.speechToken = new SubscriptionKey('your subscription key');

[1.0.0] - 2018-06-29

29 Jun 10:58
Compare
Choose a tag to compare

Added

  • Initial release
  • SpeechRecognition polyfill with Cognitive Services