ricky0123 / vad

Voice activity detector (VAD) for the browser with a simple API

Home Page:https://www.vad.ricky0123.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wasm error "no available backend found"

devidw opened this issue · comments

trying to integrate into a sveltekit project by calling the below on the client side:

        const MicVAD = (await import("@ricky0123/vad-web")).MicVAD

        const vad = await MicVAD.new({
            workletURL: "/vad.worklet.bundle.min.js",
            onSpeechEnd: (data) => {
                console.log(data)
            },
        })

        vad.start()
VoiceCall.svelte:24 wasm streaming compile failed: LinkError: WebAssembly.instantiate(): Import #37 module="a" function="L": function import requires a callable
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
(anonymous) @ ort-wasm.js:15
r @ ort-wasm.js:37
(anonymous) @ wasm-factory.ts:169
t.initializeWebAssembly @ wasm-factory.ts:123
t.initializeWebAssemblyInstance @ proxy-wrapper.ts:133
init @ backend-wasm.ts:41
t.resolveBackend @ backend-impl.js:74
create @ inference-session-impl.js:175
Silero.init @ models.ts:37
await in Silero.init (async)
Silero.new @ models.ts:30
AudioNodeVAD.init @ real-time-vad.ts:202
await in AudioNodeVAD.init (async)
new @ real-time-vad.ts:149
MicVAD.init @ real-time-vad.ts:120
await in MicVAD.init (async)
new @ real-time-vad.ts:94
start @ VoiceCall.svelte:24
Show 17 more frames
Show less
VoiceCall.svelte:24 falling back to ArrayBuffer instantiation
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
(anonymous) @ ort-wasm.js:15
r @ ort-wasm.js:37
(anonymous) @ wasm-factory.ts:169
t.initializeWebAssembly @ wasm-factory.ts:123
t.initializeWebAssemblyInstance @ proxy-wrapper.ts:133
init @ backend-wasm.ts:41
t.resolveBackend @ backend-impl.js:74
create @ inference-session-impl.js:175
Silero.init @ models.ts:37
await in Silero.init (async)
Silero.new @ models.ts:30
AudioNodeVAD.init @ real-time-vad.ts:202
await in AudioNodeVAD.init (async)
new @ real-time-vad.ts:149
MicVAD.init @ real-time-vad.ts:120
await in MicVAD.init (async)
new @ real-time-vad.ts:94
start @ VoiceCall.svelte:24
Show 17 more frames
Show less
VoiceCall.svelte:24 failed to asynchronously prepare wasm: LinkError: WebAssembly.instantiate(): Import #37 module="a" function="L": function import requires a callable
(anonymous) @ ort-wasm.js:14
Promise.then (async)
V @ ort-wasm.js:14
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
(anonymous) @ ort-wasm.js:15
r @ ort-wasm.js:37
(anonymous) @ wasm-factory.ts:169
t.initializeWebAssembly @ wasm-factory.ts:123
t.initializeWebAssemblyInstance @ proxy-wrapper.ts:133
init @ backend-wasm.ts:41
t.resolveBackend @ backend-impl.js:74
create @ inference-session-impl.js:175
Silero.init @ models.ts:37
await in Silero.init (async)
Silero.new @ models.ts:30
AudioNodeVAD.init @ real-time-vad.ts:202
await in AudioNodeVAD.init (async)
new @ real-time-vad.ts:149
MicVAD.init @ real-time-vad.ts:120
await in MicVAD.init (async)
new @ real-time-vad.ts:94
start @ VoiceCall.svelte:24
Show 19 more frames
Show less
VoiceCall.svelte:24 Aborted(LinkError: WebAssembly.instantiate(): Import #37 module="a" function="L": function import requires a callable)
j @ ort-wasm.js:13
(anonymous) @ ort-wasm.js:14
Promise.then (async)
V @ ort-wasm.js:14
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
Promise.then (async)
(anonymous) @ ort-wasm.js:15
(anonymous) @ ort-wasm.js:15
r @ ort-wasm.js:37
(anonymous) @ wasm-factory.ts:169
t.initializeWebAssembly @ wasm-factory.ts:123
t.initializeWebAssemblyInstance @ proxy-wrapper.ts:133
init @ backend-wasm.ts:41
t.resolveBackend @ backend-impl.js:74
create @ inference-session-impl.js:175
Silero.init @ models.ts:37
await in Silero.init (async)
Silero.new @ models.ts:30
AudioNodeVAD.init @ real-time-vad.ts:202
await in AudioNodeVAD.init (async)
new @ real-time-vad.ts:149
MicVAD.init @ real-time-vad.ts:120
await in MicVAD.init (async)
new @ real-time-vad.ts:94
start @ VoiceCall.svelte:24
Show 20 more frames
Show less
backend-impl.js:91 Uncaught (in promise) Error: no available backend found. ERR: [wasm] RuntimeError: Aborted(LinkError: WebAssembly.instantiate(): Import #37 module="a" function="L": function import requires a callable). Build with -sASSERTIONS for more info., [cpu] Error: previous call to 'initializeWebAssembly()' failed., [webnn] Error: previous call to 'initializeWebAssembly()' failed., [xnnpack] Error: previous call to 'initializeWebAssembly()' failed.
    at t.resolveBackend (backend-impl.js:91:11)
    at async i.create (inference-session-impl.js:175:15)
    at async Silero.init (models.ts:37:21)
    at async Silero.new (models.ts:30:5)
    at async AudioNodeVAD.init (real-time-vad.ts:202:19)
    at async AudioNodeVAD.new (real-time-vad.ts:149:5)
    at async MicVAD.init (real-time-vad.ts:120:25)
    at async MicVAD.new (real-time-vad.ts:94:5)

Screenshot 2023-10-07 at 6 25 53 PM

I had the same issue, but didn't follow the guide correctly and used other wasm and onnx files than the one that came with node_modules. Check out the guide at this page:

https://www.vad.ricky0123.com/docs/browser