Skip to content

Commit 9857591

Browse files
author
skitsanos
committed
chore: Bump version to 1.2.0, fix cargo license warning, whisper-rs 0.16 API
1 parent 039ebe8 commit 9857591

File tree

4 files changed

+17
-36
lines changed

4 files changed

+17
-36
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
[package]
22
name = "transcribeit"
3-
version = "1.1.0"
3+
version = "1.2.0"
44
edition = "2024"
5-
license = "LicenseRef-BSL-1.1"
65
license-file = "LICENSE"
76

87
[profile.release]

src/engines/model_cache.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use std::collections::HashMap;
2-
use std::os::raw::{c_char, c_void};
32
use std::sync::{Arc, Mutex};
43

54
use anyhow::{Context, Result};
@@ -10,17 +9,15 @@ pub struct ModelCache {
109
}
1110

1211
impl ModelCache {
13-
#[inline]
14-
unsafe extern "C" fn whisper_log_silencer(
15-
_level: u32,
16-
_text: *const c_char,
17-
_user_data: *mut c_void,
18-
) {
19-
}
20-
2112
fn silence_whisper_logs() {
13+
unsafe extern "C" fn noop(
14+
_level: std::os::raw::c_uint,
15+
_text: *const std::os::raw::c_char,
16+
_user_data: *mut std::os::raw::c_void,
17+
) {
18+
}
2219
unsafe {
23-
whisper_rs::set_log_callback(Some(Self::whisper_log_silencer), std::ptr::null_mut());
20+
whisper_rs::set_log_callback(Some(noop), std::ptr::null_mut());
2421
}
2522
}
2623

src/engines/whisper_local.rs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ impl Transcriber for WhisperLocal {
3030
let cache = Arc::clone(&self.cache);
3131
let language = self.language.clone();
3232

33-
// whisper-rs is synchronous and CPU-heavy; run on a blocking thread
3433
tokio::task::spawn_blocking(move || {
3534
let ctx = cache.get_or_load(&model_path)?;
3635

@@ -52,29 +51,15 @@ impl Transcriber for WhisperLocal {
5251
.full(params, &audio_samples)
5352
.context("Whisper inference failed")?;
5453

55-
let num_segments = state
56-
.full_n_segments()
57-
.context("Failed to get segment count")?;
58-
59-
let mut segments = Vec::new();
60-
for i in 0..num_segments {
61-
let text = state
62-
.full_get_segment_text(i)
63-
.context("Failed to get segment text")?;
64-
let start = state
65-
.full_get_segment_t0(i)
66-
.context("Failed to get segment start")?;
67-
let end = state
68-
.full_get_segment_t1(i)
69-
.context("Failed to get segment end")?;
70-
71-
segments.push(Segment {
72-
start_ms: start * 10,
73-
end_ms: end * 10,
74-
text,
54+
let segments: Vec<Segment> = state
55+
.as_iter()
56+
.map(|seg| Segment {
57+
start_ms: seg.start_timestamp() * 10,
58+
end_ms: seg.end_timestamp() * 10,
59+
text: seg.to_string(),
7560
speaker: None,
76-
});
77-
}
61+
})
62+
.collect();
7863

7964
Ok(Transcript { segments })
8065
})

0 commit comments

Comments
 (0)