Releases: nddq/presto
Releases · nddq/presto
v0.1.0
Initial release of Presto — audio fingerprinting and recognition in Go.
Highlights
- Dual-algorithm support — constellation peak-pair hashing (Wang 2003) and sub-band mel-band energy comparison (Haitsma-Kalker 2002) behind a strategy interface
- Persistent library — mmap'd binary store format with zero-copy access and algorithm auto-detection
- HTTP server —
POST /v1/match,/v1/stats,/healthz,/readyz,/metrics - Spectral analysis —
presto analyzegenerates annotated spectrogram PNGs with viridis colormap, peak overlays, and fingerprint stats - Kubernetes-ready — Dockerfile + deploy manifests with security-hardened pod spec
- Zero external Go deps — FFT, WAV I/O, window functions, and inverted-index matcher all from scratch
Performance
| Library size | Match time |
|---|---|
| 50 songs | 0.41 ms |
| 100 songs | 0.74 ms |
| 500 songs | 2.64 ms |
Install
go install github.com/nddq/presto/cmd/presto@v0.1.0