pub struct Panako { /* private fields */ }Expand description
Panako offline fingerprinter.
§Example
use audiofp::{AudioBuffer, Fingerprinter, SampleRate};
use audiofp::classical::Panako;
let mut fp = Panako::default();
let samples = vec![0.0_f32; 8_000 * 3];
let buf = AudioBuffer { samples: &samples, rate: SampleRate::HZ_8000 };
let fpr = fp.extract(buf).unwrap();
assert_eq!(fpr.frames_per_sec, 62.5);
assert!(fpr.hashes.is_empty());Implementations§
Trait Implementations§
Source§impl Fingerprinter for Panako
impl Fingerprinter for Panako
Source§type Output = PanakoFingerprint
type Output = PanakoFingerprint
The fingerprint produced by this extractor (e.g.
Vec<WangHash>).Source§type Config = PanakoConfig
type Config = PanakoConfig
Per-instance configuration this fingerprinter exposes to callers.
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Stable identifier for the algorithm and version, e.g.
"wang-v1".
Useful when persisting fingerprints alongside the producer name.Source§fn required_sample_rate(&self) -> u32
fn required_sample_rate(&self) -> u32
Sample rate, in hertz, the fingerprinter expects its input at.
Resampling is the caller’s responsibility.
Source§fn min_samples(&self) -> usize
fn min_samples(&self) -> usize
Minimum buffer length, in samples, required to extract anything.
Calls with shorter inputs return
AfpError::AudioTooShort.Auto Trait Implementations§
impl Freeze for Panako
impl !RefUnwindSafe for Panako
impl Send for Panako
impl Sync for Panako
impl Unpin for Panako
impl UnsafeUnpin for Panako
impl !UnwindSafe for Panako
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more