2 unstable releases
0.2.0 | Nov 13, 2020 |
---|---|
0.1.0 | Mar 17, 2019 |
#110 in Audio
95 downloads per month
15KB
372 lines
pitch_detection
Usage
use pitch_detection::detector::mcleod::McLeodDetector;
use pitch_detection::detector::autocorrelation::AutocorrelationDetector;
const SAMPLE_RATE : usize = 44100;
const SIZE : usize = 1024;
const PADDING : usize = SIZE / 2;
const POWER_THRESHOLD : f64 = 5.0;
const CLARITY_THRESHOLD : f64 = 0.7;
// Signal coming from some source (microphone, generated, etc...)
let signal = vec![0.0; SIZE];
let mut detector = McLeodDetector::new(SIZE, PADDING);
let pitch = detector.get_pitch(&signal, SAMPLE_RATE, POWER_THRESHOLD, CLARITY_THRESHOLD).unwrap();
println!("Frequency: {}, Clarity: {}", pitch.frequency, pitch.clarity);
Live Demo
Dependencies
~1MB
~23K SLoC