- BiquadFilterNode delegates coefficient math to digital-filter/iir/biquad; removed ~100 lines of inline formulas
- PeriodicWave uses periodic-function/wavetable for wavetable synthesis
- WaveShaperNode derives half-band FIR from digital-filter/multirate/half-band instead of hardcoded constants
- AudioContext stream sink unified: pass any writable stream as sinkId directly
- AudioWorklet accepts blob URLs
- Event emitter rewritten with Map/Set — no Node.js maxListeners warnings
- Updated audio-buffer dependency
- AudioParam: version-based cache; static params skip getValue entirely per block
- OscillatorNode: cubic Hermite wavetable interpolation; fast path when frequency/detune constant across block
- DynamicsCompressorNode: precomputed slope/kneeInv, hoisted channel refs out of inner loop
- StereoPannerNode: fast path when pan constant across block
- null-player as headless default output
- Benchmarks added
- AudioContext render loop deferred via queueMicrotask; speaker opened eagerly on resume() to avoid hardware pop
- audio-speaker integration for direct hardware playback
- Examples added: oscillator, noise, LFO, FFT, sequencer, spatial, worklet, file processing, stdout pipe
Full Changelog: v1.0.0...v1.3.0