C++ audio fingerprinting library. Spectral peak pairing over short-time FFT, time coherent hash voting for identification with pluggable storage backend and gRPC service extension.
عن هذا المشروع
waveiden Audio fingerprinting library and CLI — identify songs from short audio clips. What it does waveiden builds a compact acoustic fingerprint database from full-length audio files, then matches query clips against it in milliseconds. The approach is the same one powering services like Shazam: Load audio and compute a short-time Fourier transform (spectrogram) Detect spectral peaks and pair them into hashed landmarks Store (hash, timeoffset, songname) triples in a database At query time, look up hashes and vote on the song with the most time-consistent hits A 30-second clip is enough for a reliable match against a database of thousands of songs. The library works against noisy or pitch-shifted recordings because the fingerprints are based on relative peak relationships rather than raw waveform content. Architecture The library is structured around two abstract interfaces: IDatabase — defines connect, disconnect, indexSong, match, listSongs, removeSong, and clear. Swap in any storage backend by subclassing it. IAudioReader — defines read(path) and readFromMemory(data, size). Swap in any audio format or source.
من ملف README الخاص بالمشروع على
GitHub
- النجوم
- 11
- التفريعات
- 0
- آخر تحديث
- 18/05/2026
أضف هذه الشارة إلى ملف README
أظهر أن مشروعك مُدرج على «صُنع في الجزائر».
[](https://www.madeinalgeria.dev/projects/waveiden)