Expand description
§SongRec Library
A Rust library for audio fingerprinting and song recognition using Shazam’s algorithm. This library provides both a simple API for one-shot recognition and streaming recognition for continuous monitoring.
§Features
- Audio fingerprinting using Shazam’s algorithm
- Song recognition via Shazam’s API
- Cross-platform audio recording
- Multiple output formats (JSON, CSV, text)
- Both library and CLI interfaces
§Example
use songrec::{SongRec, Config};
let config = Config::default();
let songrec = SongRec::new(config);
// Recognize a song from an audio file
match songrec.recognize_from_file("song.mp3") {
Ok(result) => println!("Recognized: {}", result.song_name),
Err(e) => eprintln!("Error: {}", e),
}Re-exports§
pub use config::Config;pub use output::OutputFormat;pub use output::RecognitionOutput;pub use fingerprinting::signature_format::DecodedSignature;pub use fingerprinting::algorithm::SignatureGenerator;
Modules§
Structs§
- Recognition
Result - Result of a song recognition
- Recognition
Stream - Stream of recognition results for continuous monitoring
- SongRec
- Main SongRec struct for audio recognition
Enums§
- Song
RecError - Error types for the library
Constants§
- VERSION
- Current version of the library
Type Aliases§
- Result
- Result type for the library