wheee
parent
1009c4230e
commit
72a1420638
|
|
@ -48,6 +48,21 @@ dependencies = [
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "android-tzdata"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "android_system_properties"
|
||||||
|
version = "0.1.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "autocfg"
|
name = "autocfg"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
|
@ -173,6 +188,20 @@ version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "chrono"
|
||||||
|
version = "0.4.31"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
|
||||||
|
dependencies = [
|
||||||
|
"android-tzdata",
|
||||||
|
"iana-time-zone",
|
||||||
|
"js-sys",
|
||||||
|
"num-traits",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"windows-targets 0.48.5",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clang-sys"
|
name = "clang-sys"
|
||||||
version = "1.6.1"
|
version = "1.6.1"
|
||||||
|
|
@ -315,6 +344,29 @@ dependencies = [
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "iana-time-zone"
|
||||||
|
version = "0.1.58"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
|
||||||
|
dependencies = [
|
||||||
|
"android_system_properties",
|
||||||
|
"core-foundation-sys",
|
||||||
|
"iana-time-zone-haiku",
|
||||||
|
"js-sys",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"windows-core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "iana-time-zone-haiku"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "2.1.0"
|
version = "2.1.0"
|
||||||
|
|
@ -720,6 +772,7 @@ name = "rust-whisper"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
"byteorder",
|
||||||
|
"chrono",
|
||||||
"cpal",
|
"cpal",
|
||||||
"signal-hook",
|
"signal-hook",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
|
@ -1037,6 +1090,15 @@ dependencies = [
|
||||||
"windows-targets 0.42.2",
|
"windows-targets 0.42.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-core"
|
||||||
|
version = "0.51.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
|
||||||
|
dependencies = [
|
||||||
|
"windows-targets 0.48.5",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-sys"
|
name = "windows-sys"
|
||||||
version = "0.48.0"
|
version = "0.48.0"
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,4 @@ tokio = "1.27"
|
||||||
cpal = "0.15.2"
|
cpal = "0.15.2"
|
||||||
signal-hook = "0.3.17"
|
signal-hook = "0.3.17"
|
||||||
byteorder = "1.5.0"
|
byteorder = "1.5.0"
|
||||||
|
chrono = "0.4.31"
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ use whisper_rs::{WhisperContext, FullParams, SamplingStrategy, WhisperError};
|
||||||
use cpal::traits::{HostTrait, DeviceTrait, StreamTrait};
|
use cpal::traits::{HostTrait, DeviceTrait, StreamTrait};
|
||||||
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};
|
||||||
|
use chrono;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let w = new_whisper(
|
let w = new_whisper(
|
||||||
|
|
@ -63,6 +64,7 @@ fn main() {
|
||||||
downsampled_data.iter().for_each(|x| buffer.push(*x));
|
downsampled_data.iter().for_each(|x| buffer.push(*x));
|
||||||
if Instant::now() - last > stream_step {
|
if Instant::now() - last > stream_step {
|
||||||
let result = w.transcribe(&buffer).unwrap();
|
let result = w.transcribe(&buffer).unwrap();
|
||||||
|
eprintln!("{}", chrono::Local::now());
|
||||||
println!("{}", result);
|
println!("{}", result);
|
||||||
|
|
||||||
let retain = buffer.len() - (buffer.len() as f32 * stream_churn) as usize;
|
let retain = buffer.len() - (buffer.len() as f32 * stream_churn) as usize;
|
||||||
|
|
@ -83,7 +85,7 @@ fn main() {
|
||||||
eprintln!("listening on {}", device.name().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);
|
eprintln!("sig {}", sig);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
stream.pause().unwrap();
|
stream.pause().unwrap();
|
||||||
|
|
@ -115,9 +117,8 @@ impl Whisper {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn _transcribe(&self, data: &Vec<f32>) -> Result<String, WhisperError> {
|
fn _transcribe(&self, data: &Vec<f32>) -> Result<String, WhisperError> {
|
||||||
//eprintln!("{:?} ({})", data, data.len());
|
|
||||||
|
|
||||||
let mut params = FullParams::new(SamplingStrategy::Greedy { best_of: 0 });
|
let mut params = FullParams::new(SamplingStrategy::Greedy { best_of: 0 });
|
||||||
|
params.set_no_context(true);
|
||||||
params.set_n_threads(self.threads);
|
params.set_n_threads(self.threads);
|
||||||
params.set_translate(false);
|
params.set_translate(false);
|
||||||
params.set_detect_language(false);
|
params.set_detect_language(false);
|
||||||
|
|
@ -126,7 +127,6 @@ impl Whisper {
|
||||||
params.set_print_progress(false);
|
params.set_print_progress(false);
|
||||||
params.set_print_realtime(false);
|
params.set_print_realtime(false);
|
||||||
params.set_print_timestamps(false);
|
params.set_print_timestamps(false);
|
||||||
params.set_no_context(true);
|
|
||||||
|
|
||||||
let mut state = self.ctx.create_state()?;
|
let mut state = self.ctx.create_state()?;
|
||||||
state.full(params, &data[..])?;
|
state.full(params, &data[..])?;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue