rust-whisper-baked with --wav to wav_channel
parent
601fe517d7
commit
dd6f980266
|
|
@ -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::<Option<i32>>(1);
|
||||
thread::spawn(move || {
|
||||
let mut i = 0;
|
||||
rust_whisper_baked_lib::channel(
|
||||
flags.clone(),
|
||||
move |result: Result<rust_whisper_lib::Transcribed, String>| {
|
||||
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<rust_whisper_lib::Transcribed, String>| {
|
||||
match result {
|
||||
Ok(transcribed) => { println!("{}", transcribed.to_string()); },
|
||||
Err(msg) => { eprintln!("error: {}", msg); },
|
||||
};
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
fn wav(flags: rust_whisper_lib::Flags, _path: String) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue