From 1146bb057db9e5af3f40f56fe88ca21afca6432b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 6 Sep 2019 02:42:07 -0400 Subject: [PATCH] wow this sounds weird --- src/main.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 555babf921..f7efb75946 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,10 +2,12 @@ extern crate cpal; extern crate hound; extern crate sample; +//extern crate signal; extern crate sonogram; extern crate wavy; use wavy::*; +//use signal; use std::collections::VecDeque; @@ -17,23 +19,42 @@ fn main() { fn record() -> Result<(), AudioError> { // Connect to the speaker and microphone systems. let mut mic = MicrophoneSystem::new(SampleRate::Normal)?; - let mut speaker = SpeakerSystem::new(SampleRate::Normal)?; + let mut speaker = SpeakerSystem::new(SampleRate::Sparse)?; let mut buffer = VecDeque::new(); +/* // Convert a signal to its RMS. +let signal = signal::rate(44_100.0).const_hz(440.0).sine();; +let ring_buffer = ring_buffer::Fixed::from([[0.0]; WINDOW_SIZE]); +let mut rms_signal = signal.rms(ring_buffer);*/ + loop { // Record some sound. mic.record(&mut |_whichmic, l, r| { buffer.push_back((l, r)); }); + let mut last_rsample = None; + let mut last_lsample = None; + // Play that sound. speaker.play(&mut || { if let Some((lsample, rsample)) = buffer.pop_front() { + //let rsample = rsample.saturating_mul(2); + //let lsample = lsample.saturating_mul(2); + last_rsample = Some(rsample); + last_lsample = Some(lsample); + /*let swap = rsample; + let rsample = lsample; + let lsample = swap;*/ AudioSample::stereo(lsample, rsample) } else { // Play silence if not enough has been recorded yet. - AudioSample::stereo(0, 0) + //let rsample = last_rsample.unwrap_or(0); + //let lsample = last_lsample.unwrap_or(0); + let rsample = 0; + let lsample = 0; + AudioSample::stereo(rsample, lsample) } }); }