Releases: compulim/web-speech-cognitive-services
Releases · compulim/web-speech-cognitive-services
[5.0.0] - 2019-10-23
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, theAudioContext
is now persisted. If this is not desirable in your application and would like to control the lifetime ofAudioContext
object, please create your own instance and pass it as an option namedaudioContext
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
- Immediate after the ponyfill is created, we will fetch voice list from the services and emit
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
andstop
function, in PR #33 - Speech recognition: Fix #29, support continuous mode, in PR #33
- Quirks: in continuous mode, calling
stop
in-betweenrecognizing
andrecognized
will not emit finalresult
event
- Quirks: in continuous mode, calling
- Speech recognition: New
audioConfig
option to override the defaultAudioConfig.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 namedaudioContext
- If no
audioContext
option is passed, will create a newAudioContext
object on first synthesis
- Support user-controlled
- 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
- Pass it as an array to
- Speech recognition: Fix #31, support reference grammars, in PR #37
- When creating the ponyfill, pass it as an array to
referenceGrammars
options
- When creating the ponyfill, pass it as an array to
- Speech recognition: Fix #27, support custom speech, in PR #41
- Use option
speechRecognitionEndpointId
- Use option
- 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
- Use option
- Speech synthesis: Fix #48, support output format through
outputFormat
option, in PR #49 *
: Fix #47, addenableTelemetry
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
- Bumped dependencies, in PR #20
- @babel/cli@^7.5.5
- @babel/core@^7.5.5
- @babel/plugin-proposal-object-rest-spread@^7.5.5
- @babel/plugin-transform-runtime@^7.5.5
- @babel/preset-env@^7.5.5
- @babel/runtime@^7.5.5
- babel-jest@^24.8.0
- babel-plugin-transform-inline-environment-variables@^0.4.3
- jest@^24.8.0
- memoize-one@^5.0.5
- rimraf@^2.6.3
- simple-update-in@^2.1.0
- Added version number as
<meta>
tag, in PR #20 - Added bundle distribution thru https://unpkg.com/web-speech-cognitive-services@latest/umd/, in PR #21
- Bumped to microsoft-cognitiveservices-speech-sdk@1.6.0, in PR #22
- Fix #55 and #63. Moves to WHATWG
EventTarget
interface, in PR #56 and PR #64 - Instead of including
event-target-shim@5.0.1
, we are adopting its source code, in PR #72- This is because the original package requires browser to support rest/spread operators
Fixed
[4.0.0] - 2018-12-10
Added
- New playground for better debuggability
- Support of Speech Services SDK, with automated unit tests for speech recognition
- See
SPEC-RECOGNITION.md
andSPEC-SYNTHESIS.md
for quirks
- See
- Speech recognition: Support
stop
on Speech Services - Speech synthesis: Support
pause
andresume
(withpause
andresume
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
Added
- Speech Synthesis: Will async fetch speech token instead of throwing exception
Changed
- Use
@babel/runtime
and@babel/plugin-tranform-runtime
, in favor ofbabel-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 theAudioBufferSourceNode
for a graceful stop
- Instead of shutting down the
- 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
andjest@^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
Added
- Speech priming via custom
SpeechGrammarList
[2.0.0] - 2018-07-09
Added
- SpeechSynthesis polyfill with Cognitive Services
Changed
- Removed
CognitiveServices
prefix- Renamed
CognitiveServicesSpeechGrammarList
toSpeechGrammarList
- Renamed
CognitiveServicesSpeechRecognition
toSpeechRecognition
- Removed default export, now must use
import { SpeechRecognition } from 'web-speech-cognitive-services';
- Renamed
- Speech Recognition: changed speech token authorization
recognition.speechToken = new SubscriptionKey('your subscription key');
[1.0.0] - 2018-06-29
Added
- Initial release
- SpeechRecognition polyfill with Cognitive Services