| Audio Fingerprinting Without the ML Tax
Most audio identification tools today reach for embeddings and neural nets. wavio doesn't.
It's a fast, deterministic acoustic fingerprinting library written in Rust — built on the same peak-based approach as Shazam, with none of the ML overhead. No embeddings, no models, no runtime. Just spectral peaks, combinatorial hashing, and raw speed.
How it works
wavio runs a straightforward DSP pipeline:
Each step is deterministic: the same input always produces the same fingerprint. That makes results reproducible and debuggable — no model drift, no version mismatches.
Why it's fast
- In-memory & on-disk indexing — query thousands of tracks in microseconds
-
Zero unsafe code (
#![forbid(unsafe_code)]) - Optional parallelism via rayon
Benchmarks on synthetic 22,050 Hz audio (release build):
| Task | Median |
|---|---|
| Fingerprint a 3-min track | 88.6 ms |
| Index 1,000 tracks | 1.04 ms |
| Query (1,000 lookups) | 0.57 µs/query |
Use it from Rust, Python, or the CLI
wavio ships as a Rust crate, a Python package (via PyO3/maturin), and a CLI:
wavio-cli index --db ./wavio.db ./music/
wavio-cli query --db ./wavio.db ./clip.wav
Who it's for
If you're building music identification, duplicate detection, or content matching and don't want to carry an ML stack for it, wavio gives you a lean, predictable alternative.
Check it out: github.com/MinLee0210/wavio

Top comments (0)