Update example
This commit is contained in:
@@ -9,7 +9,7 @@ function(moduleArg = {}) {
|
||||
function h(){p.buffer!=q.buffer&&r();return q}function t(){p.buffer!=q.buffer&&r();return aa}function ba(){p.buffer!=q.buffer&&r();return ca}function da(){p.buffer!=q.buffer&&r();return ha}function u(){p.buffer!=q.buffer&&r();return ia}function z(){p.buffer!=q.buffer&&r();return ja}function ka(){p.buffer!=q.buffer&&r();return la}
|
||||
var A=moduleArg,ma,na,oa=new Promise((a,b)=>{ma=a;na=b}),pa="object"==typeof window,qa="function"==typeof importScripts,ra="object"==typeof process&&"object"==typeof process.Oa&&"string"==typeof process.Oa.node,sa=A.$ww;
|
||||
let B=[],ta=["status","partialResult","result"],ua=URL.createObjectURL(new Blob(["(",(()=>{let a=new TextDecoder,b=new TextEncoder;onmessage=async c=>{c=c.data;var d=c.Na.split("/"),e=await navigator.storage.getDirectory();for(var f of d)e=await e.getDirectoryHandle(f,{create:!0});d=await e.getFileHandle("id",{create:!0});f=await e.getFileHandle("model.tgz",{create:!0});e=await d.createSyncAccessHandle();d=await f.createSyncAccessHandle();f=new ArrayBuffer(e.getSize());e.read(f);let g;if(a.decode(f)==
|
||||
c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0])).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1]).pipeThrough(new DecompressionStream("gzip"))).arrayBuffer()}e.close();d.close();self.postMessage(c,
|
||||
c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0])).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1].pipeThrough(new DecompressionStream("gzip")))).arrayBuffer()}e.close();d.close();self.postMessage(c,
|
||||
[c])}}).toString(),")()"],{type:"text/javascript"})),va=new Worker(ua),wa=URL.createObjectURL(new Blob(["(",(()=>{registerProcessor("VoskletTransferer",class extends AudioWorkletProcessor{constructor(a){super();this.count=0;this.sa=a.processorOptions.sa;this.buffer=new Float32Array(128*this.sa)}process(a){if(!a[0][0])return!0;this.buffer.set(a[0][0],128*this.count++);this.count>=this.sa&&(this.count=0,this.port.postMessage(this.buffer,[this.buffer.buffer]),this.buffer=new Float32Array(128*this.sa));
|
||||
return!0}})}).toString(),")()"],{type:"text/javascript"}));A.cleanUp=async()=>{for(let a of B)await a.delete();URL.revokeObjectURL(wa);URL.revokeObjectURL(ua);va.terminate()};A.createTransferer=async(a,b)=>{await a.audioWorklet.addModule(wa);return new AudioWorkletNode(a,"VoskletTransferer",{channelCountMode:"explicit",numberOfInputs:1,numberOfOutputs:0,channelCount:1,processorOptions:{sa:b/128}})};
|
||||
async function xa(a,b,c,d){let e=new ya,f=new Promise((g,k)=>{e.addEventListener("status",l=>{l.detail?k(l.detail):(d&&(e.findWord=m=>e.ha.findWord(m)),g(e))},{once:!0})});va.addEventListener("message",g=>{g=g.data;let k=C(g.byteLength);t().set(new Uint8Array(g),k);e.ha=new A.CommonModel(B.length-1,d,"/"+b,c,k,g.byteLength)},{once:!0});va.postMessage({url:a,Na:b,id:c});return f}class ya extends EventTarget{constructor(){super();B.push(this)}delete(){this.ha.delete()}}
|
||||
|
||||
Reference in New Issue
Block a user