wow this sounds weird

This commit is contained in:
Brandon Thomas committed 2019-09-06 02:42:07 -04:00
1 parent ad98211cb9
commit 1146bb057d
1 file changed
+23 -2
+23 -2
View File
@@ -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)
}
});
}