rust-whisper-baked with --wav to wav_channel
parent
601fe517d7
commit
dd6f980266
|
|
@ -7,43 +7,21 @@ use std::thread;
|
||||||
fn main() {
|
fn main() {
|
||||||
let flags = rust_whisper_lib::Flags::parse();
|
let flags = rust_whisper_lib::Flags::parse();
|
||||||
match flags.wav.clone() {
|
match flags.wav.clone() {
|
||||||
Some(path) => wav_ch(flags, path),
|
Some(_) => wav_channel(flags),
|
||||||
None => channel(flags),
|
None => channel(flags),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn wav_ch(flags: rust_whisper_lib::Flags, path: String) {
|
fn wav_channel(flags: rust_whisper_lib::Flags) {
|
||||||
let mut audio = rust_whisper_baked_lib::f32_from_wav_file(&path).unwrap();
|
rust_whisper_baked_lib::wav_channel(
|
||||||
|
flags.clone(),
|
||||||
let (send, recv) = std::sync::mpsc::sync_channel(100);
|
move |result: Result<rust_whisper_lib::Transcribed, String>| {
|
||||||
let n = audio.len() / match audio.len() % 100 {
|
match result {
|
||||||
0 => 100,
|
Ok(transcribed) => { println!("{}", transcribed.to_string()); },
|
||||||
_ => 99,
|
Err(msg) => { eprintln!("error: {}", msg); },
|
||||||
};
|
};
|
||||||
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(flags: rust_whisper_lib::Flags, _path: String) {
|
fn wav(flags: rust_whisper_lib::Flags, _path: String) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue