diff options
author | Justin Worthe <justin.worthe@gmail.com> | 2016-11-12 11:57:49 +0200 |
---|---|---|
committer | Justin Worthe <justin.worthe@gmail.com> | 2016-11-12 11:57:49 +0200 |
commit | 14d8545f0c905ea94556919693c08fb887a3ce59 (patch) | |
tree | e697b048996324429f0bf1eaab6c032d9a7ac965 /src/gui.rs | |
parent | da2a138787797bbae1c1f030a9ddf660d85f08bd (diff) |
Better pitch formatting
Diffstat (limited to 'src/gui.rs')
-rw-r--r-- | src/gui.rs | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -123,12 +123,11 @@ fn start_processing_audio(mic_receiver: Receiver<Vec<f64>>, pitch_sender: Sender thread::spawn(move || { for samples in mic_receiver { let frequency_domain = ::transforms::fft(samples, 44100.0); - - let max_frequency = frequency_domain.iter() - .fold(None as Option<::transforms::FrequencyBucket>, |max, next| - if max.is_none() || max.clone().unwrap().intensity < next.intensity { Some(next.clone()) } else { max } - ).unwrap().max_freq; - let pitch = ::transforms::hz_to_pitch(max_frequency); + let fundamental = ::transforms::find_fundamental_frequency(&frequency_domain); + let pitch = match fundamental { + Some(fundamental) => ::transforms::hz_to_pitch(fundamental), + None => "".to_string() + }; pitch_sender.send(pitch).ok(); } }); |