From 226bedb80ed3640c7efdc0c943a71eaf708d0371 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Tue, 19 Dec 2023 10:25:48 -0500 Subject: [PATCH] add --debug to write a file that can be played with cat /tmp/page.rawf32audio | sox -r 16000 -b 32 -t f32 -e floating-point - -d --- src/main.rs | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index fb03052..90c8626 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,6 +5,8 @@ use std::time::{Duration, Instant}; use chrono; use clap::Parser; use std::thread; +use std::fs::File; +use std::io::Write; #[derive(Parser, Debug)] struct Flags { @@ -24,6 +26,9 @@ struct Flags { stream_tail: f32, wav: Option, + + #[arg(long, default_value = "false")] + debug: bool, } fn main() { @@ -49,6 +54,10 @@ fn main() { w.transcribe(&audio_data); }, None => { + match &flags.debug { + true => { File::create("/tmp/page.rawf32audio").unwrap(); }, + false => {}, + }; let mut buffer = vec![]; let mut last = Instant::now(); new_listener().listen(move |data: Vec| { @@ -59,8 +68,22 @@ fn main() { Err(msg) => eprintln!("{}", msg), }; - for i in stream_retain..buffer.len() { - buffer[i - stream_retain] = buffer[i] + match &flags.debug { + true => { + let mut f = File::options().append(true).open("/tmp/page.rawf32audio").unwrap(); + let mut wav_data = vec![]; + for i in buffer.iter() { + for j in i.to_le_bytes() { + wav_data.push(j); + } + } + f.write_all(wav_data.as_slice()).unwrap(); + }, + false => {}, + }; + + for i in 0..stream_retain { + buffer[i] = buffer[buffer.len() - stream_retain + i]; } buffer.truncate(stream_retain); last = Instant::now();