Skip to content

fast opus bindings for node and browsers

License

Notifications You must be signed in to change notification settings

evanwashere/opus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fast opus bindings for node and browsers

bun add @evan/opus

npm install @evan/opus

import { Encoder, Decoder } from '@evan/opus';

const e = new Encoder({ channels: 2, sample_rate: 48_000 });
const d = new Decoder({ channels: 2, sample_rate: 48_000 });

d.decode(e.encode(pcm));

supported platforms

node@10 node@12 node@14 node@16 node@18
wasm32
macos x64
macos arm64
windows x64
linux x64 gnu
linux arm64 gnu

you can force usage of wasm by setting OPUS_FORCE_WASM env variable

for deno and browsers use @evan/wasm/target/opus/deno.js from npm/cdn

benchmarks

encoding decoding

License

MIT © Evan