web-speech-cognitive-services 7.1.2-master.1a5108f → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/lib/BingSpeech/SpeechToText/SpeechGrammarList.js.map +1 -1
  3. package/lib/BingSpeech/SpeechToText/createSpeechRecognitionPonyfill.js +3 -3
  4. package/lib/BingSpeech/SpeechToText/createSpeechRecognitionPonyfill.js.map +1 -1
  5. package/lib/BingSpeech/SpeechToText.js.map +1 -1
  6. package/lib/BingSpeech/TextToSpeech/AudioContextConsumer.js.map +1 -1
  7. package/lib/BingSpeech/TextToSpeech/AudioContextQueue.js.map +1 -1
  8. package/lib/BingSpeech/TextToSpeech/SpeechSynthesisUtterance.js.map +1 -1
  9. package/lib/BingSpeech/TextToSpeech/SpeechSynthesisVoice.js.map +1 -1
  10. package/lib/BingSpeech/TextToSpeech/buildSSML.js.map +1 -1
  11. package/lib/BingSpeech/TextToSpeech/createSpeechSynthesisPonyfill.js.map +1 -1
  12. package/lib/BingSpeech/TextToSpeech/fetchSpeechData.js.map +1 -1
  13. package/lib/BingSpeech/TextToSpeech/fetchVoices.js.map +1 -1
  14. package/lib/BingSpeech/TextToSpeech/isSSML.js.map +1 -1
  15. package/lib/BingSpeech/TextToSpeech/subscribeEvent.js.map +1 -1
  16. package/lib/BingSpeech/TextToSpeech.js.map +1 -1
  17. package/lib/BingSpeech/Util/DOMEventEmitter.js +2 -2
  18. package/lib/BingSpeech/Util/DOMEventEmitter.js.map +1 -1
  19. package/lib/BingSpeech/Util/createFetchTokenUsingSubscriptionKey.js.map +1 -1
  20. package/lib/BingSpeech/fetchAuthorizationToken.js.map +1 -1
  21. package/lib/BingSpeech/index.js +3 -3
  22. package/lib/BingSpeech/index.js.map +1 -1
  23. package/lib/SpeechServices/SpeechSDK.js.map +1 -1
  24. package/lib/SpeechServices/SpeechToText/SpeechGrammarList.js.map +1 -1
  25. package/lib/SpeechServices/SpeechToText/cognitiveServiceEventResultToWebSpeechRecognitionResultList.js.map +1 -1
  26. package/lib/SpeechServices/SpeechToText/createSpeechRecognitionPonyfill.js +5 -5
  27. package/lib/SpeechServices/SpeechToText/createSpeechRecognitionPonyfill.js.map +1 -1
  28. package/lib/SpeechServices/SpeechToText.js.map +1 -1
  29. package/lib/SpeechServices/TextToSpeech/AudioContextConsumer.js.map +1 -1
  30. package/lib/SpeechServices/TextToSpeech/AudioContextQueue.js.map +1 -1
  31. package/lib/SpeechServices/TextToSpeech/SpeechSynthesisEvent.js +3 -1
  32. package/lib/SpeechServices/TextToSpeech/SpeechSynthesisEvent.js.map +1 -1
  33. package/lib/SpeechServices/TextToSpeech/SpeechSynthesisUtterance.js.map +1 -1
  34. package/lib/SpeechServices/TextToSpeech/SpeechSynthesisVoice.js.map +1 -1
  35. package/lib/SpeechServices/TextToSpeech/buildSSML.js.map +1 -1
  36. package/lib/SpeechServices/TextToSpeech/createSpeechSynthesisPonyfill.js.map +1 -1
  37. package/lib/SpeechServices/TextToSpeech/fetchCustomVoices.js.map +1 -1
  38. package/lib/SpeechServices/TextToSpeech/fetchSpeechData.js +2 -2
  39. package/lib/SpeechServices/TextToSpeech/fetchSpeechData.js.map +1 -1
  40. package/lib/SpeechServices/TextToSpeech/fetchVoices.js +2 -2
  41. package/lib/SpeechServices/TextToSpeech/fetchVoices.js.map +1 -1
  42. package/lib/SpeechServices/TextToSpeech/isSSML.js.map +1 -1
  43. package/lib/SpeechServices/TextToSpeech/subscribeEvent.js.map +1 -1
  44. package/lib/SpeechServices/TextToSpeech.js.map +1 -1
  45. package/lib/SpeechServices/fetchAuthorizationToken.js.map +1 -1
  46. package/lib/SpeechServices/patchOptions.js +2 -2
  47. package/lib/SpeechServices/patchOptions.js.map +1 -1
  48. package/lib/SpeechServices/resolveFunctionOrReturnValue.js.map +1 -1
  49. package/lib/SpeechServices.js +4 -4
  50. package/lib/SpeechServices.js.map +1 -1
  51. package/lib/Util/arrayToMap.js +2 -2
  52. package/lib/Util/arrayToMap.js.map +1 -1
  53. package/lib/Util/createPromiseQueue.js.map +1 -1
  54. package/lib/index.js.map +1 -1
  55. package/package.json +26 -19
  56. package/umd/web-speech-cognitive-services.development.js +1391 -756
  57. package/umd/web-speech-cognitive-services.production.min.js +2 -1
@@ -5,7 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = _default;
9
8
  Object.defineProperty(exports, "createSpeechRecognitionPonyfill", {
10
9
  enumerable: true,
11
10
  get: function get() {
@@ -18,6 +17,7 @@ Object.defineProperty(exports, "createSpeechSynthesisPonyfill", {
18
17
  return _createSpeechSynthesisPonyfill.default;
19
18
  }
20
19
  });
20
+ exports.default = _default;
21
21
  Object.defineProperty(exports, "fetchAuthorizationToken", {
22
22
  enumerable: true,
23
23
  get: function get() {
@@ -37,9 +37,9 @@ var _createSpeechSynthesisPonyfill = _interopRequireDefault(require("./TextToSpe
37
37
 
38
38
  var _fetchAuthorizationToken = _interopRequireDefault(require("./fetchAuthorizationToken"));
39
39
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
41
 
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
43
 
44
44
  function _default() {
45
45
  return _ref.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/BingSpeech/index.js"],"names":["createSpeechRecognitionPonyfill","createSpeechSynthesisPonyfill"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;iFAEe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAEDA,6DAFC;;AAAA;AAAA;AAAA;AAAA;AAAA,mBAGDC,2DAHC;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import createSpeechRecognitionPonyfill from './SpeechToText/createSpeechRecognitionPonyfill';\nimport createSpeechSynthesisPonyfill from './TextToSpeech/createSpeechSynthesisPonyfill';\nimport fetchAuthorizationToken from './fetchAuthorizationToken';\n\nexport default async function (...args) {\n return await {\n ...(await createSpeechRecognitionPonyfill(...args)),\n ...(await createSpeechSynthesisPonyfill(...args))\n };\n}\n\nexport {\n createSpeechRecognitionPonyfill,\n createSpeechSynthesisPonyfill,\n fetchAuthorizationToken\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["createSpeechRecognitionPonyfill","createSpeechSynthesisPonyfill"],"sources":["../../src/BingSpeech/index.js"],"sourcesContent":["import createSpeechRecognitionPonyfill from './SpeechToText/createSpeechRecognitionPonyfill';\nimport createSpeechSynthesisPonyfill from './TextToSpeech/createSpeechSynthesisPonyfill';\nimport fetchAuthorizationToken from './fetchAuthorizationToken';\n\nexport default async function (...args) {\n return await {\n ...(await createSpeechRecognitionPonyfill(...args)),\n ...(await createSpeechSynthesisPonyfill(...args))\n };\n}\n\nexport {\n createSpeechRecognitionPonyfill,\n createSpeechSynthesisPonyfill,\n fetchAuthorizationToken\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;iFAEe;IAAA;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA;YAAA;YAAA;YAAA,OAEDA,wCAAA,qBAFC;;UAAA;YAAA;YAAA;YAAA;YAAA,OAGDC,sCAAA,qBAHC;;UAAA;YAAA;YAAA;YAAA;;UAAA;YAAA;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SpeechServices/SpeechSDK.js"],"names":["AudioConfig","OutputFormat","ResultReason","SpeechConfig","SpeechRecognizer"],"mappings":";;;;;;;AAEA;;AAFA;eAUe;AACbA,EAAAA,WAAW,EAAXA,6CADa;AAEbC,EAAAA,YAAY,EAAZA,8CAFa;AAGbC,EAAAA,YAAY,EAAZA,8CAHa;AAIbC,EAAAA,YAAY,EAAZA,8CAJa;AAKbC,EAAAA,gBAAgB,EAAhBA;AALa,C","sourcesContent":["// We are only importing what we need.\n\nimport {\n AudioConfig,\n OutputFormat,\n ResultReason,\n SpeechConfig,\n SpeechRecognizer\n} from 'microsoft-cognitiveservices-speech-sdk/distrib/lib/microsoft.cognitiveservices.speech.sdk';\n\nexport default {\n AudioConfig,\n OutputFormat,\n ResultReason,\n SpeechConfig,\n SpeechRecognizer\n};\n"],"file":"SpeechSDK.js"}
1
+ {"version":3,"file":"SpeechSDK.js","names":["AudioConfig","OutputFormat","ResultReason","SpeechConfig","SpeechRecognizer"],"sources":["../../src/SpeechServices/SpeechSDK.js"],"sourcesContent":["// We are only importing what we need.\n\nimport {\n AudioConfig,\n OutputFormat,\n ResultReason,\n SpeechConfig,\n SpeechRecognizer\n} from 'microsoft-cognitiveservices-speech-sdk/distrib/lib/microsoft.cognitiveservices.speech.sdk';\n\nexport default {\n AudioConfig,\n OutputFormat,\n ResultReason,\n SpeechConfig,\n SpeechRecognizer\n};\n"],"mappings":";;;;;;;AAEA;;AAFA;eAUe;EACbA,WAAW,EAAXA,6CADa;EAEbC,YAAY,EAAZA,8CAFa;EAGbC,YAAY,EAAZA,8CAHa;EAIbC,YAAY,EAAZA,8CAJa;EAKbC,gBAAgB,EAAhBA;AALa,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/SpeechToText/SpeechGrammarList.js"],"names":["_phrases","Error","value","Array","isArray"],"mappings":";;;;;;;;;;;;;AAAA;;AAGE,sBAAc;AAAA;AACZ,SAAKA,QAAL,GAAgB,EAAhB;AACD;;;;WAED,yBAAgB;AACd,YAAM,IAAIC,KAAJ,CAAU,uBAAV,CAAN;AACD;;;SAED,eAAc;AACZ,aAAO,KAAKD,QAAZ;AACD,K;SAED,aAAYE,KAAZ,EAAmB;AACjB,UAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,aAAKF,QAAL,GAAgBE,KAAhB;AACD,OAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AACpC,aAAKF,QAAL,GAAgB,CAACE,KAAD,CAAhB;AACD,OAFM,MAEA;AACL,cAAM,IAAID,KAAJ,0DAAN;AACD;AACF","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n\nexport default class {\n constructor() {\n this._phrases = [];\n }\n\n addFromString() {\n throw new Error('JSGF is not supported');\n }\n\n get phrases() {\n return this._phrases;\n }\n\n set phrases(value) {\n if (Array.isArray(value)) {\n this._phrases = value;\n } else if (typeof value === 'string') {\n this._phrases = [value];\n } else {\n throw new Error(`The provided value is not an array or of type 'string'`);\n }\n }\n}\n"],"file":"SpeechGrammarList.js"}
1
+ {"version":3,"file":"SpeechGrammarList.js","names":["_phrases","Error","value","Array","isArray"],"sources":["../../../src/SpeechServices/SpeechToText/SpeechGrammarList.js"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n\nexport default class {\n constructor() {\n this._phrases = [];\n }\n\n addFromString() {\n throw new Error('JSGF is not supported');\n }\n\n get phrases() {\n return this._phrases;\n }\n\n set phrases(value) {\n if (Array.isArray(value)) {\n this._phrases = value;\n } else if (typeof value === 'string') {\n this._phrases = [value];\n } else {\n throw new Error(`The provided value is not an array or of type 'string'`);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;;EAGE,oBAAc;IAAA;IACZ,KAAKA,QAAL,GAAgB,EAAhB;EACD;;;;WAED,yBAAgB;MACd,MAAM,IAAIC,KAAJ,CAAU,uBAAV,CAAN;IACD;;;SAED,eAAc;MACZ,OAAO,KAAKD,QAAZ;IACD,C;SAED,aAAYE,KAAZ,EAAmB;MACjB,IAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;QACxB,KAAKF,QAAL,GAAgBE,KAAhB;MACD,CAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;QACpC,KAAKF,QAAL,GAAgB,CAACE,KAAD,CAAhB;MACD,CAFM,MAEA;QACL,MAAM,IAAID,KAAJ,0DAAN;MACD;IACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/SpeechToText/cognitiveServiceEventResultToWebSpeechRecognitionResultList.js"],"names":["SpeechSDK","ResultReason","RecognizingSpeech","RecognizedSpeech","result","maxAlternatives","Infinity","textNormalization","reason","json","NBest","resultList","confidence","transcript","text","isFinal","slice","map","Confidence","display","Display","itn","ITN","lexical","Lexical","maskedITN","MaskedITN"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,4BAEIA,kBAFJ,CACEC,YADF;AAAA,IACkBC,iBADlB,yBACkBA,iBADlB;AAAA,IACqCC,gBADrC,yBACqCA,gBADrC;;AAIe,kBAASC,MAAT,EAAqF;AAAA,iFAAJ,EAAI;AAAA,kCAAlEC,eAAkE;AAAA,MAAlEA,eAAkE,qCAAhDC,QAAgD;AAAA,mCAAtCC,iBAAsC;AAAA,MAAtCA,iBAAsC,sCAAlB,SAAkB;;AAClG,MAAIH,MAAM,CAACI,MAAP,KAAkBN,iBAAlB,IAAwCE,MAAM,CAACI,MAAP,KAAkBL,gBAAlB,IAAsC,CAACC,MAAM,CAACK,IAAP,CAAYC,KAA/F,EAAuG;AACrG,QAAMC,UAAU,GAAG,CACjB;AACEC,MAAAA,UAAU,EAAE,GADd;AAEEC,MAAAA,UAAU,EAAET,MAAM,CAACU;AAFrB,KADiB,CAAnB;;AAOA,QAAIV,MAAM,CAACI,MAAP,KAAkBL,gBAAtB,EAAwC;AACtCQ,MAAAA,UAAU,CAACI,OAAX,GAAqB,IAArB;AACD;;AAED,WAAOJ,UAAP;AACD,GAbD,MAaO,IAAIP,MAAM,CAACI,MAAP,KAAkBL,gBAAtB,EAAwC;AAC7C,QAAMQ,WAAU,GAAG,yBACjB,CAACP,MAAM,CAACK,IAAP,CAAYC,KAAZ,IAAqB,EAAtB,EACGM,KADH,CACS,CADT,EACYX,eADZ,EAEGY,GAFH,CAEO;AAAA,UAAeL,UAAf,SAAGM,UAAH;AAAA,UAAoCC,OAApC,SAA2BC,OAA3B;AAAA,UAAkDC,GAAlD,SAA6CC,GAA7C;AAAA,UAAgEC,OAAhE,SAAuDC,OAAvD;AAAA,UAAoFC,SAApF,SAAyEC,SAAzE;AAAA,aAAqG;AACxGd,QAAAA,UAAU,EAAVA,UADwG;AAExGC,QAAAA,UAAU,EACRN,iBAAiB,KAAK,KAAtB,GACIc,GADJ,GAEId,iBAAiB,KAAK,SAAtB,GACAgB,OADA,GAEAhB,iBAAiB,KAAK,WAAtB,GACAkB,SADA,GAEAN;AATkG,OAArG;AAAA,KAFP,CADiB,EAcjB;AAAEJ,MAAAA,OAAO,EAAE;AAAX,KAdiB,CAAnB;;AAiBA,WAAOJ,WAAP;AACD;;AAED,SAAO,EAAP;AACD","sourcesContent":["import arrayToMap from '../../Util/arrayToMap';\nimport SpeechSDK from '../SpeechSDK';\n\nconst {\n ResultReason: { RecognizingSpeech, RecognizedSpeech }\n} = SpeechSDK;\n\nexport default function(result, { maxAlternatives = Infinity, textNormalization = 'display' } = {}) {\n if (result.reason === RecognizingSpeech || (result.reason === RecognizedSpeech && !result.json.NBest)) {\n const resultList = [\n {\n confidence: 0.5,\n transcript: result.text\n }\n ];\n\n if (result.reason === RecognizedSpeech) {\n resultList.isFinal = true;\n }\n\n return resultList;\n } else if (result.reason === RecognizedSpeech) {\n const resultList = arrayToMap(\n (result.json.NBest || [])\n .slice(0, maxAlternatives)\n .map(({ Confidence: confidence, Display: display, ITN: itn, Lexical: lexical, MaskedITN: maskedITN }) => ({\n confidence,\n transcript:\n textNormalization === 'itn'\n ? itn\n : textNormalization === 'lexical'\n ? lexical\n : textNormalization === 'maskeditn'\n ? maskedITN\n : display\n })),\n { isFinal: true }\n );\n\n return resultList;\n }\n\n return [];\n}\n"],"file":"cognitiveServiceEventResultToWebSpeechRecognitionResultList.js"}
1
+ {"version":3,"file":"cognitiveServiceEventResultToWebSpeechRecognitionResultList.js","names":["SpeechSDK","ResultReason","RecognizingSpeech","RecognizedSpeech","result","maxAlternatives","Infinity","textNormalization","reason","json","NBest","resultList","confidence","transcript","text","isFinal","arrayToMap","slice","map","Confidence","display","Display","itn","ITN","lexical","Lexical","maskedITN","MaskedITN"],"sources":["../../../src/SpeechServices/SpeechToText/cognitiveServiceEventResultToWebSpeechRecognitionResultList.js"],"sourcesContent":["import arrayToMap from '../../Util/arrayToMap';\nimport SpeechSDK from '../SpeechSDK';\n\nconst {\n ResultReason: { RecognizingSpeech, RecognizedSpeech }\n} = SpeechSDK;\n\nexport default function(result, { maxAlternatives = Infinity, textNormalization = 'display' } = {}) {\n if (result.reason === RecognizingSpeech || (result.reason === RecognizedSpeech && !result.json.NBest)) {\n const resultList = [\n {\n confidence: 0.5,\n transcript: result.text\n }\n ];\n\n if (result.reason === RecognizedSpeech) {\n resultList.isFinal = true;\n }\n\n return resultList;\n } else if (result.reason === RecognizedSpeech) {\n const resultList = arrayToMap(\n (result.json.NBest || [])\n .slice(0, maxAlternatives)\n .map(({ Confidence: confidence, Display: display, ITN: itn, Lexical: lexical, MaskedITN: maskedITN }) => ({\n confidence,\n transcript:\n textNormalization === 'itn'\n ? itn\n : textNormalization === 'lexical'\n ? lexical\n : textNormalization === 'maskeditn'\n ? maskedITN\n : display\n })),\n { isFinal: true }\n );\n\n return resultList;\n }\n\n return [];\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,4BAEIA,kBAFJ,CACEC,YADF;AAAA,IACkBC,iBADlB,yBACkBA,iBADlB;AAAA,IACqCC,gBADrC,yBACqCA,gBADrC;;AAIe,kBAASC,MAAT,EAAqF;EAAA,+EAAJ,EAAI;EAAA,gCAAlEC,eAAkE;EAAA,IAAlEA,eAAkE,qCAAhDC,QAAgD;EAAA,iCAAtCC,iBAAsC;EAAA,IAAtCA,iBAAsC,sCAAlB,SAAkB;;EAClG,IAAIH,MAAM,CAACI,MAAP,KAAkBN,iBAAlB,IAAwCE,MAAM,CAACI,MAAP,KAAkBL,gBAAlB,IAAsC,CAACC,MAAM,CAACK,IAAP,CAAYC,KAA/F,EAAuG;IACrG,IAAMC,UAAU,GAAG,CACjB;MACEC,UAAU,EAAE,GADd;MAEEC,UAAU,EAAET,MAAM,CAACU;IAFrB,CADiB,CAAnB;;IAOA,IAAIV,MAAM,CAACI,MAAP,KAAkBL,gBAAtB,EAAwC;MACtCQ,UAAU,CAACI,OAAX,GAAqB,IAArB;IACD;;IAED,OAAOJ,UAAP;EACD,CAbD,MAaO,IAAIP,MAAM,CAACI,MAAP,KAAkBL,gBAAtB,EAAwC;IAC7C,IAAMQ,WAAU,GAAG,IAAAK,mBAAA,EACjB,CAACZ,MAAM,CAACK,IAAP,CAAYC,KAAZ,IAAqB,EAAtB,EACGO,KADH,CACS,CADT,EACYZ,eADZ,EAEGa,GAFH,CAEO;MAAA,IAAeN,UAAf,SAAGO,UAAH;MAAA,IAAoCC,OAApC,SAA2BC,OAA3B;MAAA,IAAkDC,GAAlD,SAA6CC,GAA7C;MAAA,IAAgEC,OAAhE,SAAuDC,OAAvD;MAAA,IAAoFC,SAApF,SAAyEC,SAAzE;MAAA,OAAqG;QACxGf,UAAU,EAAVA,UADwG;QAExGC,UAAU,EACRN,iBAAiB,KAAK,KAAtB,GACIe,GADJ,GAEIf,iBAAiB,KAAK,SAAtB,GACAiB,OADA,GAEAjB,iBAAiB,KAAK,WAAtB,GACAmB,SADA,GAEAN;MATkG,CAArG;IAAA,CAFP,CADiB,EAcjB;MAAEL,OAAO,EAAE;IAAX,CAdiB,CAAnB;;IAiBA,OAAOJ,WAAP;EACD;;EAED,OAAO,EAAP;AACD"}
@@ -12,12 +12,12 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
12
12
 
13
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
14
 
15
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
16
-
17
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
16
 
19
17
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
20
18
 
19
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
20
+
21
21
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
22
22
 
23
23
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -38,9 +38,9 @@ var _SpeechGrammarList = _interopRequireDefault(require("./SpeechGrammarList"));
38
38
 
39
39
  var _SpeechSDK = _interopRequireDefault(require("../SpeechSDK"));
40
40
 
41
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
42
42
 
43
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
44
44
 
45
45
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
46
46
 
@@ -137,7 +137,7 @@ var SpeechRecognitionEvent = /*#__PURE__*/function (_Event) {
137
137
  return _this;
138
138
  }
139
139
 
140
- return SpeechRecognitionEvent;
140
+ return (0, _createClass2.default)(SpeechRecognitionEvent);
141
141
  }(_es.Event);
142
142
 
143
143
  function prepareAudioConfig(audioConfig) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/SpeechToText/createSpeechRecognitionPonyfill.js"],"names":["AudioConfig","SpeechSDK","OutputFormat","ResultReason","SpeechConfig","SpeechRecognizer","serializeRecognitionResult","duration","errorDetails","json","offset","properties","reason","resultId","text","JSON","parse","averageAmplitude","arrayBuffer","array","Int16Array","reduce","call","amplitude","Math","abs","length","cognitiveServicesAsyncToPromise","fn","args","Promise","resolve","reject","SpeechRecognitionEvent","type","data","emma","interpretation","resultIndex","results","Event","prepareAudioConfig","audioConfig","originalAttach","attach","boundOriginalAttach","bind","firstChunk","muted","reader","read","chunk","buffer","events","onEvent","name","ArrayBuffer","isEnd","timeReceived","Date","now","pause","unprepare","createSpeechRecognitionPonyfillFromRecognizer","createRecognizer","enableTelemetry","looseEvents","referenceGrammars","textNormalization","SpeechRecognition","_continuous","_interimResults","_lang","window","document","documentElement","getAttribute","navigator","language","_grammars","SpeechGrammarList","_maxAlternatives","event","dispatchEvent","value","Error","_startOnce","catch","err","ErrorEvent","error","message","stack","lang","recognizer","queue","push","audioSourceReady","audioSourceOff","firstAudibleChunk","detachAudioConfigEvent","detach","canceled","_","sessionId","recognized","result","recognizing","sessionStarted","sessionStopped","speechStartDetected","speechEndDetected","phrases","grammars","dynamicGrammar","privReco","addReferenceGrammar","addPhrase","startContinuousRecognitionAsync","stopContinuousRecognitionAsync","abort","stop","undefined","finalizedResults","loop","shift","Object","keys","forEach","emitCognitiveServices","errorMessage","test","finalEvent","audioStarted","stopping","soundStarted","speechStarted","NoMatch","maxAlternatives","recognizable","transcript","continuous","interimResults","console","dispose","EventTarget","options","fromDefaultMicrophoneInput","fetchCredentials","speechRecognitionEndpointId","mediaDevices","getUserMedia","warn","authorizationToken","region","speechRecognitionHostname","subscriptionKey","host","hostname","port","protocol","speechConfig","fromHost","fromAuthorizationToken","fromSubscription","endpointId","outputFormat","Detailed","speechRecognitionLanguage"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint complexity: [\"error\", 70] */\n/* eslint no-await-in-loop: \"off\" */\n/* eslint no-empty-function: \"off\" */\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 100, 150] }] */\n\nimport { Event, EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\n\nimport cognitiveServiceEventResultToWebSpeechRecognitionResultList from './cognitiveServiceEventResultToWebSpeechRecognitionResultList';\nimport createPromiseQueue from '../../Util/createPromiseQueue';\nimport patchOptions from '../patchOptions';\nimport SpeechGrammarList from './SpeechGrammarList';\nimport SpeechSDK from '../SpeechSDK';\n\n// https://docs.microsoft.com/en-us/javascript/api/microsoft-cognitiveservices-speech-sdk/speechconfig?view=azure-node-latest#outputformat\n// {\n// \"RecognitionStatus\": \"Success\",\n// \"Offset\": 900000,\n// \"Duration\": 49000000,\n// \"NBest\": [\n// {\n// \"Confidence\": 0.738919,\n// \"Lexical\": \"second\",\n// \"ITN\": \"second\",\n// \"MaskedITN\": \"second\",\n// \"Display\": \"Second.\"\n// }\n// ]\n// }\n\n// {\n// \"RecognitionStatus\": \"InitialSilenceTimeout\",\n// \"Offset\": 50000000,\n// \"Duration\": 0\n// }\n\nconst { AudioConfig, OutputFormat, ResultReason, SpeechConfig, SpeechRecognizer } = SpeechSDK;\n\nfunction serializeRecognitionResult({ duration, errorDetails, json, offset, properties, reason, resultId, text }) {\n return {\n duration,\n errorDetails,\n json: JSON.parse(json),\n offset,\n properties,\n reason,\n resultId,\n text\n };\n}\n\nfunction averageAmplitude(arrayBuffer) {\n const array = new Int16Array(arrayBuffer);\n\n return (\n [].reduce.call(array, (averageAmplitude, amplitude) => averageAmplitude + Math.abs(amplitude), 0) / array.length\n );\n}\n\nfunction cognitiveServicesAsyncToPromise(fn) {\n return (...args) => new Promise((resolve, reject) => fn(...args, resolve, reject));\n}\n\nclass SpeechRecognitionEvent extends Event {\n constructor(type, { data, emma, interpretation, resultIndex, results } = {}) {\n super(type);\n\n this.data = data;\n this.emma = emma;\n this.interpretation = interpretation;\n this.resultIndex = resultIndex;\n this.results = results;\n }\n}\n\nfunction prepareAudioConfig(audioConfig) {\n const originalAttach = audioConfig.attach;\n const boundOriginalAttach = audioConfig.attach.bind(audioConfig);\n let firstChunk;\n let muted;\n\n // We modify \"attach\" function and detect when audible chunk is read.\n // We will only modify \"attach\" function once.\n audioConfig.attach = async () => {\n const reader = await boundOriginalAttach();\n\n return {\n ...reader,\n read: async () => {\n const chunk = await reader.read();\n\n // The magic number 150 is measured by:\n // 1. Set microphone volume to 0\n // 2. Observe the amplitude (100-110) for the first few chunks\n // (There is a short static caught when turning on the microphone)\n // 3. Set the number a bit higher than the observation\n\n if (!firstChunk && averageAmplitude(chunk.buffer) > 150) {\n audioConfig.events.onEvent({ name: 'FirstAudibleChunk' });\n firstChunk = true;\n }\n\n if (muted) {\n return { buffer: new ArrayBuffer(0), isEnd: true, timeReceived: Date.now() };\n }\n\n return chunk;\n }\n };\n };\n\n return {\n audioConfig,\n pause: () => {\n muted = true;\n },\n unprepare: () => {\n audioConfig.attach = originalAttach;\n }\n };\n}\n\nexport function createSpeechRecognitionPonyfillFromRecognizer({\n createRecognizer,\n enableTelemetry,\n looseEvents,\n referenceGrammars,\n textNormalization\n}) {\n // If enableTelemetry is set to null or non-boolean, we will default to true.\n SpeechRecognizer.enableTelemetry(enableTelemetry !== false);\n\n class SpeechRecognition extends EventTarget {\n constructor() {\n super();\n\n this._continuous = false;\n this._interimResults = false;\n this._lang =\n typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang') || window.navigator.language\n : 'en-US';\n this._grammars = new SpeechGrammarList();\n this._maxAlternatives = 1;\n }\n\n emitCognitiveServices(type, event) {\n this.dispatchEvent(\n new SpeechRecognitionEvent('cognitiveservices', {\n data: {\n ...event,\n type\n }\n })\n );\n }\n\n get continuous() {\n return this._continuous;\n }\n\n set continuous(value) {\n this._continuous = value;\n }\n\n get grammars() {\n return this._grammars;\n }\n\n set grammars(value) {\n if (value instanceof SpeechGrammarList) {\n this._grammars = value;\n } else {\n throw new Error(`The provided value is not of type 'SpeechGrammarList'`);\n }\n }\n\n get interimResults() {\n return this._interimResults;\n }\n\n set interimResults(value) {\n this._interimResults = value;\n }\n\n get maxAlternatives() {\n return this._maxAlternatives;\n }\n\n set maxAlternatives(value) {\n this._maxAlternatives = value;\n }\n\n get lang() {\n return this._lang;\n }\n\n set lang(value) {\n this._lang = value;\n }\n\n get onaudioend() {\n return getEventAttributeValue(this, 'audioend');\n }\n\n set onaudioend(value) {\n setEventAttributeValue(this, 'audioend', value);\n }\n\n get onaudiostart() {\n return getEventAttributeValue(this, 'audiostart');\n }\n\n set onaudiostart(value) {\n setEventAttributeValue(this, 'audiostart', value);\n }\n\n get oncognitiveservices() {\n return getEventAttributeValue(this, 'cognitiveservices');\n }\n\n set oncognitiveservices(value) {\n setEventAttributeValue(this, 'cognitiveservices', value);\n }\n\n get onend() {\n return getEventAttributeValue(this, 'end');\n }\n\n set onend(value) {\n setEventAttributeValue(this, 'end', value);\n }\n\n get onerror() {\n return getEventAttributeValue(this, 'error');\n }\n\n set onerror(value) {\n setEventAttributeValue(this, 'error', value);\n }\n\n get onresult() {\n return getEventAttributeValue(this, 'result');\n }\n\n set onresult(value) {\n setEventAttributeValue(this, 'result', value);\n }\n\n get onsoundend() {\n return getEventAttributeValue(this, 'soundend');\n }\n\n set onsoundend(value) {\n setEventAttributeValue(this, 'soundend', value);\n }\n\n get onsoundstart() {\n return getEventAttributeValue(this, 'soundstart');\n }\n\n set onsoundstart(value) {\n setEventAttributeValue(this, 'soundstart', value);\n }\n\n get onspeechend() {\n return getEventAttributeValue(this, 'speechend');\n }\n\n set onspeechend(value) {\n setEventAttributeValue(this, 'speechend', value);\n }\n\n get onspeechstart() {\n return getEventAttributeValue(this, 'speechstart');\n }\n\n set onspeechstart(value) {\n setEventAttributeValue(this, 'speechstart', value);\n }\n\n get onstart() {\n return getEventAttributeValue(this, 'start');\n }\n\n set onstart(value) {\n setEventAttributeValue(this, 'start', value);\n }\n\n start() {\n this._startOnce().catch(err => {\n this.dispatchEvent(new ErrorEvent('error', { error: err, message: err && (err.stack || err.message) }));\n });\n }\n\n async _startOnce() {\n // TODO: [P2] Should check if recognition is active, we should not start recognition twice\n const recognizer = await createRecognizer(this.lang);\n\n const { pause, unprepare } = prepareAudioConfig(recognizer.audioConfig);\n\n try {\n const queue = createPromiseQueue();\n let soundStarted;\n let speechStarted;\n let stopping;\n\n const { detach: detachAudioConfigEvent } = recognizer.audioConfig.events.attach(event => {\n const { name } = event;\n\n if (name === 'AudioSourceReadyEvent') {\n queue.push({ audioSourceReady: {} });\n } else if (name === 'AudioSourceOffEvent') {\n queue.push({ audioSourceOff: {} });\n } else if (name === 'FirstAudibleChunk') {\n queue.push({ firstAudibleChunk: {} });\n }\n });\n\n recognizer.canceled = (_, { errorDetails, offset, reason, sessionId }) => {\n queue.push({\n canceled: {\n errorDetails,\n offset,\n reason,\n sessionId\n }\n });\n };\n\n recognizer.recognized = (_, { offset, result, sessionId }) => {\n queue.push({\n recognized: {\n offset,\n result: serializeRecognitionResult(result),\n sessionId\n }\n });\n };\n\n recognizer.recognizing = (_, { offset, result, sessionId }) => {\n queue.push({\n recognizing: {\n offset,\n result: serializeRecognitionResult(result),\n sessionId\n }\n });\n };\n\n recognizer.sessionStarted = (_, { sessionId }) => {\n queue.push({ sessionStarted: { sessionId } });\n };\n\n recognizer.sessionStopped = (_, { sessionId }) => {\n // \"sessionStopped\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n queue.push({ sessionStopped: { sessionId } });\n };\n\n recognizer.speechStartDetected = (_, { offset, sessionId }) => {\n queue.push({ speechStartDetected: { offset, sessionId } });\n };\n\n recognizer.speechEndDetected = (_, { sessionId }) => {\n // \"speechEndDetected\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n // Update: \"speechEndDetected\" is fired for DLSpeech.listenOnceAsync()\n queue.push({ speechEndDetected: { sessionId } });\n };\n\n const { phrases } = this.grammars;\n\n // HACK: We are using the internal of SpeechRecognizer because they did not expose it\n const { dynamicGrammar } = recognizer.privReco;\n\n referenceGrammars && referenceGrammars.length && dynamicGrammar.addReferenceGrammar(referenceGrammars);\n phrases && phrases.length && dynamicGrammar.addPhrase(phrases);\n\n await cognitiveServicesAsyncToPromise(recognizer.startContinuousRecognitionAsync.bind(recognizer))();\n\n if (recognizer.stopContinuousRecognitionAsync) {\n this.abort = () => queue.push({ abort: {} });\n this.stop = () => queue.push({ stop: {} });\n } else {\n this.abort = this.stop = undefined;\n }\n\n let audioStarted;\n let finalEvent;\n let finalizedResults = [];\n\n for (let loop = 0; !stopping || audioStarted; loop++) {\n const event = await queue.shift();\n const {\n abort,\n audioSourceOff,\n audioSourceReady,\n canceled,\n firstAudibleChunk,\n recognized,\n recognizing,\n stop\n } = event;\n\n // We are emitting event \"cognitiveservices\" for debugging purpose.\n Object.keys(event).forEach(name => this.emitCognitiveServices(name, event[name]));\n\n const errorMessage = canceled && canceled.errorDetails;\n\n if (/Permission\\sdenied/u.test(errorMessage || '')) {\n // If microphone is not allowed, we should not emit \"start\" event.\n\n finalEvent = {\n error: 'not-allowed',\n type: 'error'\n };\n\n break;\n }\n\n if (!loop) {\n this.dispatchEvent(new SpeechRecognitionEvent('start'));\n }\n\n if (errorMessage) {\n if (/1006/u.test(errorMessage)) {\n if (!audioStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n finalEvent = {\n error: 'network',\n type: 'error'\n };\n } else {\n finalEvent = {\n error: 'unknown',\n type: 'error'\n };\n }\n\n break;\n } else if (abort || stop) {\n if (abort) {\n finalEvent = {\n error: 'aborted',\n type: 'error'\n };\n\n // If we are aborting, we will ignore lingering recognizing/recognized events. But if we are stopping, we need them.\n stopping = 'abort';\n } else {\n // When we pause, we will send { isEnd: true }, Speech Services will send us \"recognized\" event.\n pause();\n stopping = 'stop';\n }\n\n // Abort should not be dispatched without support of \"stopContinuousRecognitionAsync\".\n // But for defensive purpose, we make sure \"stopContinuousRecognitionAsync\" is available before we can call.\n if (abort && recognizer.stopContinuousRecognitionAsync) {\n await cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n }\n } else if (audioSourceReady) {\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n } else if (firstAudibleChunk) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n } else if (audioSourceOff) {\n // Looks like we don't need this line and all the tests are still working.\n // Guessing probably stopping is already truthy.\n // stopping = true;\n\n speechStarted && this.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n soundStarted && this.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n audioStarted && this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n\n audioStarted = soundStarted = speechStarted = false;\n\n break;\n } else if (stopping !== 'abort') {\n if (recognized && recognized.result && recognized.result.reason === ResultReason.NoMatch) {\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n } else if (recognized || recognizing) {\n if (!audioStarted) {\n // Unconfirmed prevention of quirks\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n }\n\n if (!soundStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n }\n\n if (!speechStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('speechstart'));\n\n speechStarted = true;\n }\n\n if (recognized) {\n const result = cognitiveServiceEventResultToWebSpeechRecognitionResultList(recognized.result, {\n maxAlternatives: this.maxAlternatives,\n textNormalization\n });\n\n const recognizable = !!result[0].transcript;\n\n if (recognizable) {\n finalizedResults = [...finalizedResults, result];\n\n this.continuous &&\n this.dispatchEvent(\n new SpeechRecognitionEvent('result', {\n results: finalizedResults\n })\n );\n }\n\n // If it is continuous, we just sent the finalized results. So we don't need to send it again after \"audioend\" event.\n if (this.continuous && recognizable) {\n finalEvent = null;\n } else {\n finalEvent = {\n results: finalizedResults,\n type: 'result'\n };\n }\n\n if (!this.continuous && recognizer.stopContinuousRecognitionAsync) {\n await cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n }\n\n // If event order can be loosened, we can send the recognized event as soon as we receive it.\n // 1. If it is not recognizable (no-speech), we should send an \"error\" event just before \"end\" event. We will not loosen \"error\" events.\n if (looseEvents && finalEvent && recognizable) {\n this.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n finalEvent = null;\n }\n } else if (recognizing) {\n this.interimResults &&\n this.dispatchEvent(\n new SpeechRecognitionEvent('result', {\n results: [\n ...finalizedResults,\n cognitiveServiceEventResultToWebSpeechRecognitionResultList(recognizing.result, {\n maxAlternatives: this.maxAlternatives,\n textNormalization\n })\n ]\n })\n );\n }\n }\n }\n }\n\n if (speechStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n }\n\n if (soundStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n }\n\n if (audioStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n if (finalEvent) {\n if (finalEvent.type === 'result' && !finalEvent.results.length) {\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n }\n\n if (finalEvent.type === 'error') {\n this.dispatchEvent(new ErrorEvent('error', finalEvent));\n } else {\n this.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n }\n }\n\n // Even though there is no \"start\" event emitted, we will still emit \"end\" event\n // This is mainly for \"microphone blocked\" story.\n this.dispatchEvent(new SpeechRecognitionEvent('end'));\n\n detachAudioConfigEvent();\n } catch (err) {\n // Logging out the erorr because Speech SDK would fail silently.\n console.error(err);\n\n throw err;\n } finally {\n unprepare();\n recognizer.dispose();\n }\n }\n }\n\n return {\n SpeechGrammarList,\n SpeechRecognition,\n SpeechRecognitionEvent\n };\n}\n\nexport default options => {\n const {\n audioConfig = AudioConfig.fromDefaultMicrophoneInput(),\n\n // We set telemetry to true to honor the default telemetry settings of Speech SDK\n // https://github.com/Microsoft/cognitive-services-speech-sdk-js#data--telemetry\n enableTelemetry = true,\n\n fetchCredentials,\n looseEvents,\n referenceGrammars,\n speechRecognitionEndpointId,\n textNormalization = 'display'\n } = patchOptions(options);\n\n if (!audioConfig && (!window.navigator.mediaDevices || !window.navigator.mediaDevices.getUserMedia)) {\n console.warn(\n 'web-speech-cognitive-services: This browser does not support WebRTC and it will not work with Cognitive Services Speech Services.'\n );\n\n return {};\n }\n\n const createRecognizer = async lang => {\n const { authorizationToken, region, speechRecognitionHostname, subscriptionKey } = await fetchCredentials();\n let speechConfig;\n\n if (speechRecognitionHostname) {\n const host = { hostname: speechRecognitionHostname, port: 443, protocol: 'wss:' };\n\n if (authorizationToken) {\n speechConfig = SpeechConfig.fromHost(host);\n speechConfig.authorizationToken = authorizationToken;\n } else {\n speechConfig = SpeechConfig.fromHost(host, subscriptionKey);\n }\n } else {\n speechConfig = authorizationToken\n ? SpeechConfig.fromAuthorizationToken(authorizationToken, region)\n : SpeechConfig.fromSubscription(subscriptionKey, region);\n }\n\n if (speechRecognitionEndpointId) {\n speechConfig.endpointId = speechRecognitionEndpointId;\n }\n\n speechConfig.outputFormat = OutputFormat.Detailed;\n speechConfig.speechRecognitionLanguage = lang || 'en-US';\n\n return new SpeechRecognizer(speechConfig, audioConfig);\n };\n\n return createSpeechRecognitionPonyfillFromRecognizer({\n audioConfig,\n createRecognizer,\n enableTelemetry,\n looseEvents,\n referenceGrammars,\n textNormalization\n });\n};\n"],"file":"createSpeechRecognitionPonyfill.js"}
1
+ {"version":3,"file":"createSpeechRecognitionPonyfill.js","names":["AudioConfig","SpeechSDK","OutputFormat","ResultReason","SpeechConfig","SpeechRecognizer","serializeRecognitionResult","duration","errorDetails","json","offset","properties","reason","resultId","text","JSON","parse","averageAmplitude","arrayBuffer","array","Int16Array","reduce","call","amplitude","Math","abs","length","cognitiveServicesAsyncToPromise","fn","args","Promise","resolve","reject","SpeechRecognitionEvent","type","data","emma","interpretation","resultIndex","results","Event","prepareAudioConfig","audioConfig","originalAttach","attach","boundOriginalAttach","bind","firstChunk","muted","reader","read","chunk","buffer","events","onEvent","name","ArrayBuffer","isEnd","timeReceived","Date","now","pause","unprepare","createSpeechRecognitionPonyfillFromRecognizer","createRecognizer","enableTelemetry","looseEvents","referenceGrammars","textNormalization","SpeechRecognition","_continuous","_interimResults","_lang","window","document","documentElement","getAttribute","navigator","language","_grammars","SpeechGrammarList","_maxAlternatives","event","dispatchEvent","value","Error","getEventAttributeValue","setEventAttributeValue","_startOnce","catch","err","ErrorEvent","error","message","stack","lang","recognizer","queue","createPromiseQueue","push","audioSourceReady","audioSourceOff","firstAudibleChunk","detachAudioConfigEvent","detach","canceled","_","sessionId","recognized","result","recognizing","sessionStarted","sessionStopped","speechStartDetected","speechEndDetected","phrases","grammars","dynamicGrammar","privReco","addReferenceGrammar","addPhrase","startContinuousRecognitionAsync","stopContinuousRecognitionAsync","abort","stop","undefined","finalizedResults","loop","shift","Object","keys","forEach","emitCognitiveServices","errorMessage","test","finalEvent","audioStarted","stopping","soundStarted","speechStarted","NoMatch","cognitiveServiceEventResultToWebSpeechRecognitionResultList","maxAlternatives","recognizable","transcript","continuous","interimResults","console","dispose","EventTarget","options","patchOptions","fromDefaultMicrophoneInput","fetchCredentials","speechRecognitionEndpointId","mediaDevices","getUserMedia","warn","authorizationToken","region","speechRecognitionHostname","subscriptionKey","host","hostname","port","protocol","speechConfig","fromHost","fromAuthorizationToken","fromSubscription","endpointId","outputFormat","Detailed","speechRecognitionLanguage"],"sources":["../../../src/SpeechServices/SpeechToText/createSpeechRecognitionPonyfill.js"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n/* eslint complexity: [\"error\", 70] */\n/* eslint no-await-in-loop: \"off\" */\n/* eslint no-empty-function: \"off\" */\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 100, 150] }] */\n\nimport { Event, EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\n\nimport cognitiveServiceEventResultToWebSpeechRecognitionResultList from './cognitiveServiceEventResultToWebSpeechRecognitionResultList';\nimport createPromiseQueue from '../../Util/createPromiseQueue';\nimport patchOptions from '../patchOptions';\nimport SpeechGrammarList from './SpeechGrammarList';\nimport SpeechSDK from '../SpeechSDK';\n\n// https://docs.microsoft.com/en-us/javascript/api/microsoft-cognitiveservices-speech-sdk/speechconfig?view=azure-node-latest#outputformat\n// {\n// \"RecognitionStatus\": \"Success\",\n// \"Offset\": 900000,\n// \"Duration\": 49000000,\n// \"NBest\": [\n// {\n// \"Confidence\": 0.738919,\n// \"Lexical\": \"second\",\n// \"ITN\": \"second\",\n// \"MaskedITN\": \"second\",\n// \"Display\": \"Second.\"\n// }\n// ]\n// }\n\n// {\n// \"RecognitionStatus\": \"InitialSilenceTimeout\",\n// \"Offset\": 50000000,\n// \"Duration\": 0\n// }\n\nconst { AudioConfig, OutputFormat, ResultReason, SpeechConfig, SpeechRecognizer } = SpeechSDK;\n\nfunction serializeRecognitionResult({ duration, errorDetails, json, offset, properties, reason, resultId, text }) {\n return {\n duration,\n errorDetails,\n json: JSON.parse(json),\n offset,\n properties,\n reason,\n resultId,\n text\n };\n}\n\nfunction averageAmplitude(arrayBuffer) {\n const array = new Int16Array(arrayBuffer);\n\n return (\n [].reduce.call(array, (averageAmplitude, amplitude) => averageAmplitude + Math.abs(amplitude), 0) / array.length\n );\n}\n\nfunction cognitiveServicesAsyncToPromise(fn) {\n return (...args) => new Promise((resolve, reject) => fn(...args, resolve, reject));\n}\n\nclass SpeechRecognitionEvent extends Event {\n constructor(type, { data, emma, interpretation, resultIndex, results } = {}) {\n super(type);\n\n this.data = data;\n this.emma = emma;\n this.interpretation = interpretation;\n this.resultIndex = resultIndex;\n this.results = results;\n }\n}\n\nfunction prepareAudioConfig(audioConfig) {\n const originalAttach = audioConfig.attach;\n const boundOriginalAttach = audioConfig.attach.bind(audioConfig);\n let firstChunk;\n let muted;\n\n // We modify \"attach\" function and detect when audible chunk is read.\n // We will only modify \"attach\" function once.\n audioConfig.attach = async () => {\n const reader = await boundOriginalAttach();\n\n return {\n ...reader,\n read: async () => {\n const chunk = await reader.read();\n\n // The magic number 150 is measured by:\n // 1. Set microphone volume to 0\n // 2. Observe the amplitude (100-110) for the first few chunks\n // (There is a short static caught when turning on the microphone)\n // 3. Set the number a bit higher than the observation\n\n if (!firstChunk && averageAmplitude(chunk.buffer) > 150) {\n audioConfig.events.onEvent({ name: 'FirstAudibleChunk' });\n firstChunk = true;\n }\n\n if (muted) {\n return { buffer: new ArrayBuffer(0), isEnd: true, timeReceived: Date.now() };\n }\n\n return chunk;\n }\n };\n };\n\n return {\n audioConfig,\n pause: () => {\n muted = true;\n },\n unprepare: () => {\n audioConfig.attach = originalAttach;\n }\n };\n}\n\nexport function createSpeechRecognitionPonyfillFromRecognizer({\n createRecognizer,\n enableTelemetry,\n looseEvents,\n referenceGrammars,\n textNormalization\n}) {\n // If enableTelemetry is set to null or non-boolean, we will default to true.\n SpeechRecognizer.enableTelemetry(enableTelemetry !== false);\n\n class SpeechRecognition extends EventTarget {\n constructor() {\n super();\n\n this._continuous = false;\n this._interimResults = false;\n this._lang =\n typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang') || window.navigator.language\n : 'en-US';\n this._grammars = new SpeechGrammarList();\n this._maxAlternatives = 1;\n }\n\n emitCognitiveServices(type, event) {\n this.dispatchEvent(\n new SpeechRecognitionEvent('cognitiveservices', {\n data: {\n ...event,\n type\n }\n })\n );\n }\n\n get continuous() {\n return this._continuous;\n }\n\n set continuous(value) {\n this._continuous = value;\n }\n\n get grammars() {\n return this._grammars;\n }\n\n set grammars(value) {\n if (value instanceof SpeechGrammarList) {\n this._grammars = value;\n } else {\n throw new Error(`The provided value is not of type 'SpeechGrammarList'`);\n }\n }\n\n get interimResults() {\n return this._interimResults;\n }\n\n set interimResults(value) {\n this._interimResults = value;\n }\n\n get maxAlternatives() {\n return this._maxAlternatives;\n }\n\n set maxAlternatives(value) {\n this._maxAlternatives = value;\n }\n\n get lang() {\n return this._lang;\n }\n\n set lang(value) {\n this._lang = value;\n }\n\n get onaudioend() {\n return getEventAttributeValue(this, 'audioend');\n }\n\n set onaudioend(value) {\n setEventAttributeValue(this, 'audioend', value);\n }\n\n get onaudiostart() {\n return getEventAttributeValue(this, 'audiostart');\n }\n\n set onaudiostart(value) {\n setEventAttributeValue(this, 'audiostart', value);\n }\n\n get oncognitiveservices() {\n return getEventAttributeValue(this, 'cognitiveservices');\n }\n\n set oncognitiveservices(value) {\n setEventAttributeValue(this, 'cognitiveservices', value);\n }\n\n get onend() {\n return getEventAttributeValue(this, 'end');\n }\n\n set onend(value) {\n setEventAttributeValue(this, 'end', value);\n }\n\n get onerror() {\n return getEventAttributeValue(this, 'error');\n }\n\n set onerror(value) {\n setEventAttributeValue(this, 'error', value);\n }\n\n get onresult() {\n return getEventAttributeValue(this, 'result');\n }\n\n set onresult(value) {\n setEventAttributeValue(this, 'result', value);\n }\n\n get onsoundend() {\n return getEventAttributeValue(this, 'soundend');\n }\n\n set onsoundend(value) {\n setEventAttributeValue(this, 'soundend', value);\n }\n\n get onsoundstart() {\n return getEventAttributeValue(this, 'soundstart');\n }\n\n set onsoundstart(value) {\n setEventAttributeValue(this, 'soundstart', value);\n }\n\n get onspeechend() {\n return getEventAttributeValue(this, 'speechend');\n }\n\n set onspeechend(value) {\n setEventAttributeValue(this, 'speechend', value);\n }\n\n get onspeechstart() {\n return getEventAttributeValue(this, 'speechstart');\n }\n\n set onspeechstart(value) {\n setEventAttributeValue(this, 'speechstart', value);\n }\n\n get onstart() {\n return getEventAttributeValue(this, 'start');\n }\n\n set onstart(value) {\n setEventAttributeValue(this, 'start', value);\n }\n\n start() {\n this._startOnce().catch(err => {\n this.dispatchEvent(new ErrorEvent('error', { error: err, message: err && (err.stack || err.message) }));\n });\n }\n\n async _startOnce() {\n // TODO: [P2] Should check if recognition is active, we should not start recognition twice\n const recognizer = await createRecognizer(this.lang);\n\n const { pause, unprepare } = prepareAudioConfig(recognizer.audioConfig);\n\n try {\n const queue = createPromiseQueue();\n let soundStarted;\n let speechStarted;\n let stopping;\n\n const { detach: detachAudioConfigEvent } = recognizer.audioConfig.events.attach(event => {\n const { name } = event;\n\n if (name === 'AudioSourceReadyEvent') {\n queue.push({ audioSourceReady: {} });\n } else if (name === 'AudioSourceOffEvent') {\n queue.push({ audioSourceOff: {} });\n } else if (name === 'FirstAudibleChunk') {\n queue.push({ firstAudibleChunk: {} });\n }\n });\n\n recognizer.canceled = (_, { errorDetails, offset, reason, sessionId }) => {\n queue.push({\n canceled: {\n errorDetails,\n offset,\n reason,\n sessionId\n }\n });\n };\n\n recognizer.recognized = (_, { offset, result, sessionId }) => {\n queue.push({\n recognized: {\n offset,\n result: serializeRecognitionResult(result),\n sessionId\n }\n });\n };\n\n recognizer.recognizing = (_, { offset, result, sessionId }) => {\n queue.push({\n recognizing: {\n offset,\n result: serializeRecognitionResult(result),\n sessionId\n }\n });\n };\n\n recognizer.sessionStarted = (_, { sessionId }) => {\n queue.push({ sessionStarted: { sessionId } });\n };\n\n recognizer.sessionStopped = (_, { sessionId }) => {\n // \"sessionStopped\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n queue.push({ sessionStopped: { sessionId } });\n };\n\n recognizer.speechStartDetected = (_, { offset, sessionId }) => {\n queue.push({ speechStartDetected: { offset, sessionId } });\n };\n\n recognizer.speechEndDetected = (_, { sessionId }) => {\n // \"speechEndDetected\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n // Update: \"speechEndDetected\" is fired for DLSpeech.listenOnceAsync()\n queue.push({ speechEndDetected: { sessionId } });\n };\n\n const { phrases } = this.grammars;\n\n // HACK: We are using the internal of SpeechRecognizer because they did not expose it\n const { dynamicGrammar } = recognizer.privReco;\n\n referenceGrammars && referenceGrammars.length && dynamicGrammar.addReferenceGrammar(referenceGrammars);\n phrases && phrases.length && dynamicGrammar.addPhrase(phrases);\n\n await cognitiveServicesAsyncToPromise(recognizer.startContinuousRecognitionAsync.bind(recognizer))();\n\n if (recognizer.stopContinuousRecognitionAsync) {\n this.abort = () => queue.push({ abort: {} });\n this.stop = () => queue.push({ stop: {} });\n } else {\n this.abort = this.stop = undefined;\n }\n\n let audioStarted;\n let finalEvent;\n let finalizedResults = [];\n\n for (let loop = 0; !stopping || audioStarted; loop++) {\n const event = await queue.shift();\n const {\n abort,\n audioSourceOff,\n audioSourceReady,\n canceled,\n firstAudibleChunk,\n recognized,\n recognizing,\n stop\n } = event;\n\n // We are emitting event \"cognitiveservices\" for debugging purpose.\n Object.keys(event).forEach(name => this.emitCognitiveServices(name, event[name]));\n\n const errorMessage = canceled && canceled.errorDetails;\n\n if (/Permission\\sdenied/u.test(errorMessage || '')) {\n // If microphone is not allowed, we should not emit \"start\" event.\n\n finalEvent = {\n error: 'not-allowed',\n type: 'error'\n };\n\n break;\n }\n\n if (!loop) {\n this.dispatchEvent(new SpeechRecognitionEvent('start'));\n }\n\n if (errorMessage) {\n if (/1006/u.test(errorMessage)) {\n if (!audioStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n finalEvent = {\n error: 'network',\n type: 'error'\n };\n } else {\n finalEvent = {\n error: 'unknown',\n type: 'error'\n };\n }\n\n break;\n } else if (abort || stop) {\n if (abort) {\n finalEvent = {\n error: 'aborted',\n type: 'error'\n };\n\n // If we are aborting, we will ignore lingering recognizing/recognized events. But if we are stopping, we need them.\n stopping = 'abort';\n } else {\n // When we pause, we will send { isEnd: true }, Speech Services will send us \"recognized\" event.\n pause();\n stopping = 'stop';\n }\n\n // Abort should not be dispatched without support of \"stopContinuousRecognitionAsync\".\n // But for defensive purpose, we make sure \"stopContinuousRecognitionAsync\" is available before we can call.\n if (abort && recognizer.stopContinuousRecognitionAsync) {\n await cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n }\n } else if (audioSourceReady) {\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n } else if (firstAudibleChunk) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n } else if (audioSourceOff) {\n // Looks like we don't need this line and all the tests are still working.\n // Guessing probably stopping is already truthy.\n // stopping = true;\n\n speechStarted && this.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n soundStarted && this.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n audioStarted && this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n\n audioStarted = soundStarted = speechStarted = false;\n\n break;\n } else if (stopping !== 'abort') {\n if (recognized && recognized.result && recognized.result.reason === ResultReason.NoMatch) {\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n } else if (recognized || recognizing) {\n if (!audioStarted) {\n // Unconfirmed prevention of quirks\n this.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n }\n\n if (!soundStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n }\n\n if (!speechStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('speechstart'));\n\n speechStarted = true;\n }\n\n if (recognized) {\n const result = cognitiveServiceEventResultToWebSpeechRecognitionResultList(recognized.result, {\n maxAlternatives: this.maxAlternatives,\n textNormalization\n });\n\n const recognizable = !!result[0].transcript;\n\n if (recognizable) {\n finalizedResults = [...finalizedResults, result];\n\n this.continuous &&\n this.dispatchEvent(\n new SpeechRecognitionEvent('result', {\n results: finalizedResults\n })\n );\n }\n\n // If it is continuous, we just sent the finalized results. So we don't need to send it again after \"audioend\" event.\n if (this.continuous && recognizable) {\n finalEvent = null;\n } else {\n finalEvent = {\n results: finalizedResults,\n type: 'result'\n };\n }\n\n if (!this.continuous && recognizer.stopContinuousRecognitionAsync) {\n await cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n }\n\n // If event order can be loosened, we can send the recognized event as soon as we receive it.\n // 1. If it is not recognizable (no-speech), we should send an \"error\" event just before \"end\" event. We will not loosen \"error\" events.\n if (looseEvents && finalEvent && recognizable) {\n this.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n finalEvent = null;\n }\n } else if (recognizing) {\n this.interimResults &&\n this.dispatchEvent(\n new SpeechRecognitionEvent('result', {\n results: [\n ...finalizedResults,\n cognitiveServiceEventResultToWebSpeechRecognitionResultList(recognizing.result, {\n maxAlternatives: this.maxAlternatives,\n textNormalization\n })\n ]\n })\n );\n }\n }\n }\n }\n\n if (speechStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n }\n\n if (soundStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n }\n\n if (audioStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n if (finalEvent) {\n if (finalEvent.type === 'result' && !finalEvent.results.length) {\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n }\n\n if (finalEvent.type === 'error') {\n this.dispatchEvent(new ErrorEvent('error', finalEvent));\n } else {\n this.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n }\n }\n\n // Even though there is no \"start\" event emitted, we will still emit \"end\" event\n // This is mainly for \"microphone blocked\" story.\n this.dispatchEvent(new SpeechRecognitionEvent('end'));\n\n detachAudioConfigEvent();\n } catch (err) {\n // Logging out the erorr because Speech SDK would fail silently.\n console.error(err);\n\n throw err;\n } finally {\n unprepare();\n recognizer.dispose();\n }\n }\n }\n\n return {\n SpeechGrammarList,\n SpeechRecognition,\n SpeechRecognitionEvent\n };\n}\n\nexport default options => {\n const {\n audioConfig = AudioConfig.fromDefaultMicrophoneInput(),\n\n // We set telemetry to true to honor the default telemetry settings of Speech SDK\n // https://github.com/Microsoft/cognitive-services-speech-sdk-js#data--telemetry\n enableTelemetry = true,\n\n fetchCredentials,\n looseEvents,\n referenceGrammars,\n speechRecognitionEndpointId,\n textNormalization = 'display'\n } = patchOptions(options);\n\n if (!audioConfig && (!window.navigator.mediaDevices || !window.navigator.mediaDevices.getUserMedia)) {\n console.warn(\n 'web-speech-cognitive-services: This browser does not support WebRTC and it will not work with Cognitive Services Speech Services.'\n );\n\n return {};\n }\n\n const createRecognizer = async lang => {\n const { authorizationToken, region, speechRecognitionHostname, subscriptionKey } = await fetchCredentials();\n let speechConfig;\n\n if (speechRecognitionHostname) {\n const host = { hostname: speechRecognitionHostname, port: 443, protocol: 'wss:' };\n\n if (authorizationToken) {\n speechConfig = SpeechConfig.fromHost(host);\n speechConfig.authorizationToken = authorizationToken;\n } else {\n speechConfig = SpeechConfig.fromHost(host, subscriptionKey);\n }\n } else {\n speechConfig = authorizationToken\n ? SpeechConfig.fromAuthorizationToken(authorizationToken, region)\n : SpeechConfig.fromSubscription(subscriptionKey, region);\n }\n\n if (speechRecognitionEndpointId) {\n speechConfig.endpointId = speechRecognitionEndpointId;\n }\n\n speechConfig.outputFormat = OutputFormat.Detailed;\n speechConfig.speechRecognitionLanguage = lang || 'en-US';\n\n return new SpeechRecognizer(speechConfig, audioConfig);\n };\n\n return createSpeechRecognitionPonyfillFromRecognizer({\n audioConfig,\n createRecognizer,\n enableTelemetry,\n looseEvents,\n referenceGrammars,\n textNormalization\n });\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SpeechServices/SpeechToText.js"],"names":["createSpeechRecognitionPonyfill"],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;eAIeA,wC","sourcesContent":["import createSpeechRecognitionPonyfill, {\n createSpeechRecognitionPonyfillFromRecognizer\n} from './SpeechToText/createSpeechRecognitionPonyfill';\n\nexport default createSpeechRecognitionPonyfill;\n\nexport { createSpeechRecognitionPonyfillFromRecognizer };\n"],"file":"SpeechToText.js"}
1
+ {"version":3,"file":"SpeechToText.js","names":["createSpeechRecognitionPonyfill"],"sources":["../../src/SpeechServices/SpeechToText.js"],"sourcesContent":["import createSpeechRecognitionPonyfill, {\n createSpeechRecognitionPonyfillFromRecognizer\n} from './SpeechToText/createSpeechRecognitionPonyfill';\n\nexport default createSpeechRecognitionPonyfill;\n\nexport { createSpeechRecognitionPonyfillFromRecognizer };\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;eAIeA,wC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/AudioContextConsumer.js"],"names":["audioContext","suspend","playingUtterance","dispatchEvent","CustomEvent","resume","queue","utterance","shift","play","stop","state"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAGE,oBAAYA,YAAZ,EAA0B;AAAA;AACxB,SAAKA,YAAL,GAAoBA,YAApB;AACD;;;;WAED,iBAAQ;AACN,WAAKA,YAAL,IAAqB,KAAKA,YAAL,CAAkBC,OAAlB,EAArB;AACA,WAAKC,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBC,aAAtB,CAAoC,IAAIC,WAAJ,CAAgB,OAAhB,CAApC,CAAzB;AACD;;;WAED,kBAAS;AACP,WAAKJ,YAAL,IAAqB,KAAKA,YAAL,CAAkBK,MAAlB,EAArB;AACA,WAAKH,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBC,aAAtB,CAAoC,IAAIC,WAAJ,CAAgB,QAAhB,CAApC,CAAzB;AACD;;;;2FAED,iBAAYE,KAAZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAGUC,SAAS,GAAGD,KAAK,CAACE,KAAN,EAHtB;AAAA;AAAA;AAAA;;AAII,qBAAKN,gBAAL,GAAwBK,SAAxB;AAJJ;AAAA,uBAMUA,SAAS,CAACE,IAAV,CAAe,KAAKT,YAApB,CANV;;AAAA;AAQI,qBAAKE,gBAAL,GAAwB,IAAxB;AARJ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAYA,gBAAO;AACL,WAAKA,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBQ,IAAtB,EAAzB;;AAEA,UAAI,KAAKV,YAAL,CAAkBW,KAAlB,KAA4B,WAAhC,EAA6C;AAC3C;AACA;AAEA;AACA;AACA,aAAKX,YAAL,CAAkBK,MAAlB;AACD;AACF","sourcesContent":["/* eslint no-await-in-loop: \"off\" */\n\nexport default class {\n constructor(audioContext) {\n this.audioContext = audioContext;\n }\n\n pause() {\n this.audioContext && this.audioContext.suspend();\n this.playingUtterance && this.playingUtterance.dispatchEvent(new CustomEvent('pause'));\n }\n\n resume() {\n this.audioContext && this.audioContext.resume();\n this.playingUtterance && this.playingUtterance.dispatchEvent(new CustomEvent('resume'));\n }\n\n async start(queue) {\n let utterance;\n\n while ((utterance = queue.shift())) {\n this.playingUtterance = utterance;\n\n await utterance.play(this.audioContext);\n\n this.playingUtterance = null;\n }\n }\n\n stop() {\n this.playingUtterance && this.playingUtterance.stop();\n\n if (this.audioContext.state === 'suspended') {\n // Play -> Pause -> Cancel (stop)\n // This would generate these events: \"start\", \"pause\", \"end\"\n\n // Without this code, the \"end\" event will not emit until resume() is called\n // Cancelling an unstarted utterance will not emit any \"start\" or \"end\" event\n this.audioContext.resume();\n }\n }\n}\n"],"file":"AudioContextConsumer.js"}
1
+ {"version":3,"file":"AudioContextConsumer.js","names":["audioContext","suspend","playingUtterance","dispatchEvent","CustomEvent","resume","queue","utterance","shift","play","stop","state"],"sources":["../../../src/SpeechServices/TextToSpeech/AudioContextConsumer.js"],"sourcesContent":["/* eslint no-await-in-loop: \"off\" */\n\nexport default class {\n constructor(audioContext) {\n this.audioContext = audioContext;\n }\n\n pause() {\n this.audioContext && this.audioContext.suspend();\n this.playingUtterance && this.playingUtterance.dispatchEvent(new CustomEvent('pause'));\n }\n\n resume() {\n this.audioContext && this.audioContext.resume();\n this.playingUtterance && this.playingUtterance.dispatchEvent(new CustomEvent('resume'));\n }\n\n async start(queue) {\n let utterance;\n\n while ((utterance = queue.shift())) {\n this.playingUtterance = utterance;\n\n await utterance.play(this.audioContext);\n\n this.playingUtterance = null;\n }\n }\n\n stop() {\n this.playingUtterance && this.playingUtterance.stop();\n\n if (this.audioContext.state === 'suspended') {\n // Play -> Pause -> Cancel (stop)\n // This would generate these events: \"start\", \"pause\", \"end\"\n\n // Without this code, the \"end\" event will not emit until resume() is called\n // Cancelling an unstarted utterance will not emit any \"start\" or \"end\" event\n this.audioContext.resume();\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;EAGE,kBAAYA,YAAZ,EAA0B;IAAA;IACxB,KAAKA,YAAL,GAAoBA,YAApB;EACD;;;;WAED,iBAAQ;MACN,KAAKA,YAAL,IAAqB,KAAKA,YAAL,CAAkBC,OAAlB,EAArB;MACA,KAAKC,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBC,aAAtB,CAAoC,IAAIC,WAAJ,CAAgB,OAAhB,CAApC,CAAzB;IACD;;;WAED,kBAAS;MACP,KAAKJ,YAAL,IAAqB,KAAKA,YAAL,CAAkBK,MAAlB,EAArB;MACA,KAAKH,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBC,aAAtB,CAAoC,IAAIC,WAAJ,CAAgB,QAAhB,CAApC,CAAzB;IACD;;;;2FAED,iBAAYE,KAAZ;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MAGUC,SAAS,GAAGD,KAAK,CAACE,KAAN,EAHtB;kBAAA;kBAAA;gBAAA;;gBAII,KAAKN,gBAAL,GAAwBK,SAAxB;gBAJJ;gBAAA,OAMUA,SAAS,CAACE,IAAV,CAAe,KAAKT,YAApB,CANV;;cAAA;gBAQI,KAAKE,gBAAL,GAAwB,IAAxB;gBARJ;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAYA,gBAAO;MACL,KAAKA,gBAAL,IAAyB,KAAKA,gBAAL,CAAsBQ,IAAtB,EAAzB;;MAEA,IAAI,KAAKV,YAAL,CAAkBW,KAAlB,KAA4B,WAAhC,EAA6C;QAC3C;QACA;QAEA;QACA;QACA,KAAKX,YAAL,CAAkBK,MAAlB;MACD;IACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/AudioContextQueue.js"],"names":["audioContext","ponyfill","consumer","paused","queue","getAudioContext","AudioContext","pause","utterance","push","startConsumer","resume","length","AudioContextConsumer","start","splice","stop"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AAEA;;AAJA;;AAOE,0BAAwC;AAAA,QAA1BA,YAA0B,QAA1BA,YAA0B;AAAA,QAAZC,QAAY,QAAZA,QAAY;AAAA;AACtC,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,MAAL,GAAc,KAAd;AACA,SAAKC,KAAL,GAAa,EAAb;AAEA,SAAKC,eAAL,GAAuB,yBAAQ;AAAA,aAAML,YAAY,IAAI,IAAIC,QAAQ,CAACK,YAAb,EAAtB;AAAA,KAAR,CAAvB;AACD;;;;WAED,iBAAQ;AACN,WAAKH,MAAL,GAAc,IAAd;AACA,WAAKD,QAAL,IAAiB,KAAKA,QAAL,CAAcK,KAAd,EAAjB;AACD;;;WAED,cAAKC,SAAL,EAAgB;AACd,WAAKJ,KAAL,CAAWK,IAAX,CAAgBD,SAAhB;AACA,WAAKE,aAAL;AACD;;;WAED,kBAAS;AACP,WAAKP,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAKD,QAAT,EAAmB;AACjB,aAAKA,QAAL,CAAcS,MAAd;AACD,OAFD,MAEO;AACL,aAAKD,aAAL;AACD;AACF;;;SAED,eAAe;AACb,aAAO,CAAC,CAAC,KAAKR,QAAd;AACD;;;;mGAED;AAAA;AAAA;AAAA;AAAA;AAAA,sBACS,CAAC,KAAKC,MAAN,IAAgB,KAAKC,KAAL,CAAWQ,MAA3B,IAAqC,CAAC,KAAKV,QADpD;AAAA;AAAA;AAAA;;AAEI,qBAAKA,QAAL,GAAgB,IAAIW,6BAAJ,CAAyB,KAAKR,eAAL,EAAzB,CAAhB;AAFJ;AAAA,uBAIU,KAAKH,QAAL,CAAcY,KAAd,CAAoB,KAAKV,KAAzB,CAJV;;AAAA;AAMI,qBAAKF,QAAL,GAAgB,IAAhB;AANJ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAUA,gBAAO;AACL,WAAKE,KAAL,CAAWW,MAAX,CAAkB,CAAlB;AACA,WAAKb,QAAL,IAAiB,KAAKA,QAAL,CAAcc,IAAd,EAAjB;AACD","sourcesContent":["/* eslint no-await-in-loop: \"off\" */\n\nimport memoize from 'memoize-one';\n\nimport AudioContextConsumer from './AudioContextConsumer';\n\nexport default class {\n constructor({ audioContext, ponyfill }) {\n this.consumer = null;\n this.paused = false;\n this.queue = [];\n\n this.getAudioContext = memoize(() => audioContext || new ponyfill.AudioContext());\n }\n\n pause() {\n this.paused = true;\n this.consumer && this.consumer.pause();\n }\n\n push(utterance) {\n this.queue.push(utterance);\n this.startConsumer();\n }\n\n resume() {\n this.paused = false;\n\n if (this.consumer) {\n this.consumer.resume();\n } else {\n this.startConsumer();\n }\n }\n\n get speaking() {\n return !!this.consumer;\n }\n\n async startConsumer() {\n while (!this.paused && this.queue.length && !this.consumer) {\n this.consumer = new AudioContextConsumer(this.getAudioContext());\n\n await this.consumer.start(this.queue);\n\n this.consumer = null;\n }\n }\n\n stop() {\n this.queue.splice(0);\n this.consumer && this.consumer.stop();\n }\n}\n"],"file":"AudioContextQueue.js"}
1
+ {"version":3,"file":"AudioContextQueue.js","names":["audioContext","ponyfill","consumer","paused","queue","getAudioContext","memoize","AudioContext","pause","utterance","push","startConsumer","resume","length","AudioContextConsumer","start","splice","stop"],"sources":["../../../src/SpeechServices/TextToSpeech/AudioContextQueue.js"],"sourcesContent":["/* eslint no-await-in-loop: \"off\" */\n\nimport memoize from 'memoize-one';\n\nimport AudioContextConsumer from './AudioContextConsumer';\n\nexport default class {\n constructor({ audioContext, ponyfill }) {\n this.consumer = null;\n this.paused = false;\n this.queue = [];\n\n this.getAudioContext = memoize(() => audioContext || new ponyfill.AudioContext());\n }\n\n pause() {\n this.paused = true;\n this.consumer && this.consumer.pause();\n }\n\n push(utterance) {\n this.queue.push(utterance);\n this.startConsumer();\n }\n\n resume() {\n this.paused = false;\n\n if (this.consumer) {\n this.consumer.resume();\n } else {\n this.startConsumer();\n }\n }\n\n get speaking() {\n return !!this.consumer;\n }\n\n async startConsumer() {\n while (!this.paused && this.queue.length && !this.consumer) {\n this.consumer = new AudioContextConsumer(this.getAudioContext());\n\n await this.consumer.start(this.queue);\n\n this.consumer = null;\n }\n }\n\n stop() {\n this.queue.splice(0);\n this.consumer && this.consumer.stop();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AAEA;;AAJA;;EAOE,wBAAwC;IAAA,IAA1BA,YAA0B,QAA1BA,YAA0B;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAAA;IACtC,KAAKC,QAAL,GAAgB,IAAhB;IACA,KAAKC,MAAL,GAAc,KAAd;IACA,KAAKC,KAAL,GAAa,EAAb;IAEA,KAAKC,eAAL,GAAuB,IAAAC,mBAAA,EAAQ;MAAA,OAAMN,YAAY,IAAI,IAAIC,QAAQ,CAACM,YAAb,EAAtB;IAAA,CAAR,CAAvB;EACD;;;;WAED,iBAAQ;MACN,KAAKJ,MAAL,GAAc,IAAd;MACA,KAAKD,QAAL,IAAiB,KAAKA,QAAL,CAAcM,KAAd,EAAjB;IACD;;;WAED,cAAKC,SAAL,EAAgB;MACd,KAAKL,KAAL,CAAWM,IAAX,CAAgBD,SAAhB;MACA,KAAKE,aAAL;IACD;;;WAED,kBAAS;MACP,KAAKR,MAAL,GAAc,KAAd;;MAEA,IAAI,KAAKD,QAAT,EAAmB;QACjB,KAAKA,QAAL,CAAcU,MAAd;MACD,CAFD,MAEO;QACL,KAAKD,aAAL;MACD;IACF;;;SAED,eAAe;MACb,OAAO,CAAC,CAAC,KAAKT,QAAd;IACD;;;;mGAED;QAAA;UAAA;YAAA;cAAA;gBAAA,MACS,CAAC,KAAKC,MAAN,IAAgB,KAAKC,KAAL,CAAWS,MAA3B,IAAqC,CAAC,KAAKX,QADpD;kBAAA;kBAAA;gBAAA;;gBAEI,KAAKA,QAAL,GAAgB,IAAIY,6BAAJ,CAAyB,KAAKT,eAAL,EAAzB,CAAhB;gBAFJ;gBAAA,OAIU,KAAKH,QAAL,CAAca,KAAd,CAAoB,KAAKX,KAAzB,CAJV;;cAAA;gBAMI,KAAKF,QAAL,GAAgB,IAAhB;gBANJ;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAUA,gBAAO;MACL,KAAKE,KAAL,CAAWY,MAAX,CAAkB,CAAlB;MACA,KAAKd,QAAL,IAAiB,KAAKA,QAAL,CAAce,IAAd,EAAjB;IACD"}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -31,7 +33,7 @@ var SpeechSynthesisEvent = /*#__PURE__*/function (_Event) {
31
33
  return _super.call(this, type);
32
34
  }
33
35
 
34
- return SpeechSynthesisEvent;
36
+ return (0, _createClass2.default)(SpeechSynthesisEvent);
35
37
  }(_es.Event);
36
38
 
37
39
  exports.default = SpeechSynthesisEvent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisEvent.js"],"names":["SpeechSynthesisEvent","type","Event"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;IAEqBA,oB;;;;;AACnB,gCAAYC,IAAZ,EAAkB;AAAA;AAAA,6BACVA,IADU;AAEjB;;;EAH+CC,S","sourcesContent":["import { Event } from 'event-target-shim/es5';\n\nexport default class SpeechSynthesisEvent extends Event {\n constructor(type) {\n super(type);\n }\n}\n"],"file":"SpeechSynthesisEvent.js"}
1
+ {"version":3,"file":"SpeechSynthesisEvent.js","names":["SpeechSynthesisEvent","type","Event"],"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisEvent.js"],"sourcesContent":["import { Event } from 'event-target-shim/es5';\n\nexport default class SpeechSynthesisEvent extends Event {\n constructor(type) {\n super(type);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;IAEqBA,oB;;;;;EACnB,8BAAYC,IAAZ,EAAkB;IAAA;IAAA,yBACVA,IADU;EAEjB;;;EAH+CC,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisUtterance.js"],"names":["asyncDecodeAudioData","audioContext","arrayBuffer","Promise","resolve","reject","promise","decodeAudioData","then","playDecoded","audioBuffer","source","audioContextClosed","EventAsPromise","sourceEnded","unsubscribe","state","target","eventListener","buffer","onended","connect","destination","start","race","upcoming","err","SpeechSynthesisUtterance","text","_lang","_pitch","_rate","_voice","_volume","onboundary","onend","onerror","onmark","onpause","onresume","onstart","value","deploymentId","fetchCredentials","outputFormat","arrayBufferPromise","lang","window","navigator","language","pitch","rate","voice","voiceURI","volume","catch","dispatchEvent","SpeechSynthesisEvent","createBufferSource","_playingSource","ErrorEvent","error","message","stack","stop","EventTarget"],"mappings":"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","sourcesContent":["/* eslint no-empty: [\"error\", { \"allowEmptyCatch\": true }] */\n\nimport { EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\nimport EventAsPromise from 'event-as-promise';\n\nimport fetchSpeechData from './fetchSpeechData';\nimport SpeechSynthesisEvent from './SpeechSynthesisEvent';\nimport subscribeEvent from './subscribeEvent';\n\nfunction asyncDecodeAudioData(audioContext, arrayBuffer) {\n return new Promise((resolve, reject) => {\n const promise = audioContext.decodeAudioData(arrayBuffer, resolve, reject);\n\n // Newer implementation of \"decodeAudioData\" will return a Promise\n promise && typeof promise.then === 'function' && resolve(promise);\n });\n}\n\nfunction playDecoded(audioContext, audioBuffer, source) {\n return new Promise((resolve, reject) => {\n const audioContextClosed = new EventAsPromise();\n const sourceEnded = new EventAsPromise();\n const unsubscribe = subscribeEvent(\n audioContext,\n 'statechange',\n ({ target: { state } }) => state === 'closed' && audioContextClosed.eventListener()\n );\n\n try {\n source.buffer = audioBuffer;\n // \"ended\" may not fire if the underlying AudioContext is closed prematurely\n source.onended = sourceEnded.eventListener;\n\n source.connect(audioContext.destination);\n source.start(0);\n\n Promise.race([audioContextClosed.upcoming(), sourceEnded.upcoming()]).then(resolve);\n } catch (err) {\n reject(err);\n } finally {\n unsubscribe();\n }\n });\n}\n\nclass SpeechSynthesisUtterance extends EventTarget {\n constructor(text) {\n super();\n\n this._lang = null;\n this._pitch = 1;\n this._rate = 1;\n this._voice = null;\n this._volume = 1;\n\n this.text = text;\n\n this.onboundary = null;\n this.onend = null;\n this.onerror = null;\n this.onmark = null;\n this.onpause = null;\n this.onresume = null;\n this.onstart = null;\n }\n\n get lang() {\n return this._lang;\n }\n\n set lang(value) {\n this._lang = value;\n }\n\n get onboundary() {\n return getEventAttributeValue(this, 'boundary');\n }\n\n set onboundary(value) {\n setEventAttributeValue(this, 'boundary', value);\n }\n\n get onend() {\n return getEventAttributeValue(this, 'end');\n }\n\n set onend(value) {\n setEventAttributeValue(this, 'end', value);\n }\n\n get onerror() {\n return getEventAttributeValue(this, 'error');\n }\n\n set onerror(value) {\n setEventAttributeValue(this, 'error', value);\n }\n\n get onmark() {\n return getEventAttributeValue(this, 'mark');\n }\n\n set onmark(value) {\n setEventAttributeValue(this, 'mark', value);\n }\n\n get onpause() {\n return getEventAttributeValue(this, 'pause');\n }\n\n set onpause(value) {\n setEventAttributeValue(this, 'pause', value);\n }\n\n get onresume() {\n return getEventAttributeValue(this, 'resume');\n }\n\n set onresume(value) {\n setEventAttributeValue(this, 'resume', value);\n }\n\n get onstart() {\n return getEventAttributeValue(this, 'start');\n }\n\n set onstart(value) {\n setEventAttributeValue(this, 'start', value);\n }\n\n get pitch() {\n return this._pitch;\n }\n\n set pitch(value) {\n this._pitch = value;\n }\n\n get rate() {\n return this._rate;\n }\n\n set rate(value) {\n this._rate = value;\n }\n\n get voice() {\n return this._voice;\n }\n\n set voice(value) {\n this._voice = value;\n }\n\n get volume() {\n return this._volume;\n }\n\n set volume(value) {\n this._volume = value;\n }\n\n preload({ deploymentId, fetchCredentials, outputFormat }) {\n this.arrayBufferPromise = fetchSpeechData({\n fetchCredentials,\n deploymentId,\n lang: this.lang || window.navigator.language,\n outputFormat,\n pitch: this.pitch,\n rate: this.rate,\n text: this.text,\n voice: this.voice && this.voice.voiceURI,\n volume: this.volume\n });\n\n // We need to call \"catch\" to make sure the Promise is running.\n // We will ignore the reject result and handled in play() later.\n this.arrayBufferPromise.catch();\n }\n\n async play(audioContext) {\n try {\n // We should emit \"start\" event even if preload() failed.\n this.dispatchEvent(new SpeechSynthesisEvent('start'));\n\n // HACK: iOS requires bufferSourceNode to be constructed before decoding data.\n const source = audioContext.createBufferSource();\n const audioBuffer = await asyncDecodeAudioData(audioContext, await this.arrayBufferPromise);\n\n this._playingSource = source;\n\n await playDecoded(audioContext, audioBuffer, source);\n\n this._playingSource = null;\n this.dispatchEvent(new SpeechSynthesisEvent('end'));\n } catch (error) {\n // \"message\" is not in spec but to provide a friendly message.\n this.dispatchEvent(new ErrorEvent('error', { error: 'synthesis-failed', message: error.stack }));\n }\n }\n\n stop() {\n this._playingSource && this._playingSource.stop();\n }\n}\n\nexport default SpeechSynthesisUtterance;\n"],"file":"SpeechSynthesisUtterance.js"}
1
+ {"version":3,"file":"SpeechSynthesisUtterance.js","names":["asyncDecodeAudioData","audioContext","arrayBuffer","Promise","resolve","reject","promise","decodeAudioData","then","playDecoded","audioBuffer","source","audioContextClosed","EventAsPromise","sourceEnded","unsubscribe","subscribeEvent","state","target","eventListener","buffer","onended","connect","destination","start","race","upcoming","err","SpeechSynthesisUtterance","text","_lang","_pitch","_rate","_voice","_volume","onboundary","onend","onerror","onmark","onpause","onresume","onstart","value","getEventAttributeValue","setEventAttributeValue","deploymentId","fetchCredentials","outputFormat","arrayBufferPromise","fetchSpeechData","lang","window","navigator","language","pitch","rate","voice","voiceURI","volume","catch","dispatchEvent","SpeechSynthesisEvent","createBufferSource","_playingSource","ErrorEvent","error","message","stack","stop","EventTarget"],"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisUtterance.js"],"sourcesContent":["/* eslint no-empty: [\"error\", { \"allowEmptyCatch\": true }] */\n\nimport { EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\nimport EventAsPromise from 'event-as-promise';\n\nimport fetchSpeechData from './fetchSpeechData';\nimport SpeechSynthesisEvent from './SpeechSynthesisEvent';\nimport subscribeEvent from './subscribeEvent';\n\nfunction asyncDecodeAudioData(audioContext, arrayBuffer) {\n return new Promise((resolve, reject) => {\n const promise = audioContext.decodeAudioData(arrayBuffer, resolve, reject);\n\n // Newer implementation of \"decodeAudioData\" will return a Promise\n promise && typeof promise.then === 'function' && resolve(promise);\n });\n}\n\nfunction playDecoded(audioContext, audioBuffer, source) {\n return new Promise((resolve, reject) => {\n const audioContextClosed = new EventAsPromise();\n const sourceEnded = new EventAsPromise();\n const unsubscribe = subscribeEvent(\n audioContext,\n 'statechange',\n ({ target: { state } }) => state === 'closed' && audioContextClosed.eventListener()\n );\n\n try {\n source.buffer = audioBuffer;\n // \"ended\" may not fire if the underlying AudioContext is closed prematurely\n source.onended = sourceEnded.eventListener;\n\n source.connect(audioContext.destination);\n source.start(0);\n\n Promise.race([audioContextClosed.upcoming(), sourceEnded.upcoming()]).then(resolve);\n } catch (err) {\n reject(err);\n } finally {\n unsubscribe();\n }\n });\n}\n\nclass SpeechSynthesisUtterance extends EventTarget {\n constructor(text) {\n super();\n\n this._lang = null;\n this._pitch = 1;\n this._rate = 1;\n this._voice = null;\n this._volume = 1;\n\n this.text = text;\n\n this.onboundary = null;\n this.onend = null;\n this.onerror = null;\n this.onmark = null;\n this.onpause = null;\n this.onresume = null;\n this.onstart = null;\n }\n\n get lang() {\n return this._lang;\n }\n\n set lang(value) {\n this._lang = value;\n }\n\n get onboundary() {\n return getEventAttributeValue(this, 'boundary');\n }\n\n set onboundary(value) {\n setEventAttributeValue(this, 'boundary', value);\n }\n\n get onend() {\n return getEventAttributeValue(this, 'end');\n }\n\n set onend(value) {\n setEventAttributeValue(this, 'end', value);\n }\n\n get onerror() {\n return getEventAttributeValue(this, 'error');\n }\n\n set onerror(value) {\n setEventAttributeValue(this, 'error', value);\n }\n\n get onmark() {\n return getEventAttributeValue(this, 'mark');\n }\n\n set onmark(value) {\n setEventAttributeValue(this, 'mark', value);\n }\n\n get onpause() {\n return getEventAttributeValue(this, 'pause');\n }\n\n set onpause(value) {\n setEventAttributeValue(this, 'pause', value);\n }\n\n get onresume() {\n return getEventAttributeValue(this, 'resume');\n }\n\n set onresume(value) {\n setEventAttributeValue(this, 'resume', value);\n }\n\n get onstart() {\n return getEventAttributeValue(this, 'start');\n }\n\n set onstart(value) {\n setEventAttributeValue(this, 'start', value);\n }\n\n get pitch() {\n return this._pitch;\n }\n\n set pitch(value) {\n this._pitch = value;\n }\n\n get rate() {\n return this._rate;\n }\n\n set rate(value) {\n this._rate = value;\n }\n\n get voice() {\n return this._voice;\n }\n\n set voice(value) {\n this._voice = value;\n }\n\n get volume() {\n return this._volume;\n }\n\n set volume(value) {\n this._volume = value;\n }\n\n preload({ deploymentId, fetchCredentials, outputFormat }) {\n this.arrayBufferPromise = fetchSpeechData({\n fetchCredentials,\n deploymentId,\n lang: this.lang || window.navigator.language,\n outputFormat,\n pitch: this.pitch,\n rate: this.rate,\n text: this.text,\n voice: this.voice && this.voice.voiceURI,\n volume: this.volume\n });\n\n // We need to call \"catch\" to make sure the Promise is running.\n // We will ignore the reject result and handled in play() later.\n this.arrayBufferPromise.catch();\n }\n\n async play(audioContext) {\n try {\n // We should emit \"start\" event even if preload() failed.\n this.dispatchEvent(new SpeechSynthesisEvent('start'));\n\n // HACK: iOS requires bufferSourceNode to be constructed before decoding data.\n const source = audioContext.createBufferSource();\n const audioBuffer = await asyncDecodeAudioData(audioContext, await this.arrayBufferPromise);\n\n this._playingSource = source;\n\n await playDecoded(audioContext, audioBuffer, source);\n\n this._playingSource = null;\n this.dispatchEvent(new SpeechSynthesisEvent('end'));\n } catch (error) {\n // \"message\" is not in spec but to provide a friendly message.\n this.dispatchEvent(new ErrorEvent('error', { error: 'synthesis-failed', message: error.stack }));\n }\n }\n\n stop() {\n this._playingSource && this._playingSource.stop();\n }\n}\n\nexport default SpeechSynthesisUtterance;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisVoice.js"],"names":["gender","lang","voiceURI","_default","_gender","_lang","_localService","_name","_voiceURI"],"mappings":";;;;;;;;;;;;;;AACE,0BAAwC;AAAA,QAA1BA,MAA0B,QAA1BA,MAA0B;AAAA,QAAlBC,IAAkB,QAAlBA,IAAkB;AAAA,QAAZC,QAAY,QAAZA,QAAY;AAAA;AACtC,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKC,OAAL,GAAeJ,MAAf;AACA,SAAKK,KAAL,GAAaJ,IAAb;AACA,SAAKK,aAAL,GAAqB,KAArB;AACA,SAAKC,KAAL,GAAaL,QAAb;AACA,SAAKM,SAAL,GAAiBN,QAAjB;AACD;;;;SAED,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD;;;SAED,eAAa;AACX,aAAO,KAAKC,OAAZ;AACD;;;SAED,eAAW;AACT,aAAO,KAAKC,KAAZ;AACD;;;SAED,eAAmB;AACjB,aAAO,KAAKC,aAAZ;AACD;;;SAED,eAAW;AACT,aAAO,KAAKC,KAAZ;AACD;;;SAED,eAAe;AACb,aAAO,KAAKC,SAAZ;AACD","sourcesContent":["export default class {\n constructor({ gender, lang, voiceURI }) {\n this._default = false;\n this._gender = gender;\n this._lang = lang;\n this._localService = false;\n this._name = voiceURI;\n this._voiceURI = voiceURI;\n }\n\n get default() {\n return this._default;\n }\n\n get gender() {\n return this._gender;\n }\n\n get lang() {\n return this._lang;\n }\n\n get localService() {\n return this._localService;\n }\n\n get name() {\n return this._name;\n }\n\n get voiceURI() {\n return this._voiceURI;\n }\n}\n"],"file":"SpeechSynthesisVoice.js"}
1
+ {"version":3,"file":"SpeechSynthesisVoice.js","names":["gender","lang","voiceURI","_default","_gender","_lang","_localService","_name","_voiceURI"],"sources":["../../../src/SpeechServices/TextToSpeech/SpeechSynthesisVoice.js"],"sourcesContent":["export default class {\n constructor({ gender, lang, voiceURI }) {\n this._default = false;\n this._gender = gender;\n this._lang = lang;\n this._localService = false;\n this._name = voiceURI;\n this._voiceURI = voiceURI;\n }\n\n get default() {\n return this._default;\n }\n\n get gender() {\n return this._gender;\n }\n\n get lang() {\n return this._lang;\n }\n\n get localService() {\n return this._localService;\n }\n\n get name() {\n return this._name;\n }\n\n get voiceURI() {\n return this._voiceURI;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;EACE,wBAAwC;IAAA,IAA1BA,MAA0B,QAA1BA,MAA0B;IAAA,IAAlBC,IAAkB,QAAlBA,IAAkB;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAAA;IACtC,KAAKC,QAAL,GAAgB,KAAhB;IACA,KAAKC,OAAL,GAAeJ,MAAf;IACA,KAAKK,KAAL,GAAaJ,IAAb;IACA,KAAKK,aAAL,GAAqB,KAArB;IACA,KAAKC,KAAL,GAAaL,QAAb;IACA,KAAKM,SAAL,GAAiBN,QAAjB;EACD;;;;SAED,eAAc;MACZ,OAAO,KAAKC,QAAZ;IACD;;;SAED,eAAa;MACX,OAAO,KAAKC,OAAZ;IACD;;;SAED,eAAW;MACT,OAAO,KAAKC,KAAZ;IACD;;;SAED,eAAmB;MACjB,OAAO,KAAKC,aAAZ;IACD;;;SAED,eAAW;MACT,OAAO,KAAKC,KAAZ;IACD;;;SAED,eAAe;MACb,OAAO,KAAKC,SAAZ;IACD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/buildSSML.js"],"names":["relativePercentage","value","relative","Math","round","buildSSML","lang","pitch","rate","text","voice","volume"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA,SAASA,kBAAT,CAA4BC,KAA5B,EAAmC;AACjC,MAAIC,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAW,CAACH,KAAK,GAAG,CAAT,IAAc,GAAzB,CAAf;;AAEA,MAAIC,QAAQ,IAAI,CAAhB,EAAmB;AACjBA,IAAAA,QAAQ,GAAG,MAAMA,QAAjB;AACD;;AAED,SAAOA,QAAQ,GAAG,GAAlB;AACD;;AAEc,SAASG,SAAT,OAAuE;AAAA,MAAlDC,IAAkD,QAAlDA,IAAkD;AAAA,wBAA5CC,KAA4C;AAAA,MAA5CA,KAA4C,2BAApC,CAAoC;AAAA,uBAAjCC,IAAiC;AAAA,MAAjCA,IAAiC,0BAA1B,CAA0B;AAAA,MAAvBC,IAAuB,QAAvBA,IAAuB;AAAA,MAAjBC,KAAiB,QAAjBA,KAAiB;AAAA,MAAVC,MAAU,QAAVA,MAAU;AACpF,qDAA0CL,IAA1C,sCACoBA,IADpB,uBACqCI,KADrC,uCAEqBV,kBAAkB,CAACO,KAAD,CAFvC,uBAE2DP,kBAAkB,CAACQ,IAAD,CAF7E,yBAEkGR,kBAAkB,CAClHW,MADkH,CAFpH,wBAKOF,IALP;AASD","sourcesContent":["/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 100] }] */\n\n// Cognitive Services does not support unsigned percentage\n// It must be converted into +/- first.\nfunction relativePercentage(value) {\n let relative = Math.round((value - 1) * 100);\n\n if (relative >= 0) {\n relative = '+' + relative;\n }\n\n return relative + '%';\n}\n\nexport default function buildSSML({ lang, pitch = 1, rate = 1, text, voice, volume }) {\n return `<speak version=\"1.0\" xml:lang=\"${ lang }\">\n <voice xml:lang=\"${ lang }\" name=\"${ voice }\">\n <prosody pitch=\"${ relativePercentage(pitch) }\" rate=\"${ relativePercentage(rate) }\" volume=\"${ relativePercentage(\n volume\n ) }\">\n ${ text }\n </prosody>\n </voice>\n</speak>`;\n}\n"],"file":"buildSSML.js"}
1
+ {"version":3,"file":"buildSSML.js","names":["relativePercentage","value","relative","Math","round","buildSSML","lang","pitch","rate","text","voice","volume"],"sources":["../../../src/SpeechServices/TextToSpeech/buildSSML.js"],"sourcesContent":["/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 100] }] */\n\n// Cognitive Services does not support unsigned percentage\n// It must be converted into +/- first.\nfunction relativePercentage(value) {\n let relative = Math.round((value - 1) * 100);\n\n if (relative >= 0) {\n relative = '+' + relative;\n }\n\n return relative + '%';\n}\n\nexport default function buildSSML({ lang, pitch = 1, rate = 1, text, voice, volume }) {\n return `<speak version=\"1.0\" xml:lang=\"${ lang }\">\n <voice xml:lang=\"${ lang }\" name=\"${ voice }\">\n <prosody pitch=\"${ relativePercentage(pitch) }\" rate=\"${ relativePercentage(rate) }\" volume=\"${ relativePercentage(\n volume\n ) }\">\n ${ text }\n </prosody>\n </voice>\n</speak>`;\n}\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA,SAASA,kBAAT,CAA4BC,KAA5B,EAAmC;EACjC,IAAIC,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAW,CAACH,KAAK,GAAG,CAAT,IAAc,GAAzB,CAAf;;EAEA,IAAIC,QAAQ,IAAI,CAAhB,EAAmB;IACjBA,QAAQ,GAAG,MAAMA,QAAjB;EACD;;EAED,OAAOA,QAAQ,GAAG,GAAlB;AACD;;AAEc,SAASG,SAAT,OAAuE;EAAA,IAAlDC,IAAkD,QAAlDA,IAAkD;EAAA,sBAA5CC,KAA4C;EAAA,IAA5CA,KAA4C,2BAApC,CAAoC;EAAA,qBAAjCC,IAAiC;EAAA,IAAjCA,IAAiC,0BAA1B,CAA0B;EAAA,IAAvBC,IAAuB,QAAvBA,IAAuB;EAAA,IAAjBC,KAAiB,QAAjBA,KAAiB;EAAA,IAAVC,MAAU,QAAVA,MAAU;EACpF,mDAA0CL,IAA1C,sCACoBA,IADpB,uBACqCI,KADrC,uCAEqBV,kBAAkB,CAACO,KAAD,CAFvC,uBAE2DP,kBAAkB,CAACQ,IAAD,CAF7E,yBAEkGR,kBAAkB,CAClHW,MADkH,CAFpH,wBAKOF,IALP;AASD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/createSpeechSynthesisPonyfill.js"],"names":["DEFAULT_OUTPUT_FORMAT","EMPTY_ARRAY","options","audioContext","fetchCredentials","ponyfill","AudioContext","window","webkitAudioContext","speechSynthesisDeploymentId","speechSynthesisOutputFormat","console","warn","SpeechSynthesis","queue","AudioContextQueue","updateVoices","stop","value","pause","resume","utterance","SpeechSynthesisUtterance","Error","reject","resolve","promise","handleError","errorCode","error","message","stack","addEventListener","preload","deploymentId","outputFormat","push","finally","removeEventListener","speaking","customVoiceHostname","region","speechSynthesisHostname","subscriptionKey","voices","getVoices","fetchVoices","dispatchEvent","SpeechSynthesisEvent","EventTarget","speechSynthesis"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: 0 */\n\nimport { EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\nimport createDeferred from 'p-defer-es5';\nimport onErrorResumeNext from 'on-error-resume-next';\n\nimport AudioContextQueue from './AudioContextQueue';\nimport fetchCustomVoices from './fetchCustomVoices';\nimport fetchVoices from './fetchVoices';\nimport patchOptions from '../patchOptions';\nimport SpeechSynthesisEvent from './SpeechSynthesisEvent';\nimport SpeechSynthesisUtterance from './SpeechSynthesisUtterance';\n\n// Supported output format can be found at https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/rest-text-to-speech#audio-outputs\nconst DEFAULT_OUTPUT_FORMAT = 'audio-24khz-160kbitrate-mono-mp3';\nconst EMPTY_ARRAY = [];\n\nexport default options => {\n const {\n audioContext,\n fetchCredentials,\n ponyfill = {\n AudioContext: window.AudioContext || window.webkitAudioContext\n },\n speechSynthesisDeploymentId,\n speechSynthesisOutputFormat = DEFAULT_OUTPUT_FORMAT\n } = patchOptions(options);\n\n if (!audioContext && !ponyfill.AudioContext) {\n console.warn(\n 'web-speech-cognitive-services: This browser does not support Web Audio and it will not work with Cognitive Services Speech Services.'\n );\n\n return {};\n }\n\n class SpeechSynthesis extends EventTarget {\n constructor() {\n super();\n\n this.queue = new AudioContextQueue({ audioContext, ponyfill });\n\n this.updateVoices();\n }\n\n cancel() {\n this.queue.stop();\n }\n\n getVoices() {\n return EMPTY_ARRAY;\n }\n\n get onvoiceschanged() {\n return getEventAttributeValue(this, 'voiceschanged');\n }\n\n set onvoiceschanged(value) {\n setEventAttributeValue(this, 'voiceschanged', value);\n }\n\n pause() {\n this.queue.pause();\n }\n\n resume() {\n this.queue.resume();\n }\n\n speak(utterance) {\n if (!(utterance instanceof SpeechSynthesisUtterance)) {\n throw new Error('invalid utterance');\n }\n\n const { reject, resolve, promise } = createDeferred();\n const handleError = ({ error: errorCode, message }) => {\n const error = new Error(errorCode);\n\n error.stack = message;\n\n reject(error);\n };\n\n utterance.addEventListener('end', resolve);\n utterance.addEventListener('error', handleError);\n\n utterance.preload({\n deploymentId: speechSynthesisDeploymentId,\n fetchCredentials,\n outputFormat: speechSynthesisOutputFormat\n });\n\n this.queue.push(utterance);\n\n return promise.finally(() => {\n utterance.removeEventListener('end', resolve);\n utterance.removeEventListener('error', handleError);\n });\n }\n\n get speaking() {\n return this.queue.speaking;\n }\n\n async updateVoices() {\n const { customVoiceHostname, region, speechSynthesisHostname, subscriptionKey } = await fetchCredentials();\n\n if (speechSynthesisDeploymentId) {\n if (subscriptionKey) {\n console.warn(\n 'web-speech-cognitive-services: Listing of custom voice models are only available when using subscription key.'\n );\n\n await onErrorResumeNext(async () => {\n const voices = await fetchCustomVoices({\n customVoiceHostname,\n deploymentId: speechSynthesisDeploymentId,\n region,\n speechSynthesisHostname,\n subscriptionKey\n });\n\n this.getVoices = () => voices;\n });\n }\n } else {\n // If fetch voice list failed, we will not emit \"voiceschanged\" event.\n // In the spec, there is no \"error\" event.\n\n await onErrorResumeNext(async () => {\n const voices = await fetchVoices(await fetchCredentials());\n\n this.getVoices = () => voices;\n });\n }\n\n this.dispatchEvent(new SpeechSynthesisEvent('voiceschanged'));\n }\n }\n\n return {\n speechSynthesis: new SpeechSynthesis(),\n SpeechSynthesisEvent,\n SpeechSynthesisUtterance\n };\n};\n"],"file":"createSpeechSynthesisPonyfill.js"}
1
+ {"version":3,"file":"createSpeechSynthesisPonyfill.js","names":["DEFAULT_OUTPUT_FORMAT","EMPTY_ARRAY","options","patchOptions","audioContext","fetchCredentials","ponyfill","AudioContext","window","webkitAudioContext","speechSynthesisDeploymentId","speechSynthesisOutputFormat","console","warn","SpeechSynthesis","queue","AudioContextQueue","updateVoices","stop","getEventAttributeValue","value","setEventAttributeValue","pause","resume","utterance","SpeechSynthesisUtterance","Error","createDeferred","reject","resolve","promise","handleError","errorCode","error","message","stack","addEventListener","preload","deploymentId","outputFormat","push","finally","removeEventListener","speaking","customVoiceHostname","region","speechSynthesisHostname","subscriptionKey","onErrorResumeNext","fetchCustomVoices","voices","getVoices","fetchVoices","dispatchEvent","SpeechSynthesisEvent","EventTarget","speechSynthesis"],"sources":["../../../src/SpeechServices/TextToSpeech/createSpeechSynthesisPonyfill.js"],"sourcesContent":["/* eslint class-methods-use-this: 0 */\n\nimport { EventTarget, getEventAttributeValue, setEventAttributeValue } from 'event-target-shim/es5';\nimport createDeferred from 'p-defer-es5';\nimport onErrorResumeNext from 'on-error-resume-next';\n\nimport AudioContextQueue from './AudioContextQueue';\nimport fetchCustomVoices from './fetchCustomVoices';\nimport fetchVoices from './fetchVoices';\nimport patchOptions from '../patchOptions';\nimport SpeechSynthesisEvent from './SpeechSynthesisEvent';\nimport SpeechSynthesisUtterance from './SpeechSynthesisUtterance';\n\n// Supported output format can be found at https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/rest-text-to-speech#audio-outputs\nconst DEFAULT_OUTPUT_FORMAT = 'audio-24khz-160kbitrate-mono-mp3';\nconst EMPTY_ARRAY = [];\n\nexport default options => {\n const {\n audioContext,\n fetchCredentials,\n ponyfill = {\n AudioContext: window.AudioContext || window.webkitAudioContext\n },\n speechSynthesisDeploymentId,\n speechSynthesisOutputFormat = DEFAULT_OUTPUT_FORMAT\n } = patchOptions(options);\n\n if (!audioContext && !ponyfill.AudioContext) {\n console.warn(\n 'web-speech-cognitive-services: This browser does not support Web Audio and it will not work with Cognitive Services Speech Services.'\n );\n\n return {};\n }\n\n class SpeechSynthesis extends EventTarget {\n constructor() {\n super();\n\n this.queue = new AudioContextQueue({ audioContext, ponyfill });\n\n this.updateVoices();\n }\n\n cancel() {\n this.queue.stop();\n }\n\n getVoices() {\n return EMPTY_ARRAY;\n }\n\n get onvoiceschanged() {\n return getEventAttributeValue(this, 'voiceschanged');\n }\n\n set onvoiceschanged(value) {\n setEventAttributeValue(this, 'voiceschanged', value);\n }\n\n pause() {\n this.queue.pause();\n }\n\n resume() {\n this.queue.resume();\n }\n\n speak(utterance) {\n if (!(utterance instanceof SpeechSynthesisUtterance)) {\n throw new Error('invalid utterance');\n }\n\n const { reject, resolve, promise } = createDeferred();\n const handleError = ({ error: errorCode, message }) => {\n const error = new Error(errorCode);\n\n error.stack = message;\n\n reject(error);\n };\n\n utterance.addEventListener('end', resolve);\n utterance.addEventListener('error', handleError);\n\n utterance.preload({\n deploymentId: speechSynthesisDeploymentId,\n fetchCredentials,\n outputFormat: speechSynthesisOutputFormat\n });\n\n this.queue.push(utterance);\n\n return promise.finally(() => {\n utterance.removeEventListener('end', resolve);\n utterance.removeEventListener('error', handleError);\n });\n }\n\n get speaking() {\n return this.queue.speaking;\n }\n\n async updateVoices() {\n const { customVoiceHostname, region, speechSynthesisHostname, subscriptionKey } = await fetchCredentials();\n\n if (speechSynthesisDeploymentId) {\n if (subscriptionKey) {\n console.warn(\n 'web-speech-cognitive-services: Listing of custom voice models are only available when using subscription key.'\n );\n\n await onErrorResumeNext(async () => {\n const voices = await fetchCustomVoices({\n customVoiceHostname,\n deploymentId: speechSynthesisDeploymentId,\n region,\n speechSynthesisHostname,\n subscriptionKey\n });\n\n this.getVoices = () => voices;\n });\n }\n } else {\n // If fetch voice list failed, we will not emit \"voiceschanged\" event.\n // In the spec, there is no \"error\" event.\n\n await onErrorResumeNext(async () => {\n const voices = await fetchVoices(await fetchCredentials());\n\n this.getVoices = () => voices;\n });\n }\n\n this.dispatchEvent(new SpeechSynthesisEvent('voiceschanged'));\n }\n }\n\n return {\n speechSynthesis: new SpeechSynthesis(),\n SpeechSynthesisEvent,\n SpeechSynthesisUtterance\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/SpeechServices/TextToSpeech/fetchCustomVoices.js"],"names":["fetchCustomVoices","customVoiceHostname","deploymentId","region","subscriptionKey","hostname","fetch","encodeURI","encodeURIComponent","headers","accept","res","ok","Error","json","models","map","gender","properties","Gender","lang","locale","voiceURI","name","SpeechSynthesisVoice","sort","x","y"],"mappings":";;;;;;;;;;;;;AAEA;;AAFA;SAIeA,iB;;;;;+FAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmCC,YAAAA,mBAAnC,QAAmCA,mBAAnC,EAAwDC,YAAxD,QAAwDA,YAAxD,EAAsEC,MAAtE,QAAsEA,MAAtE,EAA8EC,eAA9E,QAA8EA,eAA9E;AACQC,YAAAA,QADR,GACmBJ,mBAAmB,cAAQE,MAAR,0CADtC,EAGE;;AAHF;AAAA,mBAIoBG,KAAK,mBACTC,SAAS,CAACF,QAAD,CADA,8CACgDG,kBAAkB,CAACN,YAAD,CADlE,GAErB;AACEO,cAAAA,OAAO,EAAE;AACPC,gBAAAA,MAAM,EAAE,kBADD;AAEP,6CAA6BN;AAFtB;AADX,aAFqB,CAJzB;;AAAA;AAIQO,YAAAA,GAJR;;AAAA,gBAcOA,GAAG,CAACC,EAdX;AAAA;AAAA;AAAA;;AAAA,kBAeU,IAAIC,KAAJ,CAAU,+BAAV,CAfV;;AAAA;AAAA,6CAkBSF,GAAG,CAACG,IAAJ,EAlBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;;;;;;kFAqBe;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAiBb,YAAAA,mBAAjB,SAAiBA,mBAAjB,EAAsCC,YAAtC,SAAsCA,YAAtC,EAAoDC,MAApD,SAAoDA,MAApD,EAA4DC,eAA5D,SAA4DA,eAA5D;AAAA;AAAA,mBACYJ,iBAAiB,CAAC;AAAEC,cAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBC,cAAAA,YAAY,EAAZA,YAAvB;AAAqCC,cAAAA,MAAM,EAANA,MAArC;AAA6CC,cAAAA,eAAe,EAAfA;AAA7C,aAAD,CAD7B;;AAAA;AAAA;AACLW,YAAAA,MADK,yBACLA,MADK;AAAA,8CAGNA,MAAM,CACVC,GADI,CAEH;AAAA,kBAAyBC,MAAzB,SAAGC,UAAH,CAAiBC,MAAjB;AAAA,kBAA2CC,IAA3C,SAAmCC,MAAnC;AAAA,kBAAuDC,QAAvD,SAAiDC,IAAjD;AAAA,qBACE,IAAIC,6BAAJ,CAAyB;AAAEP,gBAAAA,MAAM,EAANA,MAAF;AAAUG,gBAAAA,IAAI,EAAJA,IAAV;AAAgBE,gBAAAA,QAAQ,EAARA;AAAhB,eAAzB,CADF;AAAA,aAFG,EAKJG,IALI,CAKC;AAAA,kBAASC,CAAT,SAAGH,IAAH;AAAA,kBAAsBI,CAAtB,SAAgBJ,IAAhB;AAAA,qBAA+BG,CAAC,GAAGC,CAAJ,GAAQ,CAAR,GAAYD,CAAC,GAAGC,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAAxD;AAAA,aALD,CAHM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\nimport SpeechSynthesisVoice from './SpeechSynthesisVoice';\n\nasync function fetchCustomVoices({ customVoiceHostname, deploymentId, region, subscriptionKey }) {\n const hostname = customVoiceHostname || `${ region }.customvoice.api.speech.microsoft.com`;\n\n // Although encodeURI on a hostname doesn't work as expected for hostname, at least, it will fail peacefully.\n const res = await fetch(\n `https://${ encodeURI(hostname) }/api/texttospeech/v2.0/endpoints/${ encodeURIComponent(deploymentId) }`,\n {\n headers: {\n accept: 'application/json',\n 'ocp-apim-subscription-key': subscriptionKey\n }\n }\n );\n\n if (!res.ok) {\n throw new Error('Failed to fetch custom voices');\n }\n\n return res.json();\n}\n\nexport default async function({ customVoiceHostname, deploymentId, region, subscriptionKey }) {\n const { models } = await fetchCustomVoices({ customVoiceHostname, deploymentId, region, subscriptionKey });\n\n return models\n .map(\n ({ properties: { Gender: gender }, locale: lang, name: voiceURI }) =>\n new SpeechSynthesisVoice({ gender, lang, voiceURI })\n )\n .sort(({ name: x }, { name: y }) => (x > y ? 1 : x < y ? -1 : 0));\n}\n"],"file":"fetchCustomVoices.js"}
1
+ {"version":3,"file":"fetchCustomVoices.js","names":["fetchCustomVoices","customVoiceHostname","deploymentId","region","subscriptionKey","hostname","fetch","encodeURI","encodeURIComponent","headers","accept","res","ok","Error","json","models","map","gender","properties","Gender","lang","locale","voiceURI","name","SpeechSynthesisVoice","sort","x","y"],"sources":["../../../src/SpeechServices/TextToSpeech/fetchCustomVoices.js"],"sourcesContent":["/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\nimport SpeechSynthesisVoice from './SpeechSynthesisVoice';\n\nasync function fetchCustomVoices({ customVoiceHostname, deploymentId, region, subscriptionKey }) {\n const hostname = customVoiceHostname || `${ region }.customvoice.api.speech.microsoft.com`;\n\n // Although encodeURI on a hostname doesn't work as expected for hostname, at least, it will fail peacefully.\n const res = await fetch(\n `https://${ encodeURI(hostname) }/api/texttospeech/v2.0/endpoints/${ encodeURIComponent(deploymentId) }`,\n {\n headers: {\n accept: 'application/json',\n 'ocp-apim-subscription-key': subscriptionKey\n }\n }\n );\n\n if (!res.ok) {\n throw new Error('Failed to fetch custom voices');\n }\n\n return res.json();\n}\n\nexport default async function({ customVoiceHostname, deploymentId, region, subscriptionKey }) {\n const { models } = await fetchCustomVoices({ customVoiceHostname, deploymentId, region, subscriptionKey });\n\n return models\n .map(\n ({ properties: { Gender: gender }, locale: lang, name: voiceURI }) =>\n new SpeechSynthesisVoice({ gender, lang, voiceURI })\n )\n .sort(({ name: x }, { name: y }) => (x > y ? 1 : x < y ? -1 : 0));\n}\n"],"mappings":";;;;;;;;;;;;;AAEA;;AAFA;SAIeA,iB;;;;;+FAAf;IAAA;IAAA;MAAA;QAAA;UAAA;YAAmCC,mBAAnC,QAAmCA,mBAAnC,EAAwDC,YAAxD,QAAwDA,YAAxD,EAAsEC,MAAtE,QAAsEA,MAAtE,EAA8EC,eAA9E,QAA8EA,eAA9E;YACQC,QADR,GACmBJ,mBAAmB,cAAQE,MAAR,0CADtC,EAGE;;YAHF;YAAA,OAIoBG,KAAK,mBACTC,SAAS,CAACF,QAAD,CADA,8CACgDG,kBAAkB,CAACN,YAAD,CADlE,GAErB;cACEO,OAAO,EAAE;gBACPC,MAAM,EAAE,kBADD;gBAEP,6BAA6BN;cAFtB;YADX,CAFqB,CAJzB;;UAAA;YAIQO,GAJR;;YAAA,IAcOA,GAAG,CAACC,EAdX;cAAA;cAAA;YAAA;;YAAA,MAeU,IAAIC,KAAJ,CAAU,+BAAV,CAfV;;UAAA;YAAA,iCAkBSF,GAAG,CAACG,IAAJ,EAlBT;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;;;;;;kFAqBe;IAAA;;IAAA;MAAA;QAAA;UAAA;YAAiBb,mBAAjB,SAAiBA,mBAAjB,EAAsCC,YAAtC,SAAsCA,YAAtC,EAAoDC,MAApD,SAAoDA,MAApD,EAA4DC,eAA5D,SAA4DA,eAA5D;YAAA;YAAA,OACYJ,iBAAiB,CAAC;cAAEC,mBAAmB,EAAnBA,mBAAF;cAAuBC,YAAY,EAAZA,YAAvB;cAAqCC,MAAM,EAANA,MAArC;cAA6CC,eAAe,EAAfA;YAA7C,CAAD,CAD7B;;UAAA;YAAA;YACLW,MADK,yBACLA,MADK;YAAA,kCAGNA,MAAM,CACVC,GADI,CAEH;cAAA,IAAyBC,MAAzB,SAAGC,UAAH,CAAiBC,MAAjB;cAAA,IAA2CC,IAA3C,SAAmCC,MAAnC;cAAA,IAAuDC,QAAvD,SAAiDC,IAAjD;cAAA,OACE,IAAIC,6BAAJ,CAAyB;gBAAEP,MAAM,EAANA,MAAF;gBAAUG,IAAI,EAAJA,IAAV;gBAAgBE,QAAQ,EAARA;cAAhB,CAAzB,CADF;YAAA,CAFG,EAKJG,IALI,CAKC;cAAA,IAASC,CAAT,SAAGH,IAAH;cAAA,IAAsBI,CAAtB,SAAgBJ,IAAhB;cAAA,OAA+BG,CAAC,GAAGC,CAAJ,GAAQ,CAAR,GAAYD,CAAC,GAAGC,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAAxD;YAAA,CALD,CAHM;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C"}
@@ -19,9 +19,9 @@ var _buildSSML = _interopRequireDefault(require("./buildSSML"));
19
19
 
20
20
  var _isSSML = _interopRequireDefault(require("./isSSML"));
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
26
  var DEFAULT_LANGUAGE = 'en-US';
27
27
  var DEFAULT_OUTPUT_FORMAT = 'riff-16khz-16bit-mono-pcm';