@audio/webm-decode
v1.0.0
Published
Decode WebM audio (Opus, Vorbis) to PCM samples
Downloads
1,916
Readme
webm-decode
Decode WebM audio (Opus and Vorbis) to PCM float samples. EBML demuxer in pure JS, codec decoding via WASM.
Part of audio-decode.
Install
npm i @audio/webm-decodeUsage
import decode from '@audio/webm-decode'
let { channelData, sampleRate } = await decode(webmBuffer)Streaming
import { decoder } from '@audio/webm-decode'
let dec = await decoder()
let result = await dec.decode(chunk)
let flushed = await dec.flush()
dec.free()API
decode(src): Promise<AudioData>
Whole-file decode. Accepts Uint8Array or ArrayBuffer.
decoder(): Promise<WebmDecoder>
Creates a decoder instance.
dec.decode(data)— decode chunk, returnsPromise<AudioData>dec.flush()— flush remaining datadec.free()— release resources
Note: decode() and flush() are async (unlike the sync PCM decoders) because Opus decoding happens in WASM.
Codecs
- Opus — via opus-decoder
- Vorbis — via @wasm-audio-decoders/ogg-vorbis (raw frames wrapped in OGG pages)
License
MIT
ॐ
