From 765f3c54fa744044fc5e9df0a061f75651ffd24b Mon Sep 17 00:00:00 2001 From: trevyn <230691+trevyn@users.noreply.github.com> Date: Mon, 29 Jul 2024 15:08:27 +0400 Subject: [PATCH] remove microphone_as_stream --- src/main.rs | 98 ----------------------------------------------------- 1 file changed, 98 deletions(-) diff --git a/src/main.rs b/src/main.rs index 695c592..a90df30 100644 --- a/src/main.rs +++ b/src/main.rs @@ -676,104 +676,6 @@ async fn main() -> Result<(), Box> { Ok(()) } -fn microphone_as_stream() -> Receiver> { - let (sync_tx, sync_rx) = crossbeam::channel::unbounded(); - let (mut async_tx, async_rx) = mpsc::channel(1); - - thread::spawn(move || { - let host = cpal::default_host(); - let device = host.default_input_device().unwrap(); - - let config = device.supported_input_configs().unwrap(); - for config in config { - dbg!(&config); - } - - let config = device.default_input_config().unwrap(); - - dbg!(&config); - - let num_channels = config.channels() as usize; - - let stream = match config.sample_format() { - cpal::SampleFormat::F32 => device - .build_input_stream( - &config.into(), - move |data: &[f32], _: &_| { - let mut bytes = - BytesMut::with_capacity((data.len() * std::mem::size_of::()) / num_channels); - for sample in data.iter().step_by(num_channels) { - // if *sample > 0.5 { - // dbg!(sample); - // } - bytes.put_i16_le(sample.to_sample::()); - } - sync_tx.send(bytes.freeze()).ok(); - }, - |_| panic!(), - None, - ) - .unwrap(), - // cpal::SampleFormat::I16 => device - // .build_input_stream( - // &config.into(), - // move |data: &[i16], _: &_| { - // let mut bytes = BytesMut::with_capacity(data.len() * 2); - // for sample in data { - // bytes.put_i16_le(*sample); - // } - // sync_tx.send(bytes.freeze()).unwrap(); - // }, - // |_| panic!(), - // None, - // ) - // .unwrap(), - // cpal::SampleFormat::U16 => device - // .build_input_stream( - // &config.into(), - // move |data: &[u16], _: &_| { - // let mut bytes = BytesMut::with_capacity(data.len() * 2); - // for sample in data { - // bytes.put_i16_le(sample.to_sample::()); - // } - // sync_tx.send(bytes.freeze()).unwrap(); - // }, - // |_| panic!(), - // None, - // ) - // .unwrap(), - _ => panic!("unsupported sample format"), - }; - - stream.play().unwrap(); - - loop { - thread::park(); - } - }); - - tokio::spawn(async move { - let mut buffer = Vec::with_capacity(150000); - loop { - let data = sync_rx.recv(); - if let Ok(data) = &data { - buffer.extend(data.clone().to_vec()); - if buffer.len() > 100000 { - let moved_buffer = buffer; - buffer = Vec::with_capacity(150000); - tokio::task::spawn_blocking(|| { - SampleData { rowid: None, record_ms: now_ms(), sample_data: moved_buffer }.insert().unwrap(); - }); - } - } - - async_tx.send(data).await.unwrap(); - } - }); - - async_rx -} - pub(crate) async fn run_openai( model: &str, tripwire: Tripwire,