[opus] WebAssembly Opus Decoder

Chris McGowan chris at anthum.com
Fri Nov 2 16:52:42 UTC 2018


If anyone is integrating Opus audio into a web or JavaScript application, I
wrote a WebAssembly Opus decoder that uses libopusfile to decode Opus files
in chunks using the JavaScript Streams API.  This decoder can begin
decoding after receiving the Opus headers and first audio data page:
https://github.com/AnthumChris/opus-stream-decoder

All thoughts and contributions are welcome, and I'm planning to add a
seeking feature using HTTP range requests:
https://github.com/AnthumChris/opus-stream-decoder/issues/1

Browsers and the Web Audio API don't currently offer direct ways to decode
partial Opus files until the complete file is downloaded and available.  If
anyone has connections with browser vendor engineers, it would be worth
considering a direct way for JavaScript to access browsers' baked-in Opus
decoding library, which would avoid the ~140-220K Wasm binaries currently
needed to do this.  Only complete files can be downloaded with
BaseAudioContext.decodeAudioData():
https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/decodeAudioData
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/opus/attachments/20181102/33bd013f/attachment.html>


More information about the opus mailing list