evanwashere / opus

fast opus bindings for node and browsers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

fast opus bindings for node and browsers

License:MIT License


Languages

Language:JavaScript 98.4%Language:TypeScript 1.6%