From 72a1420638f1ba9873756b66abc8d9d72dcbc040 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Tue, 28 Nov 2023 22:24:10 -0700 Subject: [PATCH] wheee --- rust-whisper.d/Cargo.lock | 62 ++++++++++++++++++++++++++++++++++++++ rust-whisper.d/Cargo.toml | 1 + rust-whisper.d/src/main.rs | 8 ++--- 3 files changed, 67 insertions(+), 4 deletions(-) diff --git a/rust-whisper.d/Cargo.lock b/rust-whisper.d/Cargo.lock index 5afae11..028056f 100644 --- a/rust-whisper.d/Cargo.lock +++ b/rust-whisper.d/Cargo.lock @@ -48,6 +48,21 @@ dependencies = [ "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]] name = "autocfg" version = "1.1.0" @@ -173,6 +188,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" 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]] name = "clang-sys" version = "1.6.1" @@ -315,6 +344,29 @@ dependencies = [ "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]] name = "indexmap" version = "2.1.0" @@ -720,6 +772,7 @@ name = "rust-whisper" version = "0.1.0" dependencies = [ "byteorder", + "chrono", "cpal", "signal-hook", "tokio", @@ -1037,6 +1090,15 @@ dependencies = [ "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]] name = "windows-sys" version = "0.48.0" diff --git a/rust-whisper.d/Cargo.toml b/rust-whisper.d/Cargo.toml index 3bc164f..63fa2f7 100644 --- a/rust-whisper.d/Cargo.toml +++ b/rust-whisper.d/Cargo.toml @@ -12,3 +12,4 @@ tokio = "1.27" cpal = "0.15.2" signal-hook = "0.3.17" byteorder = "1.5.0" +chrono = "0.4.31" diff --git a/rust-whisper.d/src/main.rs b/rust-whisper.d/src/main.rs index ca3686e..ba693dd 100644 --- a/rust-whisper.d/src/main.rs +++ b/rust-whisper.d/src/main.rs @@ -2,6 +2,7 @@ use whisper_rs::{WhisperContext, FullParams, SamplingStrategy, WhisperError}; use cpal::traits::{HostTrait, DeviceTrait, StreamTrait}; use signal_hook::{iterator::Signals, consts::signal::SIGINT}; use std::time::{Duration, Instant}; +use chrono; fn main() { let w = new_whisper( @@ -63,6 +64,7 @@ fn main() { downsampled_data.iter().for_each(|x| buffer.push(*x)); if Instant::now() - last > stream_step { let result = w.transcribe(&buffer).unwrap(); + eprintln!("{}", chrono::Local::now()); println!("{}", result); let retain = buffer.len() - (buffer.len() as f32 * stream_churn) as usize; @@ -83,7 +85,7 @@ fn main() { eprintln!("listening on {}", device.name().unwrap()); let mut signals = Signals::new(&[SIGINT]).unwrap(); for sig in signals.forever() { - println!("sig {}", sig); + eprintln!("sig {}", sig); break; } stream.pause().unwrap(); @@ -115,9 +117,8 @@ impl Whisper { } fn _transcribe(&self, data: &Vec) -> Result { - //eprintln!("{:?} ({})", data, data.len()); - let mut params = FullParams::new(SamplingStrategy::Greedy { best_of: 0 }); + params.set_no_context(true); params.set_n_threads(self.threads); params.set_translate(false); params.set_detect_language(false); @@ -126,7 +127,6 @@ impl Whisper { params.set_print_progress(false); params.set_print_realtime(false); params.set_print_timestamps(false); - params.set_no_context(true); let mut state = self.ctx.create_state()?; state.full(params, &data[..])?;