From fcb477cc5e4bf920367517754eb9ad2a617e1ecd Mon Sep 17 00:00:00 2001 From: jbrough Date: Sat, 22 Jul 2023 06:53:12 +0100 Subject: [PATCH] calculate mel.n_len as mel spectrogram stride len --- src/whisper_state.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/whisper_state.rs b/src/whisper_state.rs index b0305b0..be288ef 100644 --- a/src/whisper_state.rs +++ b/src/whisper_state.rs @@ -123,12 +123,14 @@ impl<'a> WhisperState<'a> { /// # C++ equivalent /// `int whisper_set_mel(struct whisper_context * ctx, const float * data, int n_len, int n_mel)` pub fn set_mel(&mut self, data: &[f32]) -> Result<(), WhisperError> { + let hop_size = 160; + let n_len = (data.len() / hop_size) * 2; let ret = unsafe { whisper_rs_sys::whisper_set_mel_with_state( self.ctx, self.ptr, data.as_ptr(), - data.len() as c_int, + n_len as c_int, 80 as c_int, ) };