-
Notifications
You must be signed in to change notification settings - Fork 46
/
speech.1.0.0.min.js
23 lines (22 loc) · 26.7 KB
/
speech.1.0.0.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//----------------------------------------------------------------------
// Microsoft Speech SDK
// ====================
//
//
// FEATURES
// --------
// * Short-form recognition.
// * Long-form dictation.
// * Recognition with intent.
// * Integrated microphone support.
// * External audio support.
//
// LICENSE
// -------
// © 2015 Microsoft. All rights reserved.
// This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice.
// Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
// This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. This
// document is confidential and proprietary to Microsoft. It is disclosed and can be used only pursuant to a non-disclosure agreement.
//----------------------------------------------------------------------
var Microsoft,Bing;(function(n){(function(n){(function(n){var r,t,i,u;(function(n){n._map=[];n._map[0]="shortPhrase";n.shortPhrase=0;n._map[1]="longDictation";n.longDictation=1})(n.SpeechRecognitionMode||(n.SpeechRecognitionMode={}));r=n.SpeechRecognitionMode;t=function(){function n(n){this.onPartialResponseReceived=null;this.onFinalResponseReceived=null;this.onIntentReceived=null;this.onError=null;this._prefs=n;this._sr=new Bing.Speech}return n.prototype.startMicAndRecognition=function(){var n=this;this._sr.onresult=function(t){if(t.results[t.resultIndex].final)n.onFinalResponseReceived(t.results[t.resultIndex]);else n.onPartialResponseReceived(t.results[t.resultIndex][0].transcript)};this._sr.onerror=function(t){if(n.onError)n.onError(-1,JSON.stringify(t))};Bing.Platform.getCU().done(function(t){t.preferences=n._prefs;t.onintent=function(t){if(n.onIntentReceived)n.onIntentReceived(t.payload)};n._sr.start()})},n.prototype.endMicAndRecognition=function(){this._sr.stop()},n}();n.MicrophoneRecognitionClient=t;i=function(){function n(n){this.onPartialResponseReceived=null;this.onFinalResponseReceived=null;this.onIntentReceived=null;this.onError=null;this._prefs=n;this._start=!0;this._sr=new Bing.Speech}return n.prototype.sendAudio=function(n){var t=this,i=new Bing.ArrayBufferSource;i.setBuffer(n);this._sr.mediaSource=i;this._sr.onresult=function(n){if(n.results[n.resultIndex].final)t.onFinalResponseReceived(n.results[n.resultIndex]);else t.onPartialResponseReceived(n.results[n.resultIndex][0].transcript)};this._sr.onerror=function(n){if(t.onError)t.onError(-1,JSON.stringify(n))};Bing.Platform.getCU().done(function(n){n.preferences=t._prefs;n.onintent=function(n){if(t.onIntentReceived)t.onIntentReceived(n.payload)};t._sr.start()})},n.prototype.endAudio=function(){this._start=!0},n}();n.DataRecognitionClient=i,function(t){function r(t,r,u,f){return new n.DataRecognitionClient(i(t,r,u,f))}function u(t,r,u,f,e){var o=i(n.SpeechRecognitionMode.shortPhrase,t,r,u);return o.luisAppId=f,o.luisSubscriptionId=e,new n.DataRecognitionClient(o)}function f(t,r,u,f){return new n.MicrophoneRecognitionClient(i(t,r,u,f))}function e(t,r,u,f,e){var o=i(n.SpeechRecognitionMode.shortPhrase,t,r,u);return o.luisAppId=f,o.luisSubscriptionId=e,new n.MicrophoneRecognitionClient(o)}function i(i,r,u,f){var e=t.BaseSpeechUrl;switch(i){case n.SpeechRecognitionMode.longDictation:e+="/continuous"}return{serviceUri:e,locale:r,clientId:u,clientSecret:f,clientVersion:"4.0.150429",authenticationScheme:"MAIS"}}t.createDataClient=r;t.createDataClientWithIntent=u;t.createMicrophoneClient=f;t.createMicrophoneClientWithIntent=e;t.BaseSpeechUrl="https://websockets.platform.bing.com/ws/speech/recognize";t.createPrefs=i}(n.SpeechRecognitionServiceFactory||(n.SpeechRecognitionServiceFactory={}));u=n.SpeechRecognitionServiceFactory})(n.SpeechRecognition||(n.SpeechRecognition={}));var t=n.SpeechRecognition})(n.ProjectOxford||(n.ProjectOxford={}));var t=n.ProjectOxford})(Microsoft||(Microsoft={})),function(n){function y(t){if(n._window.onlog)n._window.onlog(t);console&&console.log&&console.log(t)}function t(n){y(n+"\n")}function ot(n,t){var i=JSON.stringify(t);window.localStorage.setItem(n,i)}function o(n){var t=window.localStorage.getItem(n),i;return t!==null&&t!="undefined"&&(i=JSON.parse(t)),i}function l(n){var t=document.createEvent("Event");t.initEvent(n,!0,!0);window.dispatchEvent(t)}function st(){l("audiostart")}function a(){l("audiostop")}function p(){return o("useHttp")}function w(){return o("devMode")}function s(n){try{return new ActiveXObject(n)}catch(t){return null}}function ht(){var t;if(n._window.useStringArrays=!1,n._cu=ut(),n._cuDeferred||(n._cuDeferred=[]),n._cu)for(t=0;t<n._cuDeferred.length;++t)n._cuDeferred[t].resolve(n._cu)}function h(t,i,r,u){n._window.isActiveX&&(i=new Int8Array(i));t.decodeAudioData(i,r,u)}function f(n){return typeof n.response=="string"?JSON.parse(n.response):n.response}function rt(){return i.isEdge()?!0:n.checkedForPluginInstall&&n.checkedForPluginInstall()!==!0?!1:!0}function ut(){var f,r,o,h;if(p())return new e;if(n._window.naclNotInstalled!==!0){if(i.supportsPPAPI())return n._window.chrome.runtime.sendMessage(c.kKeyId,"__hello",null,function(t){n._window.naclNotInstalled=t!=="__hello";n._cu=n._window.naclNotInstalled?new e:new c;for(var i=0;i<n._cuDeferred.length;++i)n._cuDeferred[i].resolve(n._cu)}),null;if(i.supportsNPAPI())return r=document.createElement("embed"),o=new u,r.type="application/x-bingspeech",r.data="data:application/x-bingspeech,",r.setAttribute("style","width:0;height:0"),o.done(function(){window.document.body.appendChild(r);try{r();n._cu=r;n._cu.origin=window.window.location.href;n._window.useStringArrays=!0}catch(i){n._cu=new e}for(var t=0;t<n._cuDeferred.length;++t)n._cuDeferred[t].resolve(n._cu)}),window.document.body?o.complete():document.addEventListener("DOMContentLoaded",function(){o.complete()}),null;i.supportsActiveX()&&(f=s("Bing.Host"),f&&(f.origin=window.window.location.href,n._window.isActiveX=!0))}return!f&&rt()?(t("Defaulting to http client"),new e):!f&&n.SpeechInstaller?(h=new n.SpeechInstaller,h.show("Install the Bing Speech Extender"),h):f}function lt(){var t=navigator,i=window;t.getUserMedia=t.getUserMedia||t.mozGetUserMedia||t.webkitGetUserMedia||t.msGetUserMedia||s("Bing.GetUserMedia");i.AudioContext=i.AudioContext||i.webkitAudioContext||s("Bing.AudioContext");n._window.SpeechSynthesisUtterance=n._window.SpeechSynthesisUtterance||k;n._window.SpeechRecognition=n.Speech;n._window.msSpeechSynthesis=new n.Synthesis;n._window.speechSynthesis=n._window.msSpeechSynthesis;n.initialize()}var r,b,k,d,u,v,i,it,e,c,ft,et;n._cu;n._cuDeferred=[];n._window=window;n._defaultVoiceName="Microsoft Server Speech Text to Speech Voice (en-US, ZiraRUS)";n.write=y;n.writeline=t;n.setValue=ot;n.getValue=o;n.dispatchEvent=l;n.dispatchAudioStart=st;n.dispatchAudioStop=a;n.useHttp=p;n.devMode=w,function(n){n._map=[];n._map[0]="None";n.None=0;n._map[1]="Pending";n.Pending=1;n._map[2]="Started";n.Started=2}(n.SynthState||(n.SynthState={}));r=n.SynthState;b=function(){function t(){var i=this,t;this.voices=[];this._state=r.None;this.paused=!1;this.voices=null;t=new XMLHttpRequest;t.open("GET","https://speech.platform.bing.com/synthesize/list/voices",!0);t.responseType="json";t.onload=function(){var u,r,e;if(t.readyState==4&&(i.voices=[],t.status===200))for(u=f(t),r=0;r<u.length;++r)e={voiceURI:"https://speech.platform.bing.com/synthesize",name:u[r].Name,lang:u[r].Locale,localService:!1,"default":u[r].Name==n._defaultVoiceName},i.voices.push(e),e.default&&(i.defaultVoice=e)};t.send()}return Object.defineProperty(t.prototype,"pending",{get:function(){return this._state==r.Pending},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"speaking",{get:function(){return this._state==r.Started},enumerable:!0,configurable:!0}),t.prototype.speak=function(n){var t=this,u=Date.now();this._state=r.Pending;i.getCU().done(function(i){if(i.onttsstart=function(){if(t._state=r.Started,n.onstart)n.onstart(t.createEvent("start",n))},i.onttsend=function(){if(t._state=r.None,n.onend){var i=t.createEvent("end",n);i.elapsedTime=(Date.now()-u)/1e3;n.onend(i)}},i.onevent=function(){t._state=r.None;n.onerror(t.createEvent("error",n))},!t.context){if(!AudioContext)throw"Sorry, your browser doesn't support WebAudio";t.context=new AudioContext}i.context=t.context;i.tts(n.text)})},t.prototype.cancel=function(){this._state=r.None;i.getCU().done(function(n){n.ttsStop()})},t.prototype.pause=function(){},t.prototype.resume=function(){},t.prototype.getVoices=function(){return this.voices},t.prototype.createEvent=function(n,t){var i=document.createEvent("UIEvent");return i.initUIEvent(n,!1,!1,null,null),i.target=i.currentTarget=t,i.srcElement=t,i.timeStamp=Date.now(),i},t}();n.Synthesis=b;k=function(){function n(n){this.text=n}return n.prototype.removeEventListener=function(){},n.prototype.addEventListener=function(){},n.prototype.dispatchEvent=function(){return!1},n}();d=function(){function t(){this._firstAudio=!0;this.playbackAudioFilesOverride=!1;this.grammars=null;this.lang="en-US";this.continuous=!1;this.interimResults=!0;this.maxAlternatives=-1;this.serviceURI=null}return t.prototype.removeEventListener=function(){},t.prototype.addEventListener=function(){},t.prototype.dispatchEvent=function(){return!1},t.prototype.start=function(){var n=this;if(this.onstart)this.onstart(this.createEvent("start"));if(this.isMicSource){if(!navigator.getUserMedia)throw"Sorry, your browser doesn't have microphone support.";navigator.getUserMedia({audio:!0},function(t){if(!n.context){if(!AudioContext)throw"Sorry, your browser doesn't support WebAudio";n.context=new AudioContext}n.currentSource=n.context.createMediaStreamSource(t)},function(){n.HandleError()})}else this.currentSource=this.mediaSource},t.prototype.stop=function(){this._currentSource&&(i.getCU().done(function(n){n.disconnect()}),this._currentSource&&this._currentSource.disconnect(),this._currentSource=null);this._currentDestination&&(this._currentDestination.disconnect(),this._currentDestination=null)},t.prototype.abort=function(){this.stop()},t.prototype.HandleError=function(){},Object.defineProperty(t.prototype,"currentSource",{set:function(n){var t=this;this._firstAudio=!0;this._currentSource=n;i.getCU().done(function(n){n.onend=function(){if(t.onend)t.onend(t.createEvent("end"))};n.onaudioend=function(){if(t.onaudioend)t.onaudioend(t.createEvent("audioend"))};n.ondisplaytext=function(n){if(t.onresult){var i=t.createEvent("result");i.resultIndex=0;i.results={length:1,0:{final:!1,length:1,0:{transcript:n}}};t.onresult(i)}};n.onresult=function(n){if(n.status==301){if(t.onnomatch)t.onnomatch(t.createEvent("nomatch"))}else if(t.onresult)t.onresult(n);else console.warn("Speech.onresult not set")};n.onevent=function(n){if(t.onerror){var i=t.createEvent("error");i.error="received a speech error "+n;t.onerror(i)}if(t.onend)t.onend(t.createEvent("end"))};t._currentDestination=t.createRecogitionDestination(t._currentSource,n,null)})},enumerable:!0,configurable:!0}),t.prototype.createEvent=function(n){var t=document.createEvent("UIEvent");return t.initUIEvent(n,!1,!1,null,null),t.target=t.currentTarget=this,t.srcElement=this,t.timeStamp=Date.now(),t},t.prototype.createRecogitionDestination=function(t,i,r){var u=this,f=t.context.createScriptProcessor(4096,1,1);return f.onaudioprocess=function(t){var o=t.inputBuffer,s,f,h,c,e;if(u._firstAudio&&(u._firstAudio=!1,u.onaudiostart))u.onaudiostart(u.createEvent("audiostart"));if(n._window.useStringArrays===!0?i.audioprocess(new v(o)):i.audioprocess(o),r&&r(t),u.playbackAudioFiles()&&!u.isMicSource)for(s=t.outputBuffer,f=0;f<s.numberOfChannels;f++)for(h=s.getChannelData(f),c=o.getChannelData(f),e=0;e<t.inputBuffer.length;e++)h[e]=c[e];n._window.msSpeechButton&&!n._window.isActiveX&&n._window.msSpeechButton.audioprocess(t)},i.connect(t),f.connect(t.context.destination),t.connect(f),f},Object.defineProperty(t.prototype,"isMicSource",{get:function(){return null===this.mediaSource||typeof this.mediaSource=="undefined"},enumerable:!0,configurable:!0}),t.prototype.playbackAudioFiles=function(){return o("playbackAudioFiles")||this.playbackAudioFilesOverride},t}();n.Speech=d;u=function(){function n(){this.completed=!1;this.startTime=Date.now()}return n.prototype.complete=function(){this.signalComplete(!0)},n.prototype.resolve=function(n){this.signalComplete(n)},n.prototype.done=function(n){if(this.completed){n(this.result);return}this.cb=n},Object.defineProperty(n.prototype,"elapsedTime",{get:function(){return(Date.now()-this.startTime)/1e3},enumerable:!0,configurable:!0}),n.prototype.signalComplete=function(n){this.result=n;this.completed=!0;this.cb&&this.cb(this.result)},n}();n.Task=u;v=function(){function n(n){this._audioBuffer=n;this.sampleRate=n.sampleRate;this.length=n.length;this.duration=n.duration;this.numberOfChannels=n.numberOfChannels}return n.prototype.getChannelData=function(n){for(var r=this._audioBuffer.getChannelData(n),u=[],t,i=0;i<r.length;++i){for(t=Math.floor((r[i]+1)*32767).toString(16).replace("-","");t.length<4;)t="0"+t;u.push(t)}return u.join("")},n.prototype.copyFromChannel=function(n,t,i){this._audioBuffer.copyFromChannel(n,t,i)},n.prototype.copyToChannel=function(n,t,i){this._audioBuffer.copyToChannel(n,t,i)},n}();n.StringAudioBuffer=v;n.CreateActiveXObject=s,function(t){function i(){return navigator.userAgent.indexOf("Edge/")!=-1}function r(){return navigator.userAgent.indexOf("AppleWebKit")!=-1}function u(){return n._window.chrome&&!i()&&navigator.userAgent.indexOf("Chrome/")?!0:!1}function f(){return!i()&&(navigator.userAgent.indexOf("Firefox")!=-1||r())?!0:!1}function e(){return navigator.userAgent.indexOf("Trident")!=-1?!0:!1}function o(){var t=new n.Task;return n._cu?t.resolve(n._cu):n._cuDeferred.push(t),t}t.isEdge=i;t.isSafari=r;t.supportsPPAPI=u;t.supportsNPAPI=f;t.supportsActiveX=e;t.getCU=o}(n.Platform||(n.Platform={}));i=n.Platform;n.initialize=ht;n.decodeAudioData=h;n.handleJSONWebResponse=f;var g=function(){function n(){}return n.prototype.authenticate=function(n,i){var o=this,e=new u,h=Date.now(),s=["grant_type=client_credentials&client_id=",encodeURIComponent(n),"&client_secret=",encodeURIComponent(i),"&scope=",encodeURIComponent("https://speech.platform.bing.com")].join(""),r;return!this._response||!this._expireTime||Date.now()>=this._expireTime.getTime()?(t("refreshing token"),r=new XMLHttpRequest,r.open("POST","https://oxford-speech.cloudapp.net/token/issueToken",!0),r.responseType="json",r.onload=function(){r.readyState==4&&(r.status===200?(o._response=f(r),o._expireTime=new Date(Date.now()+parseInt(o._response.expires_in)*1e3),e.resolve("Bearer "+o._response.access_token)):e.resolve(null))},r.onerror=function(){e.resolve(null)},r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(s)):e.resolve("Bearer "+this._response.access_token),e},n}(),nt=function(){function n(){}return n.prototype.authenticate=function(n,i){var e=new u,o,r;return t("authenticate: "+n+" "+i),o="grant_type=client_credentials&client_id="+encodeURIComponent(n)+"&client_secret="+encodeURIComponent(i)+"&scope="+encodeURIComponent("https://speech.platform.bing.com"),r=new XMLHttpRequest,r.open("POST","https://datamarket.accesscontrol.windows.net/v2/OAuth2-13",!0),r.onload=function(){r.readyState==4&&(r.status===200?e.resolve(f(r)):e.resolve(null))},r.onerror=function(){e.resolve(null)},r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(o),e},n}(),ct=function(){function n(t,i){this._buffer=[];this._bitsPerSample=8;this._channels=1;this._sampleRate=44100;this._bitsPerSample=i;this._sampleRate=t;this.appendString("RIFF");this.appendUINT32(0);this.appendString("WAVEfmt ");this.appendUINT32(16);this.appendUINT16(n.WAVE_FORMAT_PCM);this.appendUINT16(this._channels);this.appendUINT32(this._sampleRate);this.appendUINT32(this._sampleRate*(this._bitsPerSample>>3)*this._channels);this.appendUINT16(this._bitsPerSample>>3);this.appendUINT16(this._bitsPerSample);this.appendString("data");this.appendUINT32(0)}return n.WAVE_FORMAT_PCM=1,n.WAVE_FORMAT_IEEE_FLOAT=3,n.prototype.appendString=function(n){for(var t=0;t<n.length;++t)this._buffer.push(n.charCodeAt(t))},n.prototype.appendUINT32=function(n){this.appendUINT16(n);this.appendUINT16(n>>16)},n.prototype.appendUINT16=function(n){this._buffer.push((n&255)>>0);this._buffer.push((n&65280)>>8)},n.prototype.toByteArray=function(){return this._buffer},n}(),tt=function(){function n(n){this._prefs=n;switch(n.authenticationScheme){case"MAIS":this._auth=new g;break;case"ADM":this._auth=new nt}}return n.kServiceUrl="https://api.projectoxford.ai/luis/v1/application?subscription-key=",n.prototype.getIntent=function(t){var r=new u,i=new XMLHttpRequest;return i.open("GET",[n.kServiceUrl,this._prefs.luisSubscriptionId,"&id=",this._prefs.luisAppId,"&q=",t].join(""),!0),i.onload=function(){if(i.readyState==4&&i.status===200){var n=f(i);r.resolve(i.response)}else r.resolve(null)},i.send(),r},n}();n.LuisClient=tt;it=function(){function n(){}return n.SUCCESS="success",n.ERROR="error",n}();e=function(){function i(){this.queue=[];this.responseFormat="json";t("Defaulting to http client");this.requestUri="?scenarios=smd";this.requestUri+="&appid=D4D52672-91D7-4C74-8AD8-42B1D98141A5";this.requestUri+="&device.os=wp7";this.requestUri+="&version=3.0";this.requestUri+="&instanceid=565D69FF-E928-4B7E-87DA-9A750B96D9E3";this.requestUri+="&requestid=2065F912-3699-408C-A80A-9D17F42B9692"}return i.prototype.removeEventListener=function(){},i.prototype.addEventListener=function(n){t("addEventListener: "+n+" "+this)},i.prototype.dispatchEvent=function(){return!1},i.prototype.connect=function(t){(n._window.useStringArrays=!1,this.sourceSampleRate=t.context.sampleRate,this.sampleRate=16e3,this.sourceSampleRate<=0)||(this.connected=!0,this.preferences.luisAppId&&this.preferences.luisSubscriptionId&&(this.luis=new tt(this.preferences)),this.queue=[],this.buffer=new Int8Array(new ct(this.sampleRate,8).toByteArray()),this.offset=this.buffer.length)},i.prototype.disconnect=function(){this.connected&&(this.connected=!1,this.onaudioend&&this.onaudioend(),this.send())},Object.defineProperty(i.prototype,"preferences",{get:function(){return this._preferences},set:function(n){this._preferences=n;this.auth=null},enumerable:!0,configurable:!0}),i.prototype.sendText=function(){},i.prototype.audioprocess=function(n){this.appendAsUInt8(n.getChannelData(0))},i.prototype.tts=function(t,i,r){var f=this,u;i||(i="text/plain");r||(r="riff-16khz-16bit-mono-pcm");i==="text/plain"&&(t="<?xml version='1.0' encoding='UTF-8'?><speak version='1.0' xml:lang='"+this.preferences.locale+"'><voice xml:lang='"+this.preferences.locale+"' name='"+n._defaultVoiceName+"'>"+t+"<\/voice><\/speak>",i="application/ssml+xml");u=new XMLHttpRequest;u.open("POST","https://speech.platform.bing.com/synthesize",!0);u.responseType="arraybuffer";u.setRequestHeader("X-MICROSOFT-OutputFormat",r);u.setRequestHeader("Content-Type",i);u.onload=function(){if(u.readyState==4&&u.status!==200)f.onevent(u.status);else f.renderAudio(f.context,u.response)};this.getToken().done(function(n){if(!n){f.dispatchError(-1);return}u.setRequestHeader("Authorization",n);f.onttsstart&&f.onttsstart();u.send(t)})},i.prototype.ttsStop=function(){var n=this.ttsSource;if(n&&this.context.state!="suspended")try{n.stop()}catch(i){t("ttsStop: buffer source failed to stop. state: "+this.context.state+" exception:"+i)}},i.prototype.getToken=function(){if(!this.auth)switch(this.preferences.authenticationScheme){case"MAIS":this.auth=new g;break;case"ADM":this.auth=new nt}return this.auth.authenticate(this.preferences.clientId,this.preferences.clientSecret)},i.prototype.send=function(){var n=this,i;this.getToken().done(function(r){var e,u;if(!r){n.dispatchError(-1);return}e=n.preferences.serviceUri.replace("/ws/speech","").replace("websockets.","speech.");t("connect: url "+e);u=new XMLHttpRequest;u.open("POST",[e,n.requestUri,"&locale=",n.preferences.locale,"&format=",n.responseFormat].join(""),!0);u.responseType=n.responseFormat;u.setRequestHeader("Content-Type",'audio/wav; codec="audio/pcm"; samplerate='+n.sampleRate);u.setRequestHeader("Authorization",r);r=r;u.onload=function(){u.readyState==4&&u.status!==200?n.dispatchError(u.status):(i=f(u),i.header.status===it.ERROR?n.dispatchError(-1):n.dispatchResult(i))};n.buffer&&n.buffer.length&&u.send(n.buffer)})},i.prototype.dispatchError=function(n){if(this.onevent)this.onevent(n)},i.prototype.dispatchResult=function(n){var e=this,u,i,r,t,f;if(n.results&&n.results.length>0&&n.results[0].name&&(u=n.results[0].name),this.luis&&this.onintent&&this.luis.getIntent(u).done(function(n){e.onintent({payload:n})}),this.onresult){for(i=[],r=0;r<n.results.length;++r)t=n.results[r],i.push({lexical:t.lexical,display:t.name,inverseNormalization:null,maskedInverseNormalization:null,transcript:t.name,confidence:parseFloat(t.confidence)});i.final=!0;f={resultIndex:0,results:{length:1,0:i},interpretation:u,emma:null,status:200};this.onresult(f)}this.onend&&this.onend()},i.prototype.appendAsUInt8=function(n){var i,r,t;for(i=new Int8Array(n.length+this.offset),this.buffer&&i.set(this.buffer,0),this.buffer=i,r=this.sourceSampleRate/this.sampleRate,t=0;t<n.length;t+=r)this.buffer[this.offset++]=Math.floor((n[Math.floor(t)]-.5)*128)},i.prototype.renderAudio=function(n,i){var r=this;h(n,i,function(i){t("completed decoding audio");r.ttsSource=n.createBufferSource();r.ttsSource.buffer=i;r.ttsSource.connect(r.context.destination);r.onttsstart&&r.onttsstart();r.ttsSource.start(0);r.ttsSource.onended=function(){r.onttsend&&r.onttsend();r.ttsSource=null}},function(){t("error decoding audio");r.onevent(-1)})},i}();n.HttpClient=e;c=function(){function i(){var e=this,o=n._window.chrome,r,u,f;w()===!0?(r=document.createElement("div"),r.setAttribute("style","width:0;height:0"),r.addEventListener("load",function(i){var r;for(t("plugin load:"+i),r=0;r<n._cuDeferred.length;++r)n._cuDeferred[r].resolve(n._cu)},!0),r.addEventListener("error",function(n){t("plugin error:"+n)},!0),r.addEventListener("crash",function(n){t("plugin crash:"+n)},!0),r.addEventListener("message",function(n){e.handleMessage(n)},!0),window.document.body.appendChild(r),u=document.createElement("embed"),u.setAttribute("type","application/x-pnacl"),u.setAttribute("src","/bin/pepper_speech.nmf"),u.setAttribute("id","pepper_speech"),this._module=u,r.appendChild(u)):(f=o.runtime.connect(i.kKeyId),f.onMessage.addListener(function(n){e.handleMessage(n)}),f.onConnect=function(n){t("port onConnect:"+n)},this._module=f)}return i.kKeyId="jffoigoenpgbgnhpchggjapfijhffghe",i.prototype.postMessage=function(t){if(n._window.naclNotInstalled!==!0)try{this._module.postMessage(t)}catch(i){n._window.chrome.runtime.lastError&&(n._window.naclNotInstalled=!0,n.initialize())}},i.prototype.handleMessage=function(n){var t;t=n.name?n:n.data;this[t.name]&&this[t.name](t.data)},i.prototype.log=function(t){var i=new Date;n.write("["+i.toISOString()+"] "+t)},i.prototype.removeEventListener=function(){},i.prototype.addEventListener=function(n){t("addEventListener: "+n+" "+this)},i.prototype.dispatchEvent=function(){return!1},i.prototype.connect=function(n){this.postMessage(["connect",n.context.sampleRate])},i.prototype.disconnect=function(){this.postMessage(["disconnect"])},Object.defineProperty(i.prototype,"preferences",{get:function(){return this._preferences},set:function(n){this._preferences=n;this.postMessage(["setPreferences",n])},enumerable:!0,configurable:!0}),i.prototype.sendText=function(){},i.prototype.audioprocess=function(n){this.postMessage(["audioprocess",n.getChannelData(0),n])},i.prototype.tts=function(n,t,i){this.postMessage(["tts",n,t,i]);this.onttsstart&&this.onttsstart()},i.prototype.ttsStop=function(){this.postMessage(["ttsstop"])},i}();n.NaclClient=c;n.shouldCreateHttp=rt;n.createSpeech=ut;ft=function(){function n(n,i){if(this.numberOfInputs=1,this.numberOfOutputs=1,this.channelCount=1,this._url=n,i)this.context=i;else{if(!AudioContext)throw"Sorry, your browser doesn't support WebAudio";this.context=new AudioContext}t("LogSendAudio: url=["+n+"], contentType=[audio/basic]")}return n.prototype.removeEventListener=function(){},n.prototype.addEventListener=function(){},n.prototype.dispatchEvent=function(){return!1},n.prototype.connect=function(n){var r=this,i;if(this._destination=n,null!=this._aBuffer&&this._aBuffer.byteLength>0){this.bufferReceived();return}t("connect "+this);i=new XMLHttpRequest;i.open("GET",this._url,!0);i.responseType="arraybuffer";i.onload=function(){i.readyState==4&&i.status!==200?r.handleEnd(i.status):(r._aBuffer=i.response,r.bufferReceived())};i.send()},n.prototype.disconnect=function(){var n=this._destination;null!=n&&(this._bufferSource&&(this._bufferSource.disconnect(),this._bufferSource.stop()),this._started=!1,n.disconnect(),this._destination=null,i.getCU().done(function(n){n.disconnect()}),this.onended&&this.onended(),a())},n.prototype.start=function(){},n.prototype.stop=function(){},n.prototype.setBuffer=function(n){this._aBuffer=n;this.bufferReceived()},n.prototype.bufferReceived=function(){var n=this,i;i=this.context.createBufferSource();h(this.context,this._aBuffer,function(t){n._bufferSource=i;n._bufferSource.buffer=t;n.onBufferLoaded()},function(){t("error decoding WebAudio");n.handleEnd()})},n.prototype.handleEnd=function(n){t("Source ended: err='"+n+"' "+this);this.disconnect()},n.prototype.onBufferLoaded=function(){var n=this;this._bufferSource.onended=function(){n.handleEnd()};this._bufferSource.connect(this._destination);this._bufferSource.start(0);this._started=!0},n.prototype.toString=function(){return this._url},n}();n.WebAudioSource=ft;et=function(){function n(n){if(this.numberOfInputs=1,this.numberOfOutputs=1,this.channelCount=1,n)this.context=n;else{if(!AudioContext)throw"Sorry, your browser doesn't support WebAudio";this.context=new AudioContext}}return n.prototype.removeEventListener=function(){},n.prototype.addEventListener=function(){},n.prototype.dispatchEvent=function(){return!1},n.prototype.connect=function(n){if(this._destination=n,null!=this._aBuffer&&this._aBuffer.byteLength>0){this.bufferReceived();return}t("connect "+this)},n.prototype.disconnect=function(){var n=this._destination;null!=n&&(this._bufferSource&&(this._bufferSource.disconnect(),this._bufferSource.stop()),this._started=!1,n.disconnect(),this._destination=null,i.getCU().done(function(n){n.disconnect()}),this.onended&&this.onended(),a())},n.prototype.start=function(){},n.prototype.stop=function(){},n.prototype.setBuffer=function(n){this._aBuffer=n},n.prototype.bufferReceived=function(){var n=this,i;i=this.context.createBufferSource();h(this.context,this._aBuffer,function(t){n._bufferSource=i;n._bufferSource.buffer=t;n.onBufferLoaded()},function(){t("error decoding WebAudio");n.handleEnd()})},n.prototype.handleEnd=function(n){t("Source ended: err='"+n+"' "+this);this.disconnect()},n.prototype.onBufferLoaded=function(){var n=this;this._bufferSource.connect(this._destination);this._bufferSource.start(0);this._started=!0;this._bufferSource.onended=function(){n.handleEnd()}},n}();n.ArrayBufferSource=et;lt()}(Bing||(Bing={}))