All notable changes to this project will be documented in this file. Format based on Keep a Changelog; this project adheres to Semantic Versioning.
- WASM: ~13-15x speedup in
ResonatorBank::process_sample/process_samplesat 88-880 bins, by recovering autovectorization that was defeated byf32::mul_addlowering to per-lanefmafcalls on wasm32+simd128. Diagnosis by @pengowray (#1).
- Linux and Windows x86_64 wheels now target
x86-64-v3(Haswell, 2013+) to enable AVX2 + FMA auto-vectorization in the resonator hot loop. On Linux, this is typically a 20-50x speedup over the0.1.0wheel. Users on pre-Haswell CPUs should install from sdist with customRUSTFLAGS.
ResonatorBankandResonatortypes implementing the Resonate algorithm for low-latency spectral analysis.- Streaming (
process_samples) and one-shot (resonate) processing modes. heuristic_alpha/heuristic_alphas,alpha_from_tau/tau_from_alpha,midi_to_hzhelpers.- Python bindings via PyO3.
- WebAssembly bindings via wasm-bindgen.