UNPKG

prx-wavefile

Version:

Create, read and write wav files according to the specs.

102 lines 51.1 kB
try{if(!Uint8Array.prototype.slice)Object.defineProperty(Uint8Array.prototype,"slice",{value:function(begin,end){return new Uint8Array(Array.prototype.slice.call(this,begin,end))}})}catch(err){}function ea(h){var l=0;return function(){return l<h.length?{done:!1,value:h[l++]}:{done:!0}}} var fa="function"==typeof Object.create?Object.create:function(h){function l(){}l.prototype=h;return new l},J="function"==typeof Object.defineProperties?Object.defineProperty:function(h,l,m){if(h==Array.prototype||h==Object.prototype)return h;h[l]=m.value;return h}; function ha(h){h=["object"==typeof globalThis&&globalThis,h,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var l=0;l<h.length;++l){var m=h[l];if(m&&m.Math==Math)return m}throw Error("Cannot find global object");}var ia=ha(this);function L(h,l){if(l)a:{for(var m=ia,q=h.split("."),u=0;u<q.length-1;u++){var v=q[u];if(!(v in m))break a;m=m[v]}q=q[q.length-1];u=m[q];v=l(u);v!=u&&null!=v&&J(m,q,{configurable:!0,writable:!0,value:v})}}var V; if("function"==typeof Object.setPrototypeOf)V=Object.setPrototypeOf;else{var W;a:{var ta={a:!0},ua={};try{ua.__proto__=ta;W=ua.a;break a}catch(h){}W=!1}V=W?function(h,l){h.__proto__=l;if(h.__proto__!==l)throw new TypeError(h+" is not extensible");return h}:null}var va=V; function X(h,l){h.prototype=fa(l.prototype);h.prototype.constructor=h;if(va)va(h,l);else for(var m in l)if("prototype"!=m)if(Object.defineProperties){var q=Object.getOwnPropertyDescriptor(l,m);q&&Object.defineProperty(h,m,q)}else h[m]=l[m];h.Ab=l.prototype}L("Object.is",function(h){return h?h:function(l,m){return l===m?0!==l||1/l===1/m:l!==l&&m!==m}}); L("Array.prototype.includes",function(h){return h?h:function(l,m){var q=this;q instanceof String&&(q=String(q));var u=q.length,v=m||0;for(0>v&&(v=Math.max(v+u,0));v<u;v++){var A=q[v];if(A===l||Object.is(A,l))return!0}return!1}});function wa(h,l,m){if(null==h)throw new TypeError("The 'this' value for String.prototype."+m+" must not be null or undefined");if(l instanceof RegExp)throw new TypeError("First argument to String.prototype."+m+" must not be a regular expression");return h+""} L("String.prototype.includes",function(h){return h?h:function(l,m){return-1!==wa(this,l,"includes").indexOf(l,m||0)}});L("String.prototype.codePointAt",function(h){return h?h:function(l){var m=wa(this,null,"codePointAt"),q=m.length;l=Number(l)||0;if(0<=l&&l<q){l|=0;var u=m.charCodeAt(l);if(55296>u||56319<u||l+1===q)return u;l=m.charCodeAt(l+1);return 56320>l||57343<l?u:1024*(u-55296)+l+9216}}}); var xa="function"==typeof Object.assign?Object.assign:function(h,l){for(var m=1;m<arguments.length;m++){var q=arguments[m];if(q)for(var u in q)Object.prototype.hasOwnProperty.call(q,u)&&(h[u]=q[u])}return h};L("Object.assign",function(h){return h||xa}); L("Symbol",function(h){function l(v){if(this instanceof l)throw new TypeError("Symbol is not a constructor");return new m(q+(v||"")+"_"+u++,v)}function m(v,A){this.g=v;J(this,"description",{configurable:!0,writable:!0,value:A})}if(h)return h;m.prototype.toString=function(){return this.g};var q="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",u=0;return l}); L("Symbol.iterator",function(h){if(h)return h;h=Symbol("Symbol.iterator");for(var l="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),m=0;m<l.length;m++){var q=ia[l[m]];"function"===typeof q&&"function"!=typeof q.prototype[h]&&J(q.prototype,h,{configurable:!0,writable:!0,value:function(){return ya(ea(this))}})}return h});function ya(h){h={next:h};h[Symbol.iterator]=function(){return this};return h} function za(h,l){h instanceof String&&(h+="");var m=0,q=!1,u={next:function(){if(!q&&m<h.length){var v=m++;return{value:l(v,h[v]),done:!1}}q=!0;return{done:!0,value:void 0}}};u[Symbol.iterator]=function(){return u};return u}L("Array.prototype.keys",function(h){return h?h:function(){return za(this,function(l){return l})}});var Y=this; function Z(h){function l(a){var b=m.call(this)||this;a&&b.fromBuffer(a);return b}function m(){return A.apply(this,arguments)||this}function q(a,b,c){for(var d=[],e=0;e<a;e++)d.push(this.h({ta:b,sa:c,Q:.5/Math.sin(Math.PI/(2*a)*(e+.5))}));this.g=[];for(a=0;a<d.length;a++)this.g[a]={Xa:d[a].b[0],Ya:d[a].b[1],Za:d[a].b[2],Ua:d[a].a[0],Va:d[a].a[1],k:d[a].k,z:[0,0]}}function u(a,b,c){c=2*Math.PI*c/b;b=0;this.g=[];for(var d=0;d<=a;d++)0===d-a/2?this.g[d]=c:(this.g[d]=Math.sin(c*(d-a/2))/(d-a/2),this.g[d]*= .54-.46*Math.cos(2*Math.PI*d/a)),b+=this.g[d];for(c=0;c<=a;c++)this.g[c]/=b;this.z=this.h()}function v(a,b,c){this.H=a;this.v=(a-1)/b;this.R=this.L;"point"===c.method?this.R=this.K:"linear"===c.method?this.R=this.J:"cubic"===c.method&&(this.R=this.F);this.N=1-Math.max(0,Math.min(1,c.tension||0));this.C=c.sincFilterSize||1;this.G=Aa(c.sincWindow||Ba)}function A(){return H.apply(this,arguments)||this}function H(){return w.apply(this,arguments)||this}function w(){var a=x.call(this)||this;a.bitDepth= "0";a.l={s:0,D:!1};a.J={4:17,8:1,"8a":6,"8m":7,16:1,24:1,32:1,"32f":3,64:3,65535:80};return a}function E(a){this.layer=this.version=this.g=0;this.errorProtection=!1;this.sampleRate=this.bitRate=0;this.privateBit=this.padding=!1;this.channelMode="";this.modeExtension=0;this.original=this.copyright=!1;this.sampleLength=this.frameSize=this.i=this.h=this.numChannels=this.emphasis=0;this.hb=!0;this.freeForm=!1;this.L={s:32,D:!0};this.v=[2.5,null,2,1];this.o=[0,3,2,1];this.m=["stereo","joint-stereo","dual-mono", "mono"];this.l={1:{0:0,1:384,2:1152,3:1152},2:{0:0,1:384,2:1152,3:576}};this.j={1:{1:[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,0],2:[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,0],3:[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,0],4:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},2:{1:[0,32,48,56,64,80,96,112,128,144,160,176,192,224,256,0],2:[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,0],3:[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,0],4:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}}; this.A={1:[44100,48E3,32E3,0],2:[22050,24E3,16E3,0]};a&&this.fromBuffer(a)}function x(){return y.apply(this,arguments)||this}function y(){var a=F.call(this)||this;a.ba.push("RF64");a.fmt={chunkId:"",chunkSize:0,audioFormat:0,numChannels:0,sampleRate:0,byteRate:0,blockAlign:0,bitsPerSample:0,cbSize:0,validBitsPerSample:0,dwChannelMask:0,subformat:[],headLayer:0,headBitRate:0,headMode:0,headModeExt:0,headEmphasis:0,headFlags:0,ptsLow:0,ptsHigh:0};a.fact={chunkId:"",chunkSize:0,dwSampleLength:0};a.cue= {chunkId:"",chunkSize:0,dwCuePoints:0,points:[]};a.smpl={chunkId:"",chunkSize:0,dwManufacturer:0,dwProduct:0,dwSamplePeriod:0,dwMIDIUnityNote:0,dwMIDIPitchFraction:0,dwSMPTEFormat:0,dwSMPTEOffset:0,dwNumSampleLoops:0,dwSamplerData:0,loops:[]};a.bext={chunkId:"",chunkSize:0,description:"",originator:"",originatorReference:"",originationDate:"",originationTime:"",timeReference:[0,0],version:0,UMID:"",loudnessValue:0,loudnessRange:0,maxTruePeakLevel:0,maxMomentaryLoudness:0,maxShortTermLoudness:0,reserved:"", codingHistory:""};a.mext={chunkId:"",chunkSize:0,soundInformation:0,frameSize:0,ancillaryDataLength:0,ancillaryDataDef:0,reserved:""};a.cart={chunkId:"",chunkSize:0,version:"",title:"",artist:"",cutId:"",clientId:"",category:"",classification:"",outCue:"",startDate:"",startTime:"",endDate:"",endTime:"",producerAppId:"",producerAppVersion:"",userDef:"",levelReference:0,postTimer:[],reserved:"",url:"",tagText:""};a.iXML={chunkId:"",chunkSize:0,value:""};a.ds64={chunkId:"",chunkSize:0,riffSizeHigh:0, riffSizeLow:0,dataSizeHigh:0,dataSizeLow:0,originationTime:0,sampleCountHigh:0,sampleCountLow:0};a.data={chunkId:"",chunkSize:0,samples:new Uint8Array(0)};a.LIST=[];a.junk={chunkId:"",chunkSize:0,chunkData:[]};a._PMX={chunkId:"",chunkSize:0,value:""};a.m={s:16,D:!1,T:!1,V:!1};return a}function F(){this.container="";this.chunkSize=0;this.format="";this.aa=null;this.i=0;this.g={s:32,D:!1};this.ba=["RIFF","RIFX"];this.padBytes=!0}function P(a,b){this.offset=Math.ceil((a+b)/8);this.h=a;this.i=b;this.g= (1<<a-1)-1;this.j=Math.pow(2,this.g+1);this.m=a+b;this.o=Math.pow(2,-(8*this.offset-1-a))}function O(a,b){this.s=a;this.offset=Math.ceil(a/8);this.max=Math.pow(2,a)-1;this.min=0;this.W=this.g;if(void 0===b?0:b)this.max=Math.pow(2,a)/2-1,this.min=-this.max-1,this.W=this.j}function Ca(a,b){return a=0<a?parseInt(a/b.ha*b.fa,10):parseInt(a/b.ia*b.ga,10)}function Da(a,b){return parseInt(0<a?a*b.fa:a*b.ga,10)}function Ea(a,b){return 0<a?a/b.ha:a/b.ia}function Fa(a,b){function c(d){return d}a!=b&&(["32f", "64"].includes(a)?c=Da:["32f","64"].includes(b)?c=Ea:c=Ca);return c}function ja(a){if("32f"!=a&&"64"!=a&&("8">parseInt(a,10)||"53"<parseInt(a,10)))throw Error("Invalid bit depth.");}function ka(a,b,c){if("8"==a){a=c?-128:128;c=0;for(var d=b.length;c<d;c++)b[c]=b[c]+=a}}function aa(a,b){var c=a-b.u;if(0<=c)var d=0;else d=8,c=-c;var e=ba[b.index],f=e>>3;c>e&&(d|=4,c-=e,f+=e);e>>=1;c>e&&(d|=2,c-=e,f+=e);e>>=1;c>e&&(d|=1,f+=e);c=d;b.u=c&8?b.u-f:b.u+f;-32768>b.u?b.u=-32768:32767<b.u&&(b.u=32767);b.index+= la[c&7];0>b.index?b.index=0:88<b.index&&(b.index=88);return d}function ma(a,b){var c=0;a&4&&(c+=b.step);a&2&&(c+=b.step>>1);a&1&&(c+=b.step>>2);c+=b.step>>3;a&8&&(c=-c);b.u+=c;32767<b.u?b.u=32767:-32767>b.u&&(b.u=-32767);b.index+=la[a];0>b.index?b.index=0:88<b.index&&(b.index=88);b.step=ba[b.index];return b.u}function na(a,b,c,d){d=void 0===d?a.length:d;for(c=void 0===c?0:c;c<d;c+=b){var e=a,f=b,k=c;f--;for(var p=0;p<f;p++){var n=e[k+p];e[k+p]=e[k+f];e[k+f]=n;f--}}}function ca(a,b,c){c=void 0===c? 0:c;for(var d=0,e=a.length;d<e;){var f=a.codePointAt(d);if(128>f)b[c]=f,c++;else{var k=0,p=0;2047>=f?(k=1,p=192):65535>=f?(k=2,p=224):1114111>=f&&(k=3,p=240,d++);b[c]=(f>>6*k)+p;for(c++;0<k;)b[c]=128|f>>6*(k-1)&63,c++,k--}d++}return c}function da(a){var b=Math.floor(a);a-=b;return.5>a?b:.5<a?b+1:b%2?b+1:b}function M(a,b,c){c=void 0===c?a.length:c;var d=void 0===b?0:b;c=void 0===c?a.length:c;b="";for(d=void 0===d?0:d;d<c;){var e=128,f=191,k=!1,p=a[d++];if(0<=p&&127>=p)b+=String.fromCharCode(p);else{var n= 0;194<=p&&223>=p?n=1:224<=p&&239>=p?(n=2,224===a[d]&&(e=160),237===a[d]&&(f=159)):240<=p&&244>=p?(n=3,240===a[d]&&(e=144),244===a[d]&&(f=143)):k=!0;p&=(1<<8-n-1)-1;for(var r=0;r<n;r++){if(a[d]<e||a[d]>f)k=!0;p=p<<6|a[d]&63;d++}k?b+=String.fromCharCode(65533):65535>=p?b+=String.fromCharCode(p):(p-=65536,b+=String.fromCharCode((p>>10&1023)+55296,(p&1023)+56320))}}return b}function B(a){var b=[];ca(a,b);return b}function S(a,b,c,d){d=void 0===d?0:d;b=b||{};for(var e=oa(b.s,b.V,b.T),f=Math.ceil(b.s/8), k=0,p=d,n=a.length;k<n;k++)d=e.ja(c,a[k],d);b.D&&na(c,f,p,d);return d}function N(a,b,c,d,e){d=void 0===d?0:d;e=void 0===e?a.length:e;b=b||{};var f=oa(b.s,b.V,b.T);e-=(e-d)%f.offset;b.D?(a=new Uint8Array(a),b.D&&na(a,f.offset,d,e),pa(a,c,d,e,f)):pa(a,c,d,e,f)}function g(a,b){var c=[];S([a],b,c,0);return c}function Q(a,b,c){c=void 0===c?0:c;var d=[];N(a,b,d,c,c+Math.ceil(b.s/8));return d[0]}function pa(a,b,c,d,e){for(var f=e.offset,k=0;c<d;c+=f,k++)b[k]=e.W(a,c)}function oa(a,b,c){return b&&32==a?new P(8, 23):b&&64==a?new P(11,52):new O(a,c)}function t(a,b){for(var c=B(a),d=c.length;d<b;d++)c.push(0);return c}function Ba(a){return Math.exp(-a/2*a/2)}function Aa(a){return function(b){return(0===b?1:Math.sin(Math.PI*b)/(Math.PI*b))*a(b)}}function qa(a,b,c,d){d=(void 0===d?null:d)||{};var e=new Float64Array(a.length*((c-b)/b+1));d.method=d.method||"cubic";var f=new v(a.length,e.length,{method:d.method,tension:d.tension||0,sincFilterSize:d.sincFilterSize||6,sincWindow:d.sincWindow||void 0,clip:d.clip|| "mirror"});void 0===d.LPF&&(d.LPF=Ga[d.method]);if(d.LPF){d.LPFType=d.LPFType||"IIR";var k=Ha[d.LPFType];if(c>b){b=new k(d.LPForder||ra[d.LPFType],c,b/2);c=0;for(d=e.length;c<d;c++)e[c]=b.filter(f.R(c,a));b.reset();for(a=e.length-1;0<=a;a--)e[a]=b.filter(e[a])}else{b=new k(d.LPForder||ra[d.LPFType],b,c/2);c=0;for(d=a.length;c<d;c++)a[c]=b.filter(a[c]);b.reset();for(c=a.length-1;0<=c;c--)a[c]=b.filter(a[c]);sa(a,e,f)}}else sa(a,e,f);return e}function sa(a,b,c){for(var d=0,e=b.length;d<e;d++)b[d]=c.R(d, a)}function R(a,b){var c=a/b;c%2&&c++;return c}var la=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],ba=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],Ia=[1,1,2,2,3,3,3,3,4,4,4, 4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],Ja=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],Ka=[0,132,396,924,1980,4092,8316,16764];O.prototype.ja=function(a,b,c){c=void 0===c?0:c;b=this.h(Math.round(b));for(var d=0,e=this.offset;d<e;d++)a[c]=Math.floor(b/Math.pow(2,8*d))&255,c++;return c};O.prototype.g=function(a,b){b=void 0===b?0:b;for(var c= 0,d=0;d<this.offset;d++)c+=a[b+d]*Math.pow(256,d);return c};O.prototype.j=function(a,b){return this.i(this.g(a,void 0===b?0:b))};O.prototype.h=function(a){return a>this.max?this.max:a<this.min?this.min:a};O.prototype.i=function(a){a>this.max&&(a-=2*this.max+2);return a};P.prototype.ja=function(a,b,c){Math.abs(b)>this.j-2*this.m&&(b=0>b?-Infinity:Infinity);var d=0>((b=+b)||1/b)?1:0>b?1:0;b=Math.abs(b);var e=Math.min(Math.floor(Math.log(b)/Math.LN2),1023),f=da(b/Math.pow(2,e)*Math.pow(2,this.i));b!== b?(f=Math.pow(2,this.i-1),e=(1<<this.h)-1):0!==b&&(b>=Math.pow(2,1-this.g)?(2<=f/Math.pow(2,this.i)&&(e+=1,f=1),e>this.g?(e=(1<<this.h)-1,f=0):(e+=this.g,f=da(f)-Math.pow(2,this.i))):(f=da(b/Math.pow(2,1-this.g-this.i)),e=0));return this.l(a,c,d,e,f)};P.prototype.W=function(a,b){for(var c=(1<<this.h)-1,d="",e=this.offset-1;0<=e;e--){var f=a[e+b].toString(2);d+="00000000".substring(f.length)+f}e="1"==d.charAt(0)?-1:1;d=d.substring(1);f=parseInt(d.substring(0,this.h),2);d=d.substring(this.h);if(f== c)return 0!==parseInt(d,2)?NaN:Infinity*e;0===f?(f+=1,c=parseInt(d,2)):c=parseInt("1"+d,2);return e*c*this.o*Math.pow(2,f-this.g)};P.prototype.l=function(a,b,c,d,e){var f=[];f.push(c);for(c=this.h;0<c;--c)f[c]=d%2?1:0,d=Math.floor(d/2);d=f.length;for(c=this.i;0<c;--c)f[d+c]=e%2?1:0,e=Math.floor(e/2);e=f.join("");f=this.offset+b-1;for(d=b;f>=b;)a[f]=parseInt(e.substring(0,8),2),e=e.substring(8),f--,d++;return d};F.prototype.Ra=function(a){this.i=0;this.container=this.j(a,4);if(-1===this.ba.indexOf(this.container))throw Error("Not a supported format."); this.g.D="RIFX"===this.container;this.chunkSize=this.h(a);this.format=this.j(a,4);this.aa={chunkId:this.container,chunkSize:this.chunkSize,format:this.format,subChunks:this.Y(a)}};F.prototype.A=function(a,b){b=void 0===b?!1:b;for(var c=this.aa.subChunks,d=[],e=0;e<c.length;e++)if(c[e].chunkId==a)if(b)d.push(c[e]);else return c[e];return"LIST"==a?d.length?d:null:null};F.prototype.j=function(a,b){var c=M(a,this.i,this.i+b);this.i+=b;return c};F.prototype.h=function(a){a=Q(a,this.g,this.i);this.i+=4; return a};F.prototype.Y=function(a){for(var b=[],c=this.i;c<=a.length-8;)b.push(this.ub(a,c)),c+=8+b[b.length-1].chunkSize,this.padBytes&&(c=c%2?c+1:c);return b};F.prototype.ub=function(a,b){var c={chunkId:this.Wa(a,b),chunkSize:this.$a(a,b)};if("LIST"==c.chunkId)c.format=M(a,b+8,b+12),this.i+=4,c.subChunks=this.Y(a);else{var d=c.chunkSize;this.padBytes&&(d=d%2?d+1:d);this.i=b+8+d;c.chunkData={start:b+8,end:this.i}}return c};F.prototype.Wa=function(a,b){this.i+=4;return M(a,b,b+4)};F.prototype.$a= function(a,b){this.i+=4;return Q(a,this.g,b+4)};X(y,F);y.prototype.fromBuffer=function(a,b){b=void 0===b?!0:b;this.M();this.Ra(a);this.m.D=this.g.D;if("WAVE"!=this.format)throw Error('Could not find the "WAVE" format identifier');this.va(a);this.xa(a);this.wa(a);this.pa(a);this.Ea(a);this.qa(a);this.Ha(a);this.ra(a);this.Fa(a);this.ua(a,b);this.za(a);this.Aa(a);this.Ga(a)};y.prototype.M=function(){var a=new y;Object.assign(this.fmt,a.fmt);Object.assign(this.fact,a.fact);Object.assign(this.cue,a.cue); Object.assign(this.smpl,a.smpl);Object.assign(this.bext,a.bext);Object.assign(this.mext,a.mext);Object.assign(this.cart,a.cart);Object.assign(this.iXML,a.iXML);Object.assign(this.ds64,a.ds64);Object.assign(this.data,a.data);this.LIST=[];Object.assign(this.junk,a.junk);Object.assign(this._PMX,a._PMX)};y.prototype.xa=function(a){var b=this.A("fmt ");if(b)this.i=b.chunkData.start,this.fmt.chunkId=b.chunkId,this.fmt.chunkSize=b.chunkSize,this.fmt.audioFormat=this.o(a),this.fmt.numChannels=this.o(a),this.fmt.sampleRate= this.h(a),this.fmt.byteRate=this.h(a),this.fmt.blockAlign=this.o(a),this.fmt.bitsPerSample=this.o(a),this.ya(a);else throw Error('Could not find the "fmt " chunk');};y.prototype.ya=function(a){16<this.fmt.chunkSize&&(this.fmt.cbSize=this.o(a),80==this.fmt.audioFormat&&40==this.fmt.chunkSize?(this.fmt.headLayer=this.o(a),this.fmt.headBitRate=this.h(a),this.fmt.headMode=this.o(a),this.fmt.headModeExt=this.o(a),this.fmt.headEmphasis=this.o(a),this.fmt.headFlags=this.o(a),this.fmt.ptsLow=this.h(a),this.fmt.ptsHigh= this.h(a)):18<this.fmt.chunkSize&&(this.fmt.validBitsPerSample=this.o(a),20<this.fmt.chunkSize&&(this.fmt.dwChannelMask=this.h(a),this.fmt.subformat=[this.h(a),this.h(a),this.h(a),this.h(a)])))};y.prototype.wa=function(a){var b=this.A("fact");b&&(this.i=b.chunkData.start,this.fact.chunkId=b.chunkId,this.fact.chunkSize=b.chunkSize,this.fact.dwSampleLength=this.h(a))};y.prototype.ra=function(a){var b=this.A("cue ");if(b)for(this.i=b.chunkData.start,this.cue.chunkId=b.chunkId,this.cue.chunkSize=b.chunkSize, this.cue.dwCuePoints=this.h(a),b=0;b<this.cue.dwCuePoints;b++)this.cue.points.push({dwName:this.h(a),dwPosition:this.h(a),fccChunk:this.j(a,4),dwChunkStart:this.h(a),dwBlockStart:this.h(a),dwSampleOffset:this.h(a)})};y.prototype.Fa=function(a){var b=this.A("smpl");if(b)for(this.i=b.chunkData.start,this.smpl.chunkId=b.chunkId,this.smpl.chunkSize=b.chunkSize,this.smpl.dwManufacturer=this.h(a),this.smpl.dwProduct=this.h(a),this.smpl.dwSamplePeriod=this.h(a),this.smpl.dwMIDIUnityNote=this.h(a),this.smpl.dwMIDIPitchFraction= this.h(a),this.smpl.dwSMPTEFormat=this.h(a),this.smpl.dwSMPTEOffset=this.h(a),this.smpl.dwNumSampleLoops=this.h(a),this.smpl.dwSamplerData=this.h(a),b=0;b<this.smpl.dwNumSampleLoops;b++)this.smpl.loops.push({dwName:this.h(a),dwType:this.h(a),dwStart:this.h(a),dwEnd:this.h(a),dwFraction:this.h(a),dwPlayCount:this.h(a)})};y.prototype.ua=function(a,b){var c=this.A("data");if(c)this.data.chunkId="data",this.data.chunkSize=c.chunkSize,b&&(this.data.samples=a.slice(c.chunkData.start,c.chunkData.end));else throw Error('Could not find the "data" chunk'); };y.prototype.pa=function(a){var b=this.A("bext");b&&(this.i=b.chunkData.start,this.bext.chunkId=b.chunkId,this.bext.chunkSize=b.chunkSize,this.bext.description=this.j(a,256),this.bext.originator=this.j(a,32),this.bext.originatorReference=this.j(a,32),this.bext.originationDate=this.j(a,10),this.bext.originationTime=this.j(a,8),this.bext.timeReference=[this.h(a),this.h(a)],this.bext.version=this.o(a),this.bext.UMID=this.j(a,64),this.bext.loudnessValue=this.o(a),this.bext.loudnessRange=this.o(a),this.bext.maxTruePeakLevel= this.o(a),this.bext.maxMomentaryLoudness=this.o(a),this.bext.maxShortTermLoudness=this.o(a),this.bext.reserved=this.j(a,180),this.bext.codingHistory=this.j(a,this.bext.chunkSize-602))};y.prototype.Ea=function(a){var b=this.A("mext");b&&(this.i=b.chunkData.start,this.mext.chunkId=b.chunkId,this.mext.chunkSize=b.chunkSize,this.mext.soundInformation=this.o(a),this.mext.frameSize=this.o(a),this.mext.ancillaryDataLength=this.o(a),this.mext.ancillaryDataDef=this.o(a),this.mext.reserved=this.j(a,4))};y.prototype.qa= function(a){var b=this.A("cart");if(b){this.i=b.chunkData.start;this.cart.chunkId=b.chunkId;this.cart.chunkSize=b.chunkSize;this.cart.version=this.j(a,4);this.cart.title=this.j(a,64);this.cart.artist=this.j(a,64);this.cart.cutId=this.j(a,64);this.cart.clientId=this.j(a,64);this.cart.category=this.j(a,64);this.cart.classification=this.j(a,64);this.cart.outCue=this.j(a,64);this.cart.startDate=this.j(a,10);this.cart.startTime=this.j(a,8);this.cart.endDate=this.j(a,10);this.cart.endTime=this.j(a,8);this.cart.producerAppId= this.j(a,64);this.cart.producerAppVersion=this.j(a,64);this.cart.userDef=this.j(a,64);this.cart.levelReference=this.h(a);this.cart.postTimer=[];for(var c=0;8>c;c++)this.cart.postTimer.push({usage:this.j(a,4),value:this.h(a)});this.cart.reserved=this.j(a,276);this.cart.url=this.j(a,1024);this.cart.tagText=this.j(a,b.chunkSize-2048)}};y.prototype.Ha=function(a){var b=this.A("iXML");b&&(this.i=b.chunkData.start,this.iXML.chunkId=b.chunkId,this.iXML.chunkSize=b.chunkSize,this.iXML.value=M(a,this.i,this.i+ this.iXML.chunkSize))};y.prototype.va=function(a){var b=this.A("ds64");if(b)this.i=b.chunkData.start,this.ds64.chunkId=b.chunkId,this.ds64.chunkSize=b.chunkSize,this.ds64.riffSizeHigh=this.h(a),this.ds64.riffSizeLow=this.h(a),this.ds64.dataSizeHigh=this.h(a),this.ds64.dataSizeLow=this.h(a),this.ds64.originationTime=this.h(a),this.ds64.sampleCountHigh=this.h(a),this.ds64.sampleCountLow=this.h(a);else if("RF64"==this.container)throw Error('Could not find the "ds64" chunk');};y.prototype.Aa=function(a){var b= this.A("LIST",!0);if(null!==b)for(var c=0;c<b.length;c++){var d=b[c];this.LIST.push({chunkId:d.chunkId,chunkSize:d.chunkSize,format:d.format,subChunks:[]});for(var e=0;e<d.subChunks.length;e++)this.Ca(d.subChunks[e],d.format,a)}};y.prototype.Ca=function(a,b,c){"adtl"==b?-1<["labl","note","ltxt"].indexOf(a.chunkId)&&this.Da(c,a):"INFO"==b&&this.Ba(c,a)};y.prototype.Da=function(a,b){this.i=b.chunkData.start;var c={chunkId:b.chunkId,chunkSize:b.chunkSize,dwName:this.h(a)};"ltxt"==b.chunkId?(c.dwSampleLength= this.h(a),c.dwPurposeID=this.h(a),c.dwCountry=this.o(a),c.dwLanguage=this.o(a),c.dwDialect=this.o(a),c.dwCodePage=this.o(a),c.value=""):c.value=this.$(a,this.i);this.LIST[this.LIST.length-1].subChunks.push(c)};y.prototype.Ba=function(a,b){this.i=b.chunkData.start;this.LIST[this.LIST.length-1].subChunks.push({chunkId:b.chunkId,chunkSize:b.chunkSize,value:this.$(a,this.i)})};y.prototype.za=function(a){var b=this.A("junk");b&&(this.junk={chunkId:b.chunkId,chunkSize:b.chunkSize,chunkData:[].slice.call(a.slice(b.chunkData.start, b.chunkData.end))})};y.prototype.Ga=function(a){var b=this.A("_PMX");b&&(this.i=b.chunkData.start,this._PMX.chunkId=b.chunkId,this._PMX.chunkSize=b.chunkSize,this._PMX.value=M(a,this.i,this.i+this._PMX.chunkSize))};y.prototype.$=function(a,b){for(var c=b=void 0===b?0:b;c<a.length&&(this.i++,0!==a[c]);c++);return M(a,b,this.i-1)};y.prototype.o=function(a){a=Q(a,this.m,this.i);this.i+=2;return a};X(x,y);x.prototype.toBuffer=function(){this.m.D="RIFX"===this.container;this.g.D=this.m.D;for(var a=[this.kb(), this.fb(),this.Sa(),this.qb(),this.ka(),this.wb(),this.ib(),this.gb(),B(this.data.chunkId),g(this.data.samples.length,this.g),this.data.samples,this.ab(),this.sb(),this.lb(),this.vb()],b=0,c=0;c<a.length;c++)b+=a[c].length;c=new Uint8Array(b+12);var d=ca(this.container,c,0);d=S([b+4],this.g,c,void 0===d?0:d);d=ca(this.format,c,void 0===d?0:d);for(b=0;b<a.length;b++)c.set(a[b],d),d+=a[b].length;return c};x.prototype.Sa=function(){var a=[];this.Qa();this.bext.chunkId&&(this.bext.chunkSize=602+this.bext.codingHistory.length, a=a.concat(B(this.bext.chunkId),g(602+this.bext.codingHistory.length,this.g),t(this.bext.description,256),t(this.bext.originator,32),t(this.bext.originatorReference,32),t(this.bext.originationDate,10),t(this.bext.originationTime,8),g(this.bext.timeReference[0],this.g),g(this.bext.timeReference[1],this.g),g(this.bext.version,this.m),t(this.bext.UMID,64),g(this.bext.loudnessValue,this.m),g(this.bext.loudnessRange,this.m),g(this.bext.maxTruePeakLevel,this.m),g(this.bext.maxMomentaryLoudness,this.m), g(this.bext.maxShortTermLoudness,this.m),t(this.bext.reserved,180),t(this.bext.codingHistory,this.bext.codingHistory.length)));this.v(a);return a};x.prototype.qb=function(){var a=[];this.mext.chunkId&&(this.mext.chunkSize=12,a=a.concat(B(this.mext.chunkId),g(this.mext.chunkSize,this.g),g(this.mext.soundInformation,this.m),g(this.mext.frameSize,this.m),g(this.mext.ancillaryDataLength,this.m),g(this.mext.ancillaryDataDef,this.m),t(this.mext.reserved,4)));return a};x.prototype.Qa=function(){for(var a in this.bext)if(this.bext.hasOwnProperty(a)&& this.bext[a]&&"timeReference"!=a){this.bext.chunkId="bext";break}if(this.bext.timeReference[0]||this.bext.timeReference[1])this.bext.chunkId="bext"};x.prototype.ka=function(){var a=[],b=this.rb();this.cart.chunkId&&(this.cart.chunkSize=2048+this.cart.tagText.length,a=a.concat(B(this.cart.chunkId),g(this.cart.chunkSize,this.g),t(this.cart.version,4),t(this.cart.title,64),t(this.cart.artist,64),t(this.cart.cutId,64),t(this.cart.clientId,64),t(this.cart.category,64),t(this.cart.classification,64),t(this.cart.outCue, 64),t(this.cart.startDate,10),t(this.cart.startTime,8),t(this.cart.endDate,10),t(this.cart.endTime,8),t(this.cart.producerAppId,64),t(this.cart.producerAppVersion,64),t(this.cart.userDef,64),g(this.cart.levelReference,this.g),b,t(this.cart.reserved,276),t(this.cart.url,1024),t(this.cart.tagText,this.cart.tagText.length)));this.v(a);return a};x.prototype.rb=function(){for(var a=[],b=0;8>b;b++){var c="",d=4294967295;b<this.cart.postTimer.length&&(c=this.cart.postTimer[b].usage,d=this.cart.postTimer[b].value); a=a.concat(t(c,4),g(d,this.g))}return a};x.prototype.wb=function(){var a=[];if(this.iXML.chunkId){var b=B(this.iXML.value);this.iXML.chunkSize=b.length;a=a.concat(B(this.iXML.chunkId),g(this.iXML.chunkSize,this.g),b)}this.v(a);return a};x.prototype.fb=function(){var a=[];this.ds64.chunkId&&(a=a.concat(B(this.ds64.chunkId),g(this.ds64.chunkSize,this.g),g(this.ds64.riffSizeHigh,this.g),g(this.ds64.riffSizeLow,this.g),g(this.ds64.dataSizeHigh,this.g),g(this.ds64.dataSizeLow,this.g),g(this.ds64.originationTime, this.g),g(this.ds64.sampleCountHigh,this.g),g(this.ds64.sampleCountLow,this.g)));this.v(a);return a};x.prototype.ab=function(){var a=[];if(this.cue.chunkId){var b=this.cb();a=a.concat(B(this.cue.chunkId),g(b.length+4,this.g),g(this.cue.dwCuePoints,this.g),b)}this.v(a);return a};x.prototype.cb=function(){for(var a=[],b=0;b<this.cue.dwCuePoints;b++)a=a.concat(g(this.cue.points[b].dwName,this.g),g(this.cue.points[b].dwPosition,this.g),B(this.cue.points[b].fccChunk),g(this.cue.points[b].dwChunkStart, this.g),g(this.cue.points[b].dwBlockStart,this.g),g(this.cue.points[b].dwSampleOffset,this.g));return a};x.prototype.sb=function(){var a=[];if(this.smpl.chunkId){var b=this.tb();a=a.concat(B(this.smpl.chunkId),g(b.length+36,this.g),g(this.smpl.dwManufacturer,this.g),g(this.smpl.dwProduct,this.g),g(this.smpl.dwSamplePeriod,this.g),g(this.smpl.dwMIDIUnityNote,this.g),g(this.smpl.dwMIDIPitchFraction,this.g),g(this.smpl.dwSMPTEFormat,this.g),g(this.smpl.dwSMPTEOffset,this.g),g(this.smpl.dwNumSampleLoops, this.g),g(this.smpl.dwSamplerData,this.g),b)}this.v(a);return a};x.prototype.tb=function(){for(var a=[],b=0;b<this.smpl.dwNumSampleLoops;b++)a=a.concat(g(this.smpl.loops[b].dwName,this.g),g(this.smpl.loops[b].dwType,this.g),g(this.smpl.loops[b].dwStart,this.g),g(this.smpl.loops[b].dwEnd,this.g),g(this.smpl.loops[b].dwFraction,this.g),g(this.smpl.loops[b].dwPlayCount,this.g));return a};x.prototype.gb=function(){var a=[];this.fact.chunkId&&(a=a.concat(B(this.fact.chunkId),g(this.fact.chunkSize,this.g), g(this.fact.dwSampleLength,this.g)));this.v(a);return a};x.prototype.ib=function(){var a=[];if(this.fmt.chunkId)return a=a.concat(B(this.fmt.chunkId),g(this.fmt.chunkSize,this.g),g(this.fmt.audioFormat,this.m),g(this.fmt.numChannels,this.m),g(this.fmt.sampleRate,this.g),g(this.fmt.byteRate,this.g),g(this.fmt.blockAlign,this.m),g(this.fmt.bitsPerSample,this.m),this.jb()),this.v(a),a;throw Error('Could not find the "fmt " chunk');};x.prototype.jb=function(){var a=[];16<this.fmt.chunkSize&&(a=a.concat(g(this.fmt.cbSize, this.m)));80==this.fmt.audioFormat&&40==this.fmt.chunkSize?a=a.concat(g(this.fmt.headLayer,this.m),g(this.fmt.headBitRate,this.g),g(this.fmt.headMode,this.m),g(this.fmt.headModeExt,this.m),g(this.fmt.headEmphasis,this.m),g(this.fmt.headFlags,this.m),g(this.fmt.ptsLow,this.g),g(this.fmt.ptsHigh,this.g)):(18<this.fmt.chunkSize&&(a=a.concat(g(this.fmt.validBitsPerSample,this.m))),20<this.fmt.chunkSize&&(a=a.concat(g(this.fmt.dwChannelMask,this.g))),24<this.fmt.chunkSize&&(a=a.concat(g(this.fmt.subformat[0], this.g),g(this.fmt.subformat[1],this.g),g(this.fmt.subformat[2],this.g),g(this.fmt.subformat[3],this.g))));return a};x.prototype.lb=function(){for(var a=[],b=0;b<this.LIST.length;b++){var c=this.nb(this.LIST[b].subChunks,this.LIST[b].format);a=a.concat(B(this.LIST[b].chunkId),g(c.length+4,this.g),B(this.LIST[b].format),c)}this.v(a);return a};x.prototype.nb=function(a,b){for(var c=[],d=0,e=a.length;d<e;d++)"INFO"==b?c=c.concat(this.mb(a[d])):"adtl"==b&&(c=c.concat(this.ob(a[d]))),this.v(c);return c}; x.prototype.mb=function(a){var b=[],c=t(a.value,a.value.length);b=b.concat(B(a.chunkId),g(c.length+1,this.g),c);b.push(0);return b};x.prototype.ob=function(a){var b=[];if(-1<["labl","note"].indexOf(a.chunkId)){var c=t(a.value,a.value.length);b=b.concat(B(a.chunkId),g(c.length+5,this.g),g(a.dwName,this.g),c);b.push(0)}else"ltxt"==a.chunkId&&(b=b.concat(this.pb(a)));return b};x.prototype.pb=function(a){return[].concat(B(a.chunkId),g(a.value.length+20,this.g),g(a.dwName,this.g),g(a.dwSampleLength,this.g), g(a.dwPurposeID,this.g),g(a.dwCountry,this.m),g(a.dwLanguage,this.m),g(a.dwDialect,this.m),g(a.dwCodePage,this.m),t(a.value,a.value.length))};x.prototype.vb=function(){var a=[];if(this._PMX.chunkId){var b=B(this._PMX.value);this._PMX.chunkSize=b.length;a=a.concat(B(this._PMX.chunkId),g(this._PMX.chunkSize,this.g),b)}this.v(a);return a};x.prototype.kb=function(){var a=[];if(this.junk.chunkId)return a.concat(B(this.junk.chunkId),g(this.junk.chunkData.length,this.g),this.junk.chunkData);this.v(a);return a}; x.prototype.v=function(a){this.padBytes&&a.length%2&&a.push(0)};E.prototype.fromBuffer=function(a){this.B(a);this.G(a)};E.prototype.B=function(a){this.h=this.M(a);for(this.g+=this.h;this.g+4<a.length;){var b=[a[this.g],a[this.g+1]];if(255==b[0]&&224==(b[1]&224))break;else this.g+=255==b[1]?1:2}};E.prototype.M=function(a){var b=0;if("ID3"==M(a,0,3)){b=Q(a.subarray(6,10),this.L,0);for(var c=2130706432,d=0;c;)d>>=1,d|=b&c,c>>=8;b=10+d;a[5]&2&&(b+=10)}return b};E.prototype.G=function(a){this.H(a);this.numChannels= "mono"==this.channelMode?1:2;this.i=this.l[this.version][this.layer];this.frameSize=this.C();this.sampleLength=this.K(a)};E.prototype.K=function(a){return Math.floor((a.length-this.h)/this.frameSize)*this.i};E.prototype.C=function(){return this.F(this.i,this.layer,this.bitRate,this.sampleRate,this.padding)};E.prototype.F=function(a,b,c,d,e){return 1E3*c/8*a/d+(e?1:0)*(1==b?4:1)|0};E.prototype.H=function(a){for(var b=[],c=0;4>c;c++)b[c]=this.J(a);if(255!==b[0]||224!==(b[1]&224))throw Error("Invalid frame header: [255, 224] != ["+ b[0]+", "+b[1]+"]");this.version=this.v[b[1]>>3&3];this.layer=this.o[b[1]>>1&3];this.errorProtection=!(b[1]&1);this.bitRate=this.j[this.version][this.layer][b[2]>>4&15];this.sampleRate=this.A[this.version][b[2]>>2&3];this.padding=b[2]&2?!0:!1;this.privateBit=b[2]&1?!0:!1;this.channelMode=this.m[b[3]>>6&3];this.modeExtension=b[3]>>6&3;this.copyright=b[3]&8?!0:!1;this.original=b[3]&4?!0:!1;this.emphasis=b[3]&3};E.prototype.J=function(a){a=a[this.g];this.g+=1;return a};X(w,x);w.prototype.fromScratch= function(a,b,c,d,e){e=e||{};this.M();this.Z(a,b,c,d,e)};w.prototype.fromMpeg=function(a,b){b=void 0===b?null:b;this.M();null==b&&(b=new E(a));var c=this.yb(b);this.container="RIFF";this.chunkSize=694+c.length+a.length;this.format="WAVE";this.bitDepth="65535";this.fmt.chunkId="fmt ";this.fmt.chunkSize=40;this.fmt.audioFormat=80;this.fmt.numChannels=b.numChannels;this.fmt.sampleRate=b.sampleRate;this.fmt.byteRate=b.bitRate/8*1E3;this.fmt.blockAlign=b.frameSize;this.fmt.bitsPerSample=65535;this.fmt.cbSize= 22;this.fmt.headLayer=Math.pow(2,b.layer-1);this.fmt.headBitRate=1E3*b.bitRate;this.fmt.headMode=this.na(b);this.fmt.headModeExt=this.ma(b);this.fmt.headEmphasis=b.emphasis+1;this.fmt.headFlags=this.zb(b);this.fmt.ptsLow=0;this.fmt.ptsHigh=0;this.mext.chunkId="mext";this.mext.chunkSize=12;this.mext.soundInformation=this.oa(b);this.mext.frameSize=b.frameSize;this.mext.ancillaryDataLength=0;this.mext.ancillaryDataDef=0;this.mext.reserved="";this.bext.chunkId="bext";this.bext.chunkSize=602+c.length; this.bext.timeReference=[0,0];this.bext.version=1;this.bext.codingHistory=c;this.fact.chunkId="fact";this.fact.chunkSize=4;this.fact.dwSampleLength=b.sampleLength;this.data.chunkId="data";this.data.samples=a;this.data.chunkSize=this.data.samples.length};w.prototype.oa=function(a){var b=0;a.hb&&(b+=1);a.padding||(b+=2);44100!=a.sampleRate&&22050!=a.sampleRate||a.padding||(b+=4);a.freeForm&&(b+=8);return b};w.prototype.na=function(a){return{stereo:1,"joint-stereo":2,"dual-mono":4,mono:8}[a.channelMode]}; w.prototype.ma=function(a){return"joint-stereo"==a.channelMode?Math.pow(2,a.modeExtension):0};w.prototype.yb=function(a){return"A=MPEG"+a.version+"L"+a.layer+",F="+a.sampleRate+",B="+a.bitRate+",M="+a.channelMode+",T=wavefile\r\n\x00\x00"};w.prototype.zb=function(a){var b=0;a.privateBit&&(b+=1);a.copyright&&(b+=2);a.original&&(b+=4);a.errorProtection&&(b+=8);0<a.version&&(b+=16);return b};w.prototype.fromBuffer=function(a,b){x.prototype.fromBuffer.call(this,a,void 0===b?!0:b);this.Ia();this.ca()}; w.prototype.toBuffer=function(){this.da();return x.prototype.toBuffer.call(this)};w.prototype.getSamples=function(a,b){a=void 0===a?!1:a;b=void 0===b?Float64Array:b;var c=new b(this.data.samples.length/(this.l.s/8));N(this.data.samples,this.l,c,0,this.data.samples.length);if(!a&&1<this.fmt.numChannels){var d=this.fmt.numChannels,e=b;e=void 0===e?Float64Array:e;for(var f=[],k=0;k<d;k++)f[k]=new e(c.length/d);for(e=0;e<d;e++){k=e;for(var p=0;k<c.length;k+=d,p++)f[e][p]=c[k]}c=f}return c};w.prototype.getSample= function(a){a*=this.l.s/8;if(a+this.l.s/8>this.data.samples.length)throw Error("Range error");return Q(this.data.samples.slice(a,a+this.l.s/8),this.l)};w.prototype.setSample=function(a,b){a*=this.l.s/8;if(a+this.l.s/8>this.data.samples.length)throw Error("Range error");S([b],this.l,this.data.samples,void 0===a?0:a)};w.prototype.getiXML=function(){return this.iXML.value};w.prototype.setiXML=function(a){if("string"!==typeof a)throw new TypeError("iXML value must be a string.");this.iXML.value=a;this.iXML.chunkId= "iXML"};w.prototype.get_PMX=function(){return this._PMX.value};w.prototype.set_PMX=function(a){if("string"!==typeof a)throw new TypeError("_PMX value must be a string.");this._PMX.value=a;this._PMX.chunkId="_PMX"};w.prototype.Z=function(a,b,c,d,e){e.container||(e.container="RIFF");this.container=e.container;this.bitDepth=c;var f=[];if(0<d.length)if(d[0].constructor!==Number){f=new Float64Array(d[0].length*d.length);for(var k=0,p=d[0].length,n=0;k<p;k++)for(var r=0,z=d.length;r<z;r++,n++)f[n]=d[r][k]}else f= d;d=f;this.ca();f=this.l.s/8;this.data.samples=new Uint8Array(d.length*f);S(d,this.l,this.data.samples,0);this.xb(c,a,b,f,this.data.samples.length,e);this.data.chunkId="data";this.data.chunkSize=this.data.samples.length;this.da()};w.prototype.xb=function(a,b,c,d,e,f){"4"==a?this.Ka(a,b,c,d,e,f):"8a"==a||"8m"==a?this.Ma(a,b,c,d,e,f):-1==Object.keys(this.J).indexOf(a)||2<b?this.Oa(a,b,c,d,e,f):this.G(a,b,c,d,e,f)};w.prototype.G=function(a,b,c,d,e,f){this.container=f.container;this.chunkSize=36+e;this.format= "WAVE";this.bitDepth=a;this.fmt={chunkId:"fmt ",chunkSize:16,audioFormat:this.J[a]||65534,numChannels:b,sampleRate:c,byteRate:b*d*c,blockAlign:b*d,bitsPerSample:parseInt(a,10),cbSize:0,validBitsPerSample:0,dwChannelMask:0,subformat:[]}};w.prototype.Ka=function(a,b,c,d,e,f){this.G(a,b,c,d,e,f);this.chunkSize=40+e;this.fmt.chunkSize=20;this.fmt.byteRate=4055;this.fmt.blockAlign=256;this.fmt.bitsPerSample=4;this.fmt.cbSize=2;this.fmt.validBitsPerSample=505;this.fact={chunkId:"fact",chunkSize:4,dwSampleLength:2* e}};w.prototype.Oa=function(a,b,c,d,e,f){this.G(a,b,c,d,e,f);this.chunkSize=60+e;this.fmt.chunkSize=40;this.fmt.bitsPerSample=(parseInt(a,10)-1|7)+1;this.fmt.cbSize=22;this.fmt.validBitsPerSample=parseInt(a,10);a=this.fmt;c=0;1===b?c=4:2===b?c=3:4===b?c=51:6===b?c=63:8===b&&(c=1599);a.dwChannelMask=c;this.fmt.subformat=[1,1048576,2852126848,1905997824]};w.prototype.Ma=function(a,b,c,d,e,f){this.G(a,b,c,d,e,f);this.chunkSize=40+e;this.fmt.chunkSize=20;this.fmt.cbSize=2;this.fmt.validBitsPerSample= 8;this.fact={chunkId:"fact",chunkSize:4,dwSampleLength:e}};w.prototype.Ia=function(){3===this.fmt.audioFormat&&32===this.fmt.bitsPerSample?this.bitDepth="32f":6===this.fmt.audioFormat?this.bitDepth="8a":7===this.fmt.audioFormat?this.bitDepth="8m":80===this.fmt.audioFormat?this.bitDepth="65535":this.bitDepth=this.fmt.bitsPerSample.toString()};w.prototype.Ta=function(){if(!(this.J[this.bitDepth]||8<parseInt(this.bitDepth,10)&&54>parseInt(this.bitDepth,10)))throw Error("Invalid bit depth.");};w.prototype.ca= function(){this.l={s:(parseInt(this.bitDepth,10)-1|7)+1,V:"32f"==this.bitDepth||"64"==this.bitDepth,T:"8"!=this.bitDepth,D:"RIFX"==this.container};-1<["4","8a","8m"].indexOf(this.bitDepth)&&(this.l.s=8,this.l.T=!1)};w.prototype.da=function(){this.Ta();var a=this.fmt.numChannels;if(1>a||65535<a*this.fmt.bitsPerSample/8)throw Error("Invalid number of channels.");a=this.fmt.sampleRate;if(1>a||4294967295<this.fmt.bitsPerSample/8*this.fmt.numChannels*a)throw Error("Invalid sample rate.");};X(H,w);H.prototype.getTag= function(a){a=this.U(a);return null!==a.I?this.LIST[a.LIST].subChunks[a.I].value:null};H.prototype.setTag=function(a,b){var c=a;if(c.constructor!==String)throw Error("Invalid tag name.");if(4>c.length)for(var d=0,e=4-c.length;d<e;d++)c+=" ";a=c;c=this.U(a);null!==c.I?(this.LIST[c.LIST].subChunks[c.I].chunkSize=b.length+1,this.LIST[c.LIST].subChunks[c.I].value=b):null!==c.LIST?this.LIST[c.LIST].subChunks.push({chunkId:a,chunkSize:b.length+1,value:b}):(this.LIST.push({chunkId:"LIST",chunkSize:b.length+ 9,format:"INFO",subChunks:[]}),this.LIST[this.LIST.length-1].subChunks.push({chunkId:a,chunkSize:b.length+1,value:b}))};H.prototype.deleteTag=function(a){a=this.U(a);return null!==a.I?(this.LIST[a.LIST].subChunks.splice(a.I,1),!0):!1};H.prototype.listTags=function(){var a=this.H("INFO"),b={};if(null!==a)for(var c=0,d=this.LIST[a].subChunks.length;c<d;c++)b[this.LIST[a].subChunks[c].chunkId]=this.LIST[a].subChunks[c].value;return b};H.prototype.H=function(a){for(var b=0,c=this.LIST.length;b<c;b++)if(this.LIST[b].format== a)return b;return null};H.prototype.U=function(a){for(var b={LIST:null,I:null},c=0,d=this.LIST.length;c<d;c++)if("INFO"==this.LIST[c].format){b.LIST=c;d=0;for(var e=this.LIST[c].subChunks.length;d<e;d++)if(this.LIST[c].subChunks[d].chunkId==a){b.I=d;break}break}return b};X(A,H);A.prototype.listCuePoints=function(){for(var a=this.N(),b=0,c=a.length;b<c;b++)a[b].position=a[b].dwSampleOffset/this.fmt.sampleRate*1E3,a[b].dwSampleLength?(a[b].end=a[b].dwSampleLength/this.fmt.sampleRate*1E3,a[b].end+=a[b].position): a[b].end=null,delete a[b].value;return a};A.prototype.setCuePoint=function(a){this.cue.chunkId="cue ";a.label||(a.label="");var b=this.N();this.L();this.cue.points=[];a.dwSampleOffset=a.position*this.fmt.sampleRate/1E3;a.dwSampleLength=0;a.end&&(a.dwSampleLength=a.end*this.fmt.sampleRate/1E3-a.dwSampleOffset);0===b.length?this.F(a,1):this.Ja(b,a);this.cue.dwCuePoints=this.cue.points.length};A.prototype.deleteCuePoint=function(a){this.cue.chunkId="cue ";var b=this.N();this.L();var c=this.cue.points.length; this.cue.points=[];for(var d=0;d<c;d++)d+1!==a&&this.F(b[d],d+1);this.cue.dwCuePoints=this.cue.points.length;this.cue.dwCuePoints?this.cue.chunkId="cue ":(this.cue.chunkId="",this.L())};A.prototype.updateLabel=function(a,b){var c=this.H("adtl");if(null!==c)for(var d=0,e=this.LIST[c].subChunks.length;d<e;d++)this.LIST[c].subChunks[d].dwName==a&&(this.LIST[c].subChunks[d].value=b)};A.prototype.N=function(){for(var a=[],b=0;b<this.cue.points.length;b++){var c=this.cue.points[b],d=this.eb(c.dwName);d.label= d.value?d.value:"";d.dwPosition=c.dwPosition;d.fccChunk=c.fccChunk;d.dwChunkStart=c.dwChunkStart;d.dwBlockStart=c.dwBlockStart;d.dwSampleOffset=c.dwSampleOffset;a.push(d)}return a};A.prototype.eb=function(a){var b=this.H("adtl"),c={};null!==b&&this.bb(c,b,a);return c};A.prototype.bb=function(a,b,c){for(var d=0,e=this.LIST[b].subChunks.length;d<e;d++)if(this.LIST[b].subChunks[d].dwName==c){var f=this.LIST[b].subChunks[d];a.value=f.value||a.value;a.dwName=f.dwName||0;a.dwSampleLength=f.dwSampleLength|| 0;a.dwPurposeID=f.dwPurposeID||0;a.dwCountry=f.dwCountry||0;a.dwLanguage=f.dwLanguage||0;a.dwDialect=f.dwDialect||0;a.dwCodePage=f.dwCodePage||0}};A.prototype.F=function(a,b){this.cue.points.push({dwName:b,dwPosition:a.dwPosition?a.dwPosition:0,fccChunk:a.fccChunk?a.fccChunk:"data",dwChunkStart:a.dwChunkStart?a.dwChunkStart:0,dwBlockStart:a.dwBlockStart?a.dwBlockStart:0,dwSampleOffset:a.dwSampleOffset});this.Na(a,b)};A.prototype.Ja=function(a,b){for(var c=!1,d=0;d<a.length;d++)a[d].dwSampleOffset> b.dwSampleOffset&&!c?(this.F(b,d+1),this.F(a[d],d+2),c=!0):this.F(a[d],c?d+2:d+1);c||this.F(b,this.cue.points.length+1)};A.prototype.L=function(){for(var a=0,b=this.LIST.length;a<b;a++)"adtl"==this.LIST[a].format&&this.LIST.splice(a)};A.prototype.Na=function(a,b){var c=this.H("adtl");null===c&&(this.LIST.push({chunkId:"LIST",chunkSize:4,format:"adtl",subChunks:[]}),c=this.LIST.length-1);this.La(c,a,b);a.dwSampleLength&&this.Pa(c,a,b)};A.prototype.La=function(a,b,c){this.LIST[a].subChunks.push({chunkId:"labl", chunkSize:4,dwName:c,value:b.label});this.LIST[a].chunkSize+=12};A.prototype.Pa=function(a,b,c){this.LIST[a].subChunks.push({chunkId:"ltxt",chunkSize:20,dwName:c,dwSampleLength:b.dwSampleLength,dwPurposeID:b.dwPurposeID||0,dwCountry:b.dwCountry||0,dwLanguage:b.dwLanguage||0,dwDialect:b.dwDialect||0,dwCodePage:b.dwCodePage||0,value:b.label});this.LIST[a].chunkSize+=28};v.prototype.K=function(a,b){return this.l(Math.round(this.v*a),b)};v.prototype.J=function(a,b){a*=this.v;var c=Math.floor(a);a-=c; return(1-a)*this.l(c,b)+a*this.l(c+1,b)};v.prototype.F=function(a,b){a*=this.v;var c=Math.floor(a),d=[this.B(c,b),this.B(c+1,b)],e=[this.l(c,b),this.l(c+1,b)];a-=c;c=a*a;var f=a*c;return(2*f-3*c+1)*e[0]+(f-2*c+a)*d[0]+(-2*f+3*c)*e[1]+(f-c)*d[1]};v.prototype.L=function(a,b){a*=this.v;var c=Math.floor(a),d=c+this.C,e=0;for(c=c-this.C+1;c<=d;c++)e+=this.G(a-c)*this.l(c,b);return e};v.prototype.B=function(a,b){return this.N*(this.l(a+1,b)-this.l(a-1,b))/2};v.prototype.l=function(a,b){return 0<=a&&a<this.H? b[a]:0};u.prototype.filter=function(a){this.z.P[this.z.S]=a;for(var b=a=0,c=this.z.P.length;b<c;b++)a+=this.g[b]*this.z.P[(this.z.S+b)%this.z.P.length];this.z.S=(this.z.S+1)%this.z.P.length;return a};u.prototype.reset=function(){this.z=this.h()};u.prototype.h=function(){for(var a=[],b=0;b<this.g.length-1;b++)a.push(0);return{P:a,S:0}};q.prototype.filter=function(a){for(var b=0,c=this.g.length;b<c;b++)a=this.j(b,a);return a};q.prototype.h=function(a){var b={a:[],b:[]};a=this.i(a,b);b.k=1;b.b.push((1- a.ea)/(2*a.O));b.b.push(2*b.b[0]);b.b.push(b.b[0]);return b};q.prototype.i=function(a,b){var c={},d=2*Math.PI*a.sa/a.ta;c.alpha=Math.sin(d)/(2*a.Q);c.ea=Math.cos(d);c.O=1+c.alpha;b.O=c.O;b.a.push(-2*c.ea/c.O);b.k=1;b.a.push((1-c.alpha)/c.O);return c};q.prototype.j=function(a,b){var c=b*this.g[a].k-this.g[a].Ua*this.g[a].z[0]-this.g[a].Va*this.g[a].z[1],d=this.g[a].Xa*c+this.g[a].Ya*this.g[a].z[0]+this.g[a].Za*this.g[a].z[1];this.g[a].z[1]=this.g[a].z[0];this.g[a].z[0]=c;return d};q.prototype.reset= function(){for(var a=0;a<this.g.length;a++)this.g[a].z=[0,0]};var Ga={point:!1,linear:!1,cubic:!0,sinc:!0},ra={IIR:16,FIR:71},Ha={IIR:q,FIR:u};X(m,A);m.prototype.toRIFF=function(){var a=new Float64Array(R(this.data.samples.length,this.l.s/8));N(this.data.samples,this.l,a,0,this.data.samples.length);this.B(this.fmt.numChannels,this.fmt.sampleRate,this.bitDepth,a,{container:"RIFF"})};m.prototype.toRIFX=function(){var a=new Float64Array(R(this.data.samples.length,this.l.s/8));N(this.data.samples,this.l, a,0,this.data.samples.length);this.B(this.fmt.numChannels,this.fmt.sampleRate,this.bitDepth,a,{container:"RIFX"})};m.prototype.toIMAADPCM=function(){if(8E3!==this.fmt.sampleRate)throw Error("Only 8000 Hz files can be compressed as IMA-ADPCM.");if(1!==this.fmt.numChannels)throw Error("Only mono files can be compressed as IMA-ADPCM.");this.K();var a=new Int16Array(R(this.data.samples.length,2));N(this.data.samples,this.l,a,0,this.data.samples.length);for(var b=this.B,c=this.fmt.numChannels,d=this.fmt.sampleRate, e={index:0,u:0,step:7},f=new Uint8Array(a.length),k=[],p=0,n=0,r=0,z=a.length;r<z;r++){if(0==r%505&&0!=r){var I=f,G=I.set,C=e,D=k[0];aa(D,C);var K=[];K.push(D&255);K.push(D>>8&255);K.push(C.index);K.push(0);D=3;for(var T=k.length;D<T;D+=2){var U=aa(k[D],C),La=aa(k[D+1],C);K.push(La<<4|U)}G.call(I,K,p);p+=256;k=[];n++}k.push(a[r])}a=a.length/2;a%2&&a++;b.call(this,c,d,"4",f.slice(0,a+512+4*n),{container:this.C()})};m.prototype.fromIMAADPCM=function(a){a=void 0===a?"16":a;var b=this.B,c=this.fmt.numChannels, d=this.fmt.sampleRate,e=this.data.samples,f=this.fmt.blockAlign;f=void 0===f?256:f;for(var k={index:0,u:0,step:7},p=new Int16Array(2*e.length),n=[],r=0,z=0,I=e.length;z<I;z++){if(0==z%f&&0!=z){var G=k,C=n[1]<<8|n[0];G.u=32768<C?C-65536:C;G.index=n[2];G.step=ba[G.index];C=[G.u,G.u];for(var D=4,K=n.length;D<K;D++){var T=n[D],U=T>>4;C.push(ma(U<<4^T,G));C.push(ma(U,G))}n=C;p.set(n,r);r+=n.length;n=[]}n.push(e[z])}b.call(this,c,d,"16",p,{container:this.C()});"16"!=a&&this.toBitDepth(a)};m.prototype.toALaw= function(){this.K();var a=new Int16Array(R(this.data.samples.length,2));N(this.data.samples,this.l,a,0,this.data.samples.length);for(var b=this.B,c=this.fmt.numChannels,d=this.fmt.sampleRate,e=new Uint8Array(a.length),f=0,k=a.length;f<k;f++){var p=f;var n=a[f];n=-32768==n?-32767:n;var r=~n>>8&128;r||(n*=-1);32635<n&&(n=32635);if(256<=n){var z=Ia[n>>8&127];n=z<<4|n>>z+3&15}else n>>=4;e[p]=n^r^85}b.call(this,c,d,"8a",e,{container:this.C()})};m.prototype.fromALaw=function(a){a=void 0===a?"16":a;for(var b= this.B,c=this.fmt.numChannels,d=this.fmt.sampleRate,e=this.data.samples,f=new Int16Array(e.length),k=0,p=e.length;k<p;k++){var n=k;var r=e[k];var z=0;r^=85;0!==(r&128)&&(r&=-129,z=-1);var I=((r&240)>>4)+4;r=4!=I?1<<I|(r&15)<<I-4|1<<I-5:r<<1|1;f[n]=-8*(0===z?r:-r)}b.call(this,c,d,"16",f,{container:this.C()});"16"!=a&&this.toBitDepth(a)};m.prototype.toMuLaw=function(){this.K();var a=new Int16Array(R(this.data.samples.length,2));N(this.data.samples,this.l,a,0,this.data.samples.length);for(var b=this.B, c=this.fmt.numChannels,d=this.fmt.sampleRate,e=new Uint8Array(a.length),f=0,k=a.length;f<k;f++){var p=f,n=a[f];var r=n>>8&128;0!=r&&(n=-n);n+=132;32635<n&&(n=32635);var z=Ja[n>>7&255];e[p]=~(r|z<<4|n>>z+3&15)}b.call(this,c,d,"8m",e,{container:this.C()})};m.prototype.fromMuLaw=function(a){a=void 0===a?"16":a;for(var b=this.B,c=this.fmt.numChannels,d=this.fmt.sampleRate,e=this.data.samples,f=new Int16Array(e.length),k=0,p=e.length;k<p;k++){var n=k,r=e[k];r=~r;var z=r>>4&7;z=Ka[z]+((r&15)<<z+3);0!=(r& 128)&&(z=-z);f[n]=z}b.call(this,c,d,"16",f,{container:this.C()});"16"!=a&&this.toBitDepth(a)};m.prototype.toBitDepth=function(a,b){var c=a,d=this.bitDepth;void 0===b||b||("32f"!=a&&(c=this.l.s.toString()),d=""+this.l.s);this.X();var e=this.getSamples(!0),f=new Float64Array(e.length),k=d;if(-1<["32f","64"].indexOf(k)&&-1<["32f","64"].indexOf(c))f.set(e);else{ja(k);ja(c);d=Fa(k,c);var p={ia:Math.pow(2,parseInt(k,10))/2,ga:Math.pow(2,parseInt(c,10))/2,ha:Math.pow(2,parseInt(k,10))/2-1,fa:Math.pow(2, parseInt(c,10))/2-1};ka(k,e,!0);k=0;for(var n=e.length;k<n;k++)f[k]=d(e[k],p);ka(c,f,!1)}this.B(this.fmt.numChannels,this.fmt.sampleRate,a,f,{container:this.C()})};m.prototype.toSampleRate=function(a,b){this.la(a);var c=this.getSamples(),d=[];if(c.constructor===Float64Array)d=qa(c,this.fmt.sampleRate,a,b);else for(var e=0;e<c.length;e++)d.push(qa(c[e],this.fmt.sampleRate,a,b));this.B(this.fmt.numChannels,a,this.bitDepth,d,{container:this.C()})};m.prototype.la=function(a){if(1>a||4294967295<this.fmt.bitsPerSample/ 8*this.fmt.numChannels*a)throw Error("Invalid sample rate.");if(-1<["4","8a","8m"].indexOf(this.bitDepth))throw Error("wavefile can't change the sample rate of compressed files.");};m.prototype.K=function(){this.X();"16"!=this.bitDepth&&this.toBitDepth("16")};m.prototype.X=function(){"8a"==this.bitDepth?this.fromALaw():"8m"==this.bitDepth?this.fromMuLaw():"4"==this.bitDepth&&this.fromIMAADPCM()};m.prototype.C=function(){return"RF64"==this.container?"RIFF":this.container};m.prototype.B=function(a, b,c,d,e){var f=new A;Object.assign(this.fmt,f.fmt);Object.assign(this.fact,f.fact);Object.assign(this.ds64,f.ds64);Object.assign(this.data,f.data);this.Z(a,b,c,d,e)};X(l,m);l.prototype.fromBase64=function(a){for(var b=this.fromBuffer,c=new Uint8Array(256),d=0;64>d;d++)c["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(d)]=d;d=.75*a.length;"="===a[a.length-1]&&(d--,"="===a[a.length-2]&&d--);d=new Uint8Array(d);for(var e=0,f=0;e<a.length;e+=4){var k=c[a.charCodeAt(e)],p= c[a