Crate songrec

Crate songrec 

Source
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§

audio
config
fingerprinting
output
recognition

Structs§

RecognitionResult
Result of a song recognition
RecognitionStream
Stream of recognition results for continuous monitoring
SongRec
Main SongRec struct for audio recognition

Enums§

SongRecError
Error types for the library

Constants§

VERSION
Current version of the library

Type Aliases§

Result
Result type for the library