no warnings but still nothing sane coming out...

master
Bel LaPointe 2023-11-28 20:36:26 -07:00
parent d631def834
commit 62e764436a
1 changed files with 6 additions and 6 deletions

View File

@ -1,6 +1,5 @@
use whisper_rs::{WhisperContext, FullParams, SamplingStrategy, WhisperError}; use whisper_rs::{WhisperContext, FullParams, SamplingStrategy, WhisperError};
use cpal::traits::{HostTrait, DeviceTrait, StreamTrait}; use cpal::traits::{HostTrait, DeviceTrait, StreamTrait};
use cpal::Data;
use signal_hook::{iterator::Signals, consts::signal::SIGINT}; use signal_hook::{iterator::Signals, consts::signal::SIGINT};
use std::time::{Duration, Instant}; use std::time::{Duration, Instant};
@ -37,16 +36,15 @@ fn main() {
let mut buffer = vec![]; let mut buffer = vec![];
let mut last = Instant::now(); let mut last = Instant::now();
let fiveSeconds = Duration::new(15, 0); let five_seconds = Duration::new(15, 0);
let stream = device.build_input_stream( let stream = device.build_input_stream(
&cfg.clone().into(), &cfg.into(),
move |data: &[f32], _: &cpal::InputCallbackInfo| { move |data: &[f32], _: &cpal::InputCallbackInfo| {
let before = buffer.len();
data.iter() data.iter()
.map(|x| *x) .map(|x| *x)
.step_by(channels) .step_by(channels)
.for_each(|x| buffer.push(x)); .for_each(|x| buffer.push(x));
if Instant::now() - last > fiveSeconds { if Instant::now() - last > five_seconds {
let result = w.transcribe(&buffer).unwrap(); let result = w.transcribe(&buffer).unwrap();
println!("({}) {}", buffer.len(), result); println!("({}) {}", buffer.len(), result);
@ -62,8 +60,10 @@ fn main() {
eprintln!("input error: {}", err) eprintln!("input error: {}", err)
}, },
None, None,
); ).unwrap();
stream.play().unwrap();
eprintln!("listening on {}", device.name().unwrap());
let mut signals = Signals::new(&[SIGINT]).unwrap(); let mut signals = Signals::new(&[SIGINT]).unwrap();
for sig in signals.forever() { for sig in signals.forever() {
println!("sig {}", sig); println!("sig {}", sig);