-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspeech.1.0.0.min.js
23 lines (22 loc) · 27.9 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){return new n.DataRecognitionClient(i(t,r,u))}function u(t,r,u,f){var e=i(n.SpeechRecognitionMode.shortPhrase,t,r);return e.luisAppId=u,e.luisSubscriptionId=f,new n.DataRecognitionClient(e)}function f(t,r,u){return new n.MicrophoneRecognitionClient(i(t,r,u))}function e(t,r,u,f){var e=i(n.SpeechRecognitionMode.shortPhrase,t,r);return e.luisAppId=u,e.luisSubscriptionId=f,new n.MicrophoneRecognitionClient(e)}function i(i,r,u){var f=t.BaseSpeechUrl;switch(i){case n.SpeechRecognitionMode.longDictation:throw"SpeechRecognitionMode.longDictation is not a currently supported mode.";}return{serviceUri:f,locale:r,clientId:u,clientVersion:"4.0.150429",authenticationScheme:"MAIS"}}t.createDataClient=r;t.createDataClientWithIntent=u;t.createMicrophoneClient=f;t.createMicrophoneClientWithIntent=e;t.BaseSpeechUrl="https://speech.platform.bing.com/recognize";t.createPrefs=i}(n.SpeechRecognitionServiceFactory||(n.SpeechRecognitionServiceFactory={}));u=n.SpeechRecognitionServiceFactory})(n.SpeechRecognition||(n.SpeechRecognition={}));var t=n.SpeechRecognition})(n.CognitiveServices||(n.CognitiveServices={}));var t=n.CognitiveServices})(Microsoft||(Microsoft={})),function(n){function b(t){if(n._window.onlog)n._window.onlog(t);console&&console.log&&console.log(t)}function t(n){b(n+"\n")}function ct(n,t){var i=JSON.stringify(t);window.localStorage.setItem(n,i)}function s(n){var t=window.localStorage.getItem(n),i;return t!==null&&t!="undefined"&&(i=JSON.parse(t)),i}function a(n){var t=document.createEvent("Event");t.initEvent(n,!0,!0);window.dispatchEvent(t)}function lt(){a("audiostart")}function v(){a("audiostop")}function k(){return s("useHttp")}function d(){return s("devMode")}function h(n){try{return new ActiveXObject(n)}catch(t){return null}}function at(){var t;if(n._window.useStringArrays=!1,n._cu=ot(),n._cuDeferred||(n._cuDeferred=[]),n._cu)for(t=0;t<n._cuDeferred.length;++t)n._cuDeferred[t].resolve(n._cu)}function c(t,i,r,u){n._window.isActiveX&&(i=new Int8Array(i));t.decodeAudioData(i,r,u)}function e(n){return typeof n.response=="string"?JSON.parse(n.response):n.response}function et(){return i.isEdge()?!0:n.checkedForPluginInstall&&n.checkedForPluginInstall()!==!0?!1:!0}function ot(){var e,r,o,s;if(k())return new f;if(n._window.naclNotInstalled!==!0){if(i.supportsPPAPI())return n._window.chrome.runtime.sendMessage(l.kKeyId,"__hello",null,function(t){n._window.naclNotInstalled=t!=="__hello";n._cu=n._window.naclNotInstalled?new f:new l;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 f}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()&&(e=h("Bing.Host"),e&&(e.origin=window.window.location.href,n._window.isActiveX=!0))}return!e&&et()?(t("Defaulting to http client"),new f):!e&&n.SpeechInstaller?(s=new n.SpeechInstaller,s.show("Install the Bing Speech Extender"),s):e}function vt(){var t=navigator,i=window;t.getUserMedia=t.getUserMedia||t.mozGetUserMedia||t.webkitGetUserMedia||t.msGetUserMedia||h("Bing.GetUserMedia");i.AudioContext=i.AudioContext||i.webkitAudioContext||h("Bing.AudioContext");n._window.SpeechSynthesisUtterance=n._window.SpeechSynthesisUtterance||nt;n._window.SpeechRecognition=n.Speech;n._window.msSpeechSynthesis=new n.Synthesis;n._window.speechSynthesis=n._window.msSpeechSynthesis;n.initialize()}var r,g,nt,tt,u,y,i,it,p,w,ft,f,l,st,ht;n._cu;n._cuDeferred=[];n._window=window;n._defaultVoiceName="Microsoft Server Speech Text to Speech Voice (en-US, ZiraRUS)";n.write=b;n.writeline=t;n.setValue=ct;n.getValue=s;n.dispatchEvent=a;n.dispatchAudioStart=lt;n.dispatchAudioStop=v;n.useHttp=k;n.devMode=d,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;g=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,f;if(t.readyState==4&&(i.voices=[],t.status===200))for(u=e(t),r=0;r<u.length;++r)f={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(f),f.default&&(i.defaultVoice=f)};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=g;nt=function(){function n(n){this.text=n}return n.prototype.removeEventListener=function(){},n.prototype.addEventListener=function(){},n.prototype.dispatchEvent=function(){return!1},n}();tt=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 y(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 s("playbackAudioFiles")||this.playbackAudioFilesOverride},t}();n.Speech=tt;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;y=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=y;n.CreateActiveXObject=h,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=at;n.decodeAudioData=c;n.handleJSONWebResponse=e;it=function(){function n(){}return n.generateString=function(){return n.getRnd4HexOctet()+n.getRnd4HexOctet()+"-"+n.getRnd4HexOctet()+"-"+n.getRndGuidTimeHiAndVersionHex()+"-"+n.getRndGuidClockSeqHiAndReservedHex()+"-"+n.getRnd4HexOctet()+n.getRnd4HexOctet()+n.getRnd4HexOctet()},n.generate16bitRnd=function(){return Math.random()*65536|0},n.getRnd4HexOctet=function(){return("0000"+n.generate16bitRnd().toString(16)).slice(-4)},n.getRndGuidTimeHiAndVersionHex=function(){return(n.generate16bitRnd()&4095|16384).toString(16)},n.getRndGuidClockSeqHiAndReservedHex=function(){return(n.generate16bitRnd()&16383|32768).toString(16)},n}();n.Guid=it;p=function(){function n(){}return n.prototype.authenticate=function(n){var r=this,f=new u,e=Date.now(),i;return!this._access_token||!this._expireTime||Date.now()>=this._expireTime.getTime()?(t("refreshing token"),i=new XMLHttpRequest,i.open("POST","https://api.cognitive.microsoft.com/sts/v1.0/issueToken",!0),i.onload=function(){i.readyState==4&&(i.status===200?(r._access_token=i.response,r._response=JSON.parse(atob(r._access_token.split(".")[1])),r._expireTime=new Date(r._response.exp*1e3),f.resolve("Bearer "+r._access_token)):f.resolve(null))},i.onerror=function(){f.resolve(null)},i.setRequestHeader("Ocp-Apim-Subscription-Key",n),i.send()):f.resolve("Bearer "+this._access_token),f},n}();w=function(){function n(){}return n.prototype.authenticate=function(n,i){var f=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?f.resolve(e(r)):f.resolve(null))},r.onerror=function(){f.resolve(null)},r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(o),f},n}(),function(n){n._map=[];n.PcmInt=1;n.PcmFloat=3}(n.WaveFormat||(n.WaveFormat={}));var o=n.WaveFormat,rt=function(){function n(n,t,i){this._buffer=[];this._bitsPerSample=8;this._channels=1;this._sampleRate=44100;this._bitsPerSample=t;this._sampleRate=n;this.appendString("RIFF");this.appendUINT32(0);this.appendString("WAVEfmt ");this.appendUINT32(16);this.appendUINT16(i);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.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}(),ut=function(){function n(n){this._prefs=n;switch(n.authenticationScheme){case"MAIS":this._auth=new p;break;case"ADM":this._auth=new w}}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=e(i);r.resolve(i.response)}else r.resolve(null)},i.send(),r},n}();n.LuisClient=ut;ft=function(){function n(){}return n.SUCCESS="success",n.ERROR="error",n}();f=function(){function i(i){typeof i=="undefined"&&(i=o.PcmInt);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="+n.Guid.generateString();this.waveFormat=i}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){var r,i;if(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 ut(this.preferences));this.queue=[];this.buffer=new ArrayBuffer(4096);r=new Uint8Array(this.buffer);switch(this.waveFormat){default:case o.PcmInt:i=new rt(this.sampleRate,8,o.PcmInt).toByteArray();this.processAudio=this.appendAsUInt8;break;case o.PcmFloat:i=new rt(this.sampleRate,32,o.PcmFloat).toByteArray();this.processAudio=this.appendAsFloat32}r.set(i);this.offset=i.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.processAudio(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 p;break;case"ADM":this.auth=new w}return this.auth.authenticate(this.preferences.clientId,this.preferences.clientSecret)},i.prototype.send=function(){var i=this,r;this.getToken().done(function(u){var o,f,s;if(!u){i.dispatchError(-1);return}o=i.preferences.serviceUri.replace("/ws/speech","").replace("websockets.","speech.");t("connect: url "+o);f=new XMLHttpRequest;f.open("POST",[o,i.requestUri,"&locale=",i.preferences.locale,"&format=",i.responseFormat,"&requestid=",n.Guid.generateString()].join(""),!0);f.responseType=i.responseFormat;f.setRequestHeader("Content-Type",'audio/wav; codec="audio/pcm"; samplerate='+i.sampleRate);f.setRequestHeader("Authorization",u);u=u;f.onload=function(){f.readyState==4&&f.status!==200?i.dispatchError(f.status):(r=e(f),r.header.status===ft.ERROR?i.dispatchError(-1):i.dispatchResult(r))};i.buffer&&i.buffer.byteLength&&i.offset&&(s=new Uint8Array(i.buffer,0,i.offset),f.send(s))})},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 t=this;this.appendData(n,function(){return new Int8Array(t.buffer,t.offset)},1,function(n){return Math.floor(n*128)})},i.prototype.appendAsFloat32=function(n){var t=this;this.appendData(n,function(){return new Float32Array(t.buffer,t.offset)},4,function(n){return n})},i.prototype.appendData=function(n,t,i,r){var s=this.sourceSampleRate/this.sampleRate,l=(n.length/s|0)+1,h=l*i,u,e,c,o,f;for(this.buffer.byteLength<this.offset+h&&(u=(this.offset+h)*2,u+=u%i,e=new ArrayBuffer(u),new Uint8Array(e).set(new Uint8Array(this.buffer)),this.buffer=e),c=t(),o=0,f=0;f<n.length;++o,f+=s)c[o]=r(n[Math.floor(f)]),this.offset+=i},i.prototype.renderAudio=function(n,i){var r=this;c(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=f;l=function(){function i(){var e=this,o=n._window.chrome,r,u,f;d()===!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=l;n.shouldCreateHttp=et;n.createSpeech=ot;st=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(),v())},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();c(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=st;ht=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(),v())},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();c(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=ht;vt()}(Bing||(Bing={}))