@wasm-audio-decoders/opus-ml
Version:
Web Assembly streaming Opus decoder with Machine Learning enhancements
344 lines (318 loc) • 4.1 MB
JavaScript
/* **************************************************
* This file is auto-generated during the build process.
* Any edits to this file will be overwritten.
****************************************************/
export default function EmscriptenWASM(WASMAudioDecoderCommon) {
// include: shell_minimal.js
var Module = Module;
// Override this function in a --pre-js file to get a signal for when
// compilation is ready. In that callback, call the function run() to start
// the program.
function ready() {}
// --pre-jses are emitted after the Module integration code, so that they can
// refer to Module (if they choose; they can also define Module)
// include: src/opus-ml/src/emscripten-pre.js
Module = {};
// end include: src/opus-ml/src/emscripten-pre.js
// end include: shell_minimal.js
// include: preamble_minimal.js
/** @param {string|number=} what */ function abort(what) {
throw what;
}
var HEAP8, HEAP16, HEAP32, HEAPU8, HEAPU16, HEAPU32, HEAPF32, HEAPF64, HEAP64, HEAPU64, wasmMemory;
// include: runtime_shared.js
// include: runtime_stack_check.js
// end include: runtime_stack_check.js
// include: runtime_exceptions.js
// end include: runtime_exceptions.js
// include: runtime_debug.js
// end include: runtime_debug.js
// include: memoryprofiler.js
// end include: memoryprofiler.js
function updateMemoryViews() {
var b = wasmMemory.buffer;
HEAP8 = new Int8Array(b);
HEAP16 = new Int16Array(b);
HEAPU8 = new Uint8Array(b);
HEAPU16 = new Uint16Array(b);
HEAP32 = new Int32Array(b);
HEAPU32 = new Uint32Array(b);
HEAPF32 = new Float32Array(b);
HEAPF64 = new Float64Array(b);
HEAP64 = new BigInt64Array(b);
HEAPU64 = new BigUint64Array(b);
}
// end include: runtime_shared.js
// end include: preamble_minimal.js
// Begin JS library code
/** @noinline */ var base64Decode = b64 => {
var b1, b2, i = 0, j = 0, bLength = b64.length;
var output = new Uint8Array((bLength * 3 >> 2) - (b64[bLength - 2] == "=") - (b64[bLength - 1] == "="));
for (;i < bLength; i += 4, j += 3) {
b1 = base64ReverseLookup[b64.charCodeAt(i + 1)];
b2 = base64ReverseLookup[b64.charCodeAt(i + 2)];
output[j] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;
output[j + 1] = b1 << 4 | b2 >> 2;
output[j + 2] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i + 3)];
}
return output;
};
var UTF8Decoder = new TextDecoder;
/**
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
* emscripten HEAP, returns a copy of that string as a Javascript String object.
*
* @param {number} ptr
* @param {number=} maxBytesToRead - An optional length that specifies the
* maximum number of bytes to read. You can omit this parameter to scan the
* string until the first 0 byte. If maxBytesToRead is passed, and the string
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
* string will cut short at that byte index (i.e. maxBytesToRead will not
* produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
* JS JIT optimizations off, so it is worth to consider consistently using one
* @return {string}
*/ var UTF8ToString = (ptr, maxBytesToRead) => {
if (!ptr) return "";
var maxPtr = ptr + maxBytesToRead;
for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;
return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));
};
var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
var __abort_js = () => abort("");
var __emscripten_runtime_keepalive_clear = () => {};
var timers = {};
var callUserCallback = func => func();
var _emscripten_get_now = () => performance.now();
var __setitimer_js = (which, timeout_ms) => {
// First, clear any existing timer.
if (timers[which]) {
clearTimeout(timers[which].id);
delete timers[which];
}
// A timeout of zero simply cancels the current timeout so we have nothing
// more to do.
if (!timeout_ms) return 0;
var id = setTimeout(() => {
delete timers[which];
callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
}, timeout_ms);
timers[which] = {
id,
timeout_ms
};
return 0;
};
var _emscripten_resize_heap = requestedSize => {
var oldSize = HEAPU8.length;
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
requestedSize >>>= 0;
return false;
};
var _proc_exit = code => {
throw `exit(${code})`;
};
// Precreate a reverse lookup table from chars
// "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" back to
// bytes to make decoding fast.
for (var base64ReverseLookup = new Uint8Array(123), i = 25; i >= 0; --i) {
base64ReverseLookup[48 + i] = 52 + i;
// '0-9'
base64ReverseLookup[65 + i] = i;
// 'A-Z'
base64ReverseLookup[97 + i] = 26 + i;
}
base64ReverseLookup[43] = 62;
// '+'
base64ReverseLookup[47] = 63;
// End JS library code
var wasmImports = {
/** @export */ "a": ___assert_fail,
/** @export */ "d": __abort_js,
/** @export */ "c": __emscripten_runtime_keepalive_clear,
/** @export */ "e": __setitimer_js,
/** @export */ "f": _emscripten_resize_heap,
/** @export */ "b": _proc_exit
};
function assignWasmExports(wasmExports) {
_opus_ml_frame_decoder_create = wasmExports["i"];
_malloc = wasmExports["j"];
_opus_ml_frame_decode_float_deinterleaved = wasmExports["k"];
_opus_ml_frame_decoder_destroy = wasmExports["l"];
_free = wasmExports["m"];
__emscripten_timeout = wasmExports["o"];
}
var _opus_ml_frame_decoder_create, _malloc, _opus_ml_frame_decode_float_deinterleaved, _opus_ml_frame_decoder_destroy, _free, __emscripten_timeout;
// include: postamble_minimal.js
// === Auto-generated postamble setup entry stuff ===
function initRuntime(wasmExports) {
// No ATINITS hooks
wasmExports["h"]();
}
// Initialize wasm (asynchronous)
if (!EmscriptenWASM.wasm) Object.defineProperty(EmscriptenWASM, "wasm", {get: () => String.raw`dynEncode01ebb7ceef19?z°H,ÿ¯ÉjÃTNË7¨£¦¾ÞÖþD{öýü»N³³ê4@xKaa+ë§=})ûíÞHÏ|ÓUHzx{B=}öww¬ÑXæ·òmÔ庿CÁzI @=}·ßÔ.U©÷èY@ÁFÊ8 ±¯±
@ÊZ¿=M)È:ónßPh*OU#Î÷³GpO¤I^îÊ"Lu¶vÍæë¹àKférèT÷Ë×=}$*¿5DèæzäFcÊæ2ûA=}êÒñïw¡ ´$×'èóNxë{.u=}e¬sµOWå5ÞdN³ÞOwR͵֮öæaÕ¤Ë!Y¤nVÙÍqf£Í)dkP ©ÜY Ë\D¥3= ¶Yò´hd½Ñ¦¶Ù¼Í«<ORy4 ]Á2´Ãf·ZQ(IQ
ø®Þ y"âé}EqùÄÖÕ@ÀÎBàÕÀÞ[¨£yO¶²Õ8êÕº"4}Ãá
¿80s! EHï4@@èØ-;cøºO=M,ìÔ¤=}á[ÆsO O+ Ó̪ã·ÿ)ÓV м-¥à\ ÀPg
/2èvkkea}°ôwò0ú÷ÓÀi»Q'úBÝÕ£s¦À½"y
úÒúËøFzF=}|Q9-ëôÏ01j iÁý3?í°,\µÀ
PQD)~77{í°Ý(·= jªµD»iÂ0Í7%4ëxËðí?Rì°ý1º¶ïÛ¢c°e§eíIÐܺS¢qT= 3=}3 S¸-uTT>üüdÿ]/ýèqï6=}SþV±:lþnùþëÒÓë|©k² õï .3íXDe¦_=}3Kÿ]ÿ&ÿý=}3D-õkËçlN'§"b6
=MNúfæË
eÅȧ\èÔ®¬öÛg¡¬?m¨ õ
×ö|{+Ñü¿4æüÛ×ÚÒjüVUÂëE¬SIë=MÎ<óvLreæA=MÎ×¢à)|×û¨ÕÂäÏ =}É DdKeÍ©nßrºy
2çåºB*Ò£1yÖBg0Jï
)¢t~5Ïú/þ"g'§q£¸í,ÿ´ZÀ<ÛÌÓ@áàgÒñE¸·UýÓØÏúÎUÌ:ð5*«Ø¯
Ø}òxv¨ÕQQ©wù)çúJ3uù¤j([ßË\ç'Ö@Ý2¦aËÊùGPQF4q4Á Cá] =}3/U¿X=M =}hÓá¦5¨Ð®M¿æFÉLR{I»0 ×À~HNddyxRçLNTÈwj¦¨ÜÊ)pq õ×f(cÚX¶ç/§Û\G¹@ºE¥QÆÙR¸"gâ$%¡UÒ'f_ÿaGG4rZ êG+}0I!j¢eó6E=Mú*]JeD
ù¡ #E±ò
èòºªO í±òªÉÑ;µÕ q=}qTÈÔfÿ<ÇäàÊ$åëqIÚqYI¿B5IÑ<3?ÚUÿã+SàøøÛ ³;@ÈÄ[ÀtµHqþuÏÁ¿/vÝ¢¿<26¾^P·Izbrò£âccüÓàX:ä¶)å(ßf£&\ &Båh8¥¤ bföÕÕ !ÝÿBV3;DKz}ÜIkùS³#$SNõ££þB,H!.»bø^p¬Ò,¦ÿ·MüÓÄ ß0ÚC(»è^íÉxÕ=}ôÁ)¢#=}*¶ ¨Ýg;·{=MYöYÊ©!ÆÂ3í«øUÂÁáùÁ<+AõzhGº%h2¿®#ïi jóßY¬ådXÃÀï¿fT|PªÉ 0Qqq$µUÁþ½¥;«uг9é.q϶QÍÐ8*ýa&ä£þ;RÅÓé1¿ò±)óÇõS« %¡t¿î¥ÒDÓêÖÖAªZäÄ¢*iX?7lAíÐw û¬Àú¼ÿ·AØ~(:Fa;D×WÀâ· ¬ìe~£Aæa£Ã
þñÉTË ~ñø'TK= ½«M®«#eñ»S|ò8V[%ZÌq=Mw"\CÑÀé³0LyÙ/9§ü·yNH$ë6ò¥jÿ$* 7²\ß\Ô«ËSu'ýÛGoéò&⦼×r ÌþÐk]6·E"ì@Ëü_¨OjÂeHôHkpÃs5p·¢=}þdÝ©Bý3]Z£1d¡çñÒá(}xIü³r6Øòà,±ÆòêÃ?þÙ] dåïwW19 |N©Ú«Ë}dÉÚ.6:£Íè§²¦oÑîëôÂR=MvÕQbE,a}gß
)ªwήd¡¯è¼GA²Ø¤ªJù
>*]Û\©àîQaàn (I⸾c®zÜ{
ûÙ³NÍæbrUw"{PA°hÌP+òac»"Y+û"´ëë9!7µ"9µB{VÀr©Í]Ô2©aK~IT}!tÍþçalò2Àõ¹|.AZ«÷a qÿTéøA£B1we°àêÑÂ~{ÿÄ¿®Ì¨§7üÁî=MäÂãÇëé¸LLÍS&KËËr'»-ÊÀ+Ê¿-Dù
=}øu»9ñ¹é¹îÞgJ¾Áp/\TÿôV»]¯{d2YýBZ÷Òî¬(&Áî^\CÚzv#YMëfÄ>¼CF3ÆO1l5Ä?e~
-é¿Ò08¢4!Ö*Ð;n*¿kÊÀkD&ÐËäá@J¬ÜmÒäO:À-cíÝ;ÃÒªèâzÿ°b]G¤tiÒ5o<þ,jcËÓî·nP|TüxgÔ«|^~Ë{·â>Eðêç1 ÑUSkAîæ°Êd^vS|= }ÙÊH7z£7á ²ySÚ¡ÔÐ?MdZP¨¿Ik}jE
<§ÂÙéÁc9Ë(rÀýÿñ¶ì,¢ø÷õúµ±<àÅçå#D«óÃÂ\"¹È·%bÑÇ\¹ø'r¯QR~[!dF²¹FRnRC"ù2]JþãEà K×Vý©æEºåE3±äEÎVÌ%JþÁÊ"ãEÃÜ yeÛ3Xa¾7x¹m]³W_h±*o= Ì<Øá¯y O)Fé~Ï÷:e(©´7ô Õ¢;Ñ$Ä´Õ0fÒñÊ@©éwÝ'¸ÎÃöè~é4·øål ùÎ)^4^Èq«¿7«óbåD¿>£ø\èQJ
8f$3GÐN
Bɽ_ÎO7T{vöÿ°i¤ÿ{4~þ¥6±·'N&¾éßG= Þ0¦¯::¾ã]ߨúR=d{o¦]Á®:¥áÖ÷é´p¯íu«ÝHIG3Íú6ÀrIUý+#Nmð9
å= Ä´»¢ÀÇBXpìNö§1¬zc)d;)Âvë^ÕB4ñ69R\À¤_bü=}¸]ºG'ÑIfä驼ÐÞË?sú¨æR?.¬ÔD!RÿÅEÿþ¼ÞwÉ=MzBsè2;øÕß{ÖÝ}*P7ñ£¤ÕóB°²÷µ¹4,Âô!7òO!8s9!~koG?×BÊ~á9Í
âzDc1[}´(*DKÄNf=}hý/±å!=}~=M0!Ìh;:mCd¯¯sþ#:N@Õ½= Ø5sä3:rçÅjöðÉhö§ækhúípe3ܶ{u"jîaÑíqk¨¡£9k3}³±ïz¤§FB8íiþ&ç£?á¡B$ÕÎJføÎyqX Þ'¹vd¬MÈyt;·êÇmsc[-Ó¥K$gl= Õ
KÇhmx×4²Kï×·1ØuºV-.Ùá=
uì·Õ8·ñDÔÄ6£uÜ«ûʲ>lÚtômDB3ñ¦! !I¬»¢ \ô¾6̧k ¨(¶¦|Ov6cuVbóìɳ3ñ=}% ~üâήðÃ{Þ@qxx;ó5[aFdúDç´O»mví¹ùgMhìÿú%KeýýôZPJëBbËJÝ"Q:I|]y¡µå2shد)Ï¡Zx?å2ø1e>fiW3]¯¬øù´$ÕØî§ûñÖJ f@÷ÈMÏyCî6kB°©f@w|1Ù@üBêeÛÓ²u7S¡è;ÎÄ©
xuKíâ~iü£»5IV¨zU¦w!Ànê_¯¨BÏëªëRàЦÙïNZ
#!ÜN½B>ûÚÎyæUÁ=}.
ì( bbeÖõ³rYä´FúK¢4Z0È =}uìsùèÀ& ©©tß[Lãþí鮡ÁxóØL"^Éù0?z2É»ØÈyP]÷³WP úÉ}üë(JÈw^ÏW^ì= Ó"s1UWþsñX¢Ìm ¥= ÜÙ98µôî"7kê·ï#8k*&ÎJ$ì®|ïÏ?Î¥QùäÌ= ;@è%ÐZåcoiør8¸nÌcË Xx¾å+,¨ AæÇµ¨x ùñ]=}é<Ð3¯7Ã}Xÿ1UáÐg¨Ý¿³zt>iM]¾æae6hT¬söÏ
Ù/¥%VnùC
µgï/|2¯/
«÷v!q°|[tN,ÄÄh®QV= Õ§â= µN×´JÙTàFÜ%uUÚÑU÷6ù¹ÕXXA6hFfø+~¥£üböÕ°¶´{=}§Ï=Mç¶´kÂ7>ÕUÅÁè´¼?ƵÆÁ» j+çú_½ûTPÊRúc~4Y\
xSZEH¸ÃG(Q¦oÖäZ1-!÷ëD±þMB}lùm
§PDt'm83Ëé.4 ø{YEÒÂl= P¨®ÌÅ::hõiÉcäh0|¿²@ëÁEã÷JTʶ-QvÍi}Qn{5ÎZí½ÀÂÿYªa= ´ÏÛpÇ=}:ì
÷n Ùhá±ÄMB?Ì/PÂi}þ.úÁQs}K¬*m ?'ù<|r4½v!=Má´Cíw!#×ï3ñ®Ìñ4=}hÒa¦× kg3¼ß(áÜ;ÄïUÎÏx¾k|¨²~4Á0ÇÉÞ¸ÍX²Æü´ÖÙÜf' fʰRwGÉ@ÕaÂÑ0ÛU°ôa£óÌN!Ö·tZ£Èó¼É«®ù§s4í|9ÅçÝgkÅ|½ø ¨ù:-i²)Âg̰i³ï¨\0çLƶéîD´[|ëøG¢.g»oj໿øî#Õ,Êi
:èFu©xLÑóÐI^xÅvbBNÎüv«pF-¸A»x¿är;ÉÐi]7µ«¼³6= t6;ËNä[Þ¤³ÛGj"O£2+Qù¤R;Ì XÌ[lcÕ-=}_o8nº?$ÏÎ_0#̳¸¿3W4?vz(Ǩ8ú JMÖÖu=}W×pujì¥Çܤ;÷ű½ÅØ6*}Øm@ä¡-lô¢uäÂdAæk¦+È0¯ÞXsçïIÍÃ3´Åö-5ùþ³&,çbÜÙM¦PkJï0÷åÜ£¸D ͯ¦ K·Ë ´dÁxîµÇæK^mqnUÚäA= NZ2¡_@4õuõËOîI{È=}14ÇÑièoñöëÜÀn©U ^ËܰYµS" F, KÞw]¨CLÁF¼5Ëïôx×}~½÷%{éZÛêjÝ3èU#JÇ̤Ç"¡¨õ)ÇRfL¤îÅÌÁ¯0kKÈiNA ½a= ôVè¶ÜQ±1Ctqß¾(+tP¬®A×¼ ëø¢ûf»óÉ·#¤Ã¾Hò9ïÛ=}OÛ»ùnDr¢ÔZ,¢ÔqݶÆSÉ1dXÏÆm¢[tyxåç&kR Í8Í-
¬5vìP0Wú.Ã,|µx8¬Û9<¦3µÃM³Ï*;k[Çó_"= ¸{keÿ<*ê×"ô'6¥oT9¦ô¾2Fgп ÐëLHÈ*By×juSûê$?Tµh]QzÆåý)ÜeçT9GȳüݹÜY½Gl= ÉL>9¬Î¶¥þ I@õ
- rB¹{«ÌNÂUµ¨¤%dÏzS¥øÎSy´^¦¡ÿ¸Ã9#yet8Ä%â´{>^Ó)$Ûñ¯]¼Æ-¾´e8uL@CWPxú"TgF2ή>Ác9ÎÆ§ÉqFV'ܸ¦²Ã9#y9Ác-îíFxêÄÙ_F¡@Ô?#£ccR^£<q»º:TT"èðk\X<È×Õ\þé4ý½kPÚ?¦vH!&ÀÑPOb·u¥&