summaryrefslogtreecommitdiff
path: root/src/gui.rs
diff options
context:
space:
mode:
authorJustin Worthe <justin.worthe@gmail.com>2016-11-12 11:57:49 +0200
committerJustin Worthe <justin.worthe@gmail.com>2016-11-12 11:57:49 +0200
commit14d8545f0c905ea94556919693c08fb887a3ce59 (patch)
treee697b048996324429f0bf1eaab6c032d9a7ac965 /src/gui.rs
parentda2a138787797bbae1c1f030a9ddf660d85f08bd (diff)
Better pitch formatting
Diffstat (limited to 'src/gui.rs')
-rw-r--r--src/gui.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/gui.rs b/src/gui.rs
index 2b79f06..5501e33 100644
--- a/src/gui.rs
+++ b/src/gui.rs
@@ -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();
}
});