- Built-in audio output via
audio-speaker— no optionalspeakerpackage needed - AudioContext plays through system speakers automatically on
resume() - 13 runnable examples (
node examples/<name>.js) outStreamstill supported for custom output (stdout, streams)
Dependencies
- Added
audio-speaker(cross-platform audio output, zero native compilation) - Removed optional
speakerdependency
Pure-JS Web Audio API. 100% W3C Web Platform Tests conformance.
Spec compliance
- 100% WPT pass rate (4300 tests)
- All 26 audio node types implemented
- Sample-accurate scheduling with sub-sample interpolation
- AudioWorklet with URL module loading and MessagePort
- Full AudioParam automation (setValueAtTime, ramps, curves, cancelAndHold)
- Correct channel mixing (speakers/discrete) per spec
- OfflineAudioContext with suspend/resume
Runs everywhere
- Node.js 18+, Deno, Bun
- Serverless, edge, Workers
- Browser polyfill:
import 'web-audio-api/polyfill' - Auto-detects
speakerpackage for real-time output, falls back to stdout
Dependencies
audio-buffer— AudioBufferaudio-decode— 12+ audio format decodingautomation-events— AudioParam automation timelinefourier-transform— FFT (real + complex)
Breaking changes from 0.x
- ESM only (no CommonJS)
- Requires Node.js 18+
AudioContextstarts suspended (callresume())outStreamauto-detects — no longer required to set manually- Error types are spec-correct DOMException (not plain Error)
- Removed
node-speakerandmathjsdependencies
- Now use aurora installed from npm
- Refactored to ES6
- AudioNode and AudioContext bug fixes
- AudioContext (partial), AudioParam, AudioBufferSourceNode, GainNode