diff --git a/src/whisper_ctx.rs b/src/whisper_ctx.rs index 25b3013..8d948cd 100644 --- a/src/whisper_ctx.rs +++ b/src/whisper_ctx.rs @@ -518,6 +518,20 @@ impl WhisperContext { pub fn token_transcribe(&self) -> WhisperToken { unsafe { whisper_rs_sys::whisper_token_transcribe(self.ctx) } } + + /// Get whether the next segment is predicted as a speaker turn + /// + /// # Arguments + /// * i_segment: Segment index. + /// + /// # Returns + /// bool + /// + /// # C++ equivalent + /// `bool whisper_full_get_segment_speaker_turn_next(struct whisper_context * ctx, int i_segment)` + pub fn full_get_segment_speaker_turn_next(&mut self, i_segment: c_int) -> bool { + unsafe { whisper_rs_sys::whisper_full_get_segment_speaker_turn_next(self.ctx, i_segment) } + } } impl Drop for WhisperContext { diff --git a/src/whisper_state.rs b/src/whisper_state.rs index 661dc62..15f540a 100644 --- a/src/whisper_state.rs +++ b/src/whisper_state.rs @@ -576,4 +576,22 @@ impl<'a> WhisperState<'a> { }, ) } + + /// Get whether the next segment is predicted as a speaker turn. + /// + /// # Arguments + /// * i_segment: Segment index. + /// + /// # Returns + /// bool + /// + /// # C++ equivalent + /// `bool whisper_full_get_segment_speaker_turn_next_from_state(struct whisper_state * state, int i_segment)` + pub fn full_get_segment_speaker_turn_next(&mut self, i_segment: c_int) -> bool { + unsafe { + whisper_rs_sys::whisper_full_get_segment_speaker_turn_next_from_state( + self.ptr, i_segment, + ) + } + } } diff --git a/sys/build.rs b/sys/build.rs index 7def6f1..0535637 100644 --- a/sys/build.rs +++ b/sys/build.rs @@ -44,6 +44,7 @@ fn main() { println!("cargo:rustc-link-lib=cublas"); println!("cargo:rustc-link-lib=cudart"); println!("cargo:rustc-link-lib=cublasLt"); + println!("cargo:rustc-link-lib=cuda"); cfg_if::cfg_if! { if #[cfg(target_os = "windows")] { let cuda_path = PathBuf::from(env::var("CUDA_PATH").unwrap()).join("lib/x64");