Spaces:
Sleeping
Sleeping
print whisper system info
Browse files- 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 {
|