rust-whisper-baked streams again woo

master v0.2.1
Bel LaPointe 2023-12-20 09:48:38 -05:00
parent 1e56d44b2f
commit 3b6ae8801c
8 changed files with 32 additions and 1481 deletions

View File

@ -69,28 +69,3 @@ impl Listener {
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_transcribe_tiny_jfk_wav() {
main(
Flags {
model_path: None,
model_buffer: Some(include_bytes!("../../models/ggml-tiny.en.bin").to_vec()),
threads: 8,
stream_step: 0,
stream_retain: 0.0,
stream_head: 0.0,
stream_tail: 0.0,
wav: Some("../gitea-whisper-rs/sys/whisper.cpp/bindings/go/samples/jfk.wav".to_string()),
debug: false,
},
| result | {
assert!(result.is_ok());
assert_eq!(result.unwrap().to_string(), " And so my fellow Americans ask not what your country can do for you ask what you can do for your country.");
},
);
}
}

View File

@ -563,6 +563,14 @@ version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
[[package]]
name = "listen-lib"
version = "0.1.0"
dependencies = [
"cpal",
"signal-hook",
]
[[package]]
name = "lock_api"
version = "0.4.11"
@ -872,6 +880,7 @@ name = "rust-whisper-baked"
version = "0.1.0"
dependencies = [
"clap",
"listen-lib",
"rust-whisper-baked-lib",
"rust-whisper-lib",
]
@ -890,8 +899,6 @@ dependencies = [
"byteorder",
"chrono",
"clap",
"cpal",
"signal-hook",
"tokio",
"wav",
"whisper-rs",

View File

@ -8,4 +8,5 @@ edition = "2021"
[dependencies]
rust-whisper-lib = { path = "../rust-whisper-lib" }
rust-whisper-baked-lib = { path = "../rust-whisper-baked-lib" }
listen-lib = { path = "../listen-lib" }
clap = { version = "4.4.10", features = ["derive"] }

View File

@ -1,16 +1,29 @@
use rust_whisper_lib;
use rust_whisper_baked_lib;
use clap::Parser;
use listen_lib;
use std::thread;
fn main() {
let flags = rust_whisper_lib::Flags::parse();
rust_whisper_baked_lib::main(
let (send, recv) = std::sync::mpsc::sync_channel(100);
eprintln!("rust whisper baked lib channel...");
thread::spawn(move || {
rust_whisper_baked_lib::channel(
flags,
|result: Result<rust_whisper_lib::Whispered, String>| {
|result: Result<rust_whisper_lib::Transcribed, String>| {
match result {
Ok(whispered) => { println!("{}", whispered.to_string()); },
Ok(transcribed) => { println!("{}", transcribed.to_string()); },
Err(msg) => { eprintln!("error: {}", msg); },
};
},
recv,
);
});
eprintln!("listen lib main...");
listen_lib::main(|data| {
send.send(data).unwrap();
});
}

1410
rust-whisper/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
[package]
name = "rust-whisper"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rust-whisper-lib = { path = "../rust-whisper-lib" }
listen-lib = { path = "../listen-lib" }
clap = { version = "4.4.10", features = ["derive"] }

View File

@ -1,8 +0,0 @@
#! /bin/bash
#RUSTFLAGS="-Clink-args=-lstd++" \
export C_INCLUDE_PATH="$C_INCLUDE_PATH:$PWD/.."
export LIBRARY_PATH="$LIBRARY_PATH:$PWD/.."
cargo "$@"

View File

@ -1,16 +0,0 @@
use rust_whisper_lib;
use listen_lib;
use clap::Parser;
fn main() {
let flags = rust_whisper_lib::Flags::parse();
rust_whisper_lib::main(
flags,
|result: Result<rust_whisper_lib::Whispered, String>| {
match result {
Ok(whispered) => { println!("{}", whispered.to_string()); },
Err(msg) => { eprintln!("error: {}", msg); },
};
},
);
}