mingyang91 commited on
Commit
dac8f9a
·
verified ·
1 Parent(s): a1dd3ea

print whisper system info

Browse files
Files changed (1) hide show
  1. src/whisper.rs +16 -1
src/whisper.rs CHANGED
@@ -8,7 +8,7 @@ use std::{
8
 
9
  use once_cell::sync::Lazy;
10
  use tokio::sync::{broadcast, mpsc, oneshot};
11
- use tracing::trace;
12
  use whisper_rs::{convert_integer_to_float_audio, WhisperContext, WhisperState, WhisperToken};
13
  use whisper_rs_sys::WHISPER_SAMPLE_RATE;
14
 
@@ -17,9 +17,24 @@ use crate::{config::WhisperConfig, group::GroupedWithin};
17
 
18
  static WHISPER_CONTEXT: Lazy<WhisperContext> = Lazy::new(|| {
19
  let settings = Settings::new().expect("Failed to initialize settings.");
 
 
 
 
 
 
 
20
  WhisperContext::new(&settings.whisper.model).expect("failed to create WhisperContext")
21
  });
22
 
 
 
 
 
 
 
 
 
23
  #[derive(Debug)]
24
  pub(crate) enum Error {
25
  WhisperError {
 
8
 
9
  use once_cell::sync::Lazy;
10
  use tokio::sync::{broadcast, mpsc, oneshot};
11
+ use tracing::{debug, trace};
12
  use whisper_rs::{convert_integer_to_float_audio, WhisperContext, WhisperState, WhisperToken};
13
  use whisper_rs_sys::WHISPER_SAMPLE_RATE;
14
 
 
17
 
18
  static WHISPER_CONTEXT: Lazy<WhisperContext> = Lazy::new(|| {
19
  let settings = Settings::new().expect("Failed to initialize settings.");
20
+ if tracing::enabled!(tracing::Level::INFO) {
21
+ let info = print_system_info();
22
+ debug!("system_info: n_threads = {} / {} | {}\n",
23
+ settings.whisper.params.n_threads.unwrap_or(0),
24
+ std::thread::available_parallelism().map(|c| c.get()).unwrap_or(0),
25
+ info);
26
+ }
27
  WhisperContext::new(&settings.whisper.model).expect("failed to create WhisperContext")
28
  });
29
 
30
+ fn print_system_info() -> String {
31
+ unsafe {
32
+ let raw_info = whisper_rs_sys::whisper_print_system_info();
33
+ let info = std::ffi::CStr::from_ptr(raw_info);
34
+ info.to_str().unwrap_or("failed to get system info").to_string()
35
+ }
36
+ }
37
+
38
  #[derive(Debug)]
39
  pub(crate) enum Error {
40
  WhisperError {