From 406fcae6942d4b18dc789778c1894ff4ddcd09df Mon Sep 17 00:00:00 2001 From: 0/0 Date: Wed, 8 Feb 2023 16:25:17 -0700 Subject: [PATCH] add another example --- Cargo.toml | 1 + examples/full_usage/2830-3980-0043.wav | Bin 0 -> 63244 bytes examples/full_usage/Cargo.toml | 10 ++++ examples/full_usage/src/main.rs | 62 +++++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 examples/full_usage/2830-3980-0043.wav create mode 100644 examples/full_usage/Cargo.toml create mode 100644 examples/full_usage/src/main.rs diff --git a/Cargo.toml b/Cargo.toml index 99096be..8329fb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = ["sys"] +exclude = ["examples/full_usage"] [package] name = "whisper-rs" diff --git a/examples/full_usage/2830-3980-0043.wav b/examples/full_usage/2830-3980-0043.wav new file mode 100644 index 0000000000000000000000000000000000000000..d6b8463158ed843f7ea2039d1119e6717f474512 GIT binary patch literal 63244 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≻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 literal 0 HcmV?d00001 diff --git a/examples/full_usage/Cargo.toml b/examples/full_usage/Cargo.toml new file mode 100644 index 0000000..97020b0 --- /dev/null +++ b/examples/full_usage/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "full_usage" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +hound = "3" +whisper-rs = { path = "../.." } diff --git a/examples/full_usage/src/main.rs b/examples/full_usage/src/main.rs new file mode 100644 index 0000000..d7da7a9 --- /dev/null +++ b/examples/full_usage/src/main.rs @@ -0,0 +1,62 @@ +#![allow(clippy::uninlined_format_args)] + +use hound::{SampleFormat, WavReader}; +use std::path::Path; +use whisper_rs::{FullParams, SamplingStrategy, WhisperContext}; + +fn parse_wav_file(path: &Path) -> Vec { + let reader = WavReader::open(path).expect("failed to read file"); + + if reader.spec().channels != 1 { + panic!("expected mono audio file"); + } + if reader.spec().sample_format != SampleFormat::Int { + panic!("expected integer sample format"); + } + if reader.spec().sample_rate != 16000 { + panic!("expected 16KHz sample rate"); + } + if reader.spec().bits_per_sample != 16 { + panic!("expected 16 bits per sample"); + } + + reader + .into_samples::() + .map(|x| x.expect("sample")) + .collect::>() +} + +fn main() { + let arg1 = std::env::args() + .nth(1) + .expect("first argument should be path to WAV file"); + let audio_path = Path::new(&arg1); + if !audio_path.exists() && !audio_path.is_file() { + panic!("expected a file"); + } + let arg2 = std::env::args() + .nth(2) + .expect("second argument should be path to Whisper model"); + let whisper_path = Path::new(&arg2); + if !whisper_path.exists() && !whisper_path.is_file() { + panic!("expected a whisper directory") + } + + let original_samples = parse_wav_file(audio_path); + let samples = whisper_rs::convert_integer_to_float_audio(&original_samples); + + let mut ctx = + WhisperContext::new(&whisper_path.to_string_lossy()).expect("failed to open model"); + let params = FullParams::new(SamplingStrategy::default()); + + ctx.full(params, &samples) + .expect("failed to convert samples"); + + let num_segments = ctx.full_n_segments(); + for i in 0..num_segments { + let segment = ctx.full_get_segment_text(i).expect("failed to get segment"); + let start_timestamp = ctx.full_get_segment_t0(i); + let end_timestamp = ctx.full_get_segment_t1(i); + println!("[{} - {}]: {}", start_timestamp, end_timestamp, segment); + } +}