no warnings but still nothing sane coming out...
parent
d631def834
commit
62e764436a
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue