diff --git a/rust-whisper-baked/src/main.rs b/rust-whisper-baked/src/main.rs index 0f1ad5b..4243201 100644 --- a/rust-whisper-baked/src/main.rs +++ b/rust-whisper-baked/src/main.rs @@ -7,43 +7,21 @@ use std::thread; fn main() { let flags = rust_whisper_lib::Flags::parse(); match flags.wav.clone() { - Some(path) => wav_ch(flags, path), + Some(_) => wav_channel(flags), None => channel(flags), }; } -fn wav_ch(flags: rust_whisper_lib::Flags, path: String) { - let mut audio = rust_whisper_baked_lib::f32_from_wav_file(&path).unwrap(); - - let (send, recv) = std::sync::mpsc::sync_channel(100); - let n = audio.len() / match audio.len() % 100 { - 0 => 100, - _ => 99, - }; - for _ in 0..100 { - send.send(audio.drain(0..n).collect()).unwrap(); - } - - let (fin_send, fin_recv) = std::sync::mpsc::sync_channel::>(1); - thread::spawn(move || { - let mut i = 0; - rust_whisper_baked_lib::channel( - flags.clone(), - move |result: Result| { - match result { - Ok(transcribed) => { println!("{}", transcribed.to_string()); }, - Err(msg) => { eprintln!("error: {}", msg); }, - }; - i += 1; - if i == 100 { - fin_send.send(None).unwrap(); - } - }, - recv, - ); - }); - - let _ = fin_recv.recv(); +fn wav_channel(flags: rust_whisper_lib::Flags) { + rust_whisper_baked_lib::wav_channel( + flags.clone(), + move |result: Result| { + match result { + Ok(transcribed) => { println!("{}", transcribed.to_string()); }, + Err(msg) => { eprintln!("error: {}", msg); }, + }; + }, + ); } fn wav(flags: rust_whisper_lib::Flags, _path: String) {