]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
stream : fix handling of --step == --length (#416)
authorGeorgi Gerganov <redacted>
Wed, 18 Jan 2023 19:22:52 +0000 (21:22 +0200)
committerGeorgi Gerganov <redacted>
Wed, 18 Jan 2023 19:22:52 +0000 (21:22 +0200)
examples/stream/stream.cpp

index fb0cb3dd06c132d3e83f3222c88c1c9c36a327d6..b2a1824c0907f3eb6ff865368ae4a20c5dc7e1b3 100644 (file)
@@ -423,7 +423,8 @@ int main(int argc, char ** argv) {
         return 1;
     }
 
-    params.keep_ms = std::min(params.keep_ms, params.step_ms); // cannot be more than step_ms
+    params.keep_ms   = std::min(params.keep_ms,   params.step_ms);
+    params.length_ms = std::max(params.length_ms, params.step_ms);
 
     const int n_samples_step = (params.step_ms  *1e-3)*WHISPER_SAMPLE_RATE;
     const int n_samples_len  = (params.length_ms*1e-3)*WHISPER_SAMPLE_RATE;
@@ -432,7 +433,7 @@ int main(int argc, char ** argv) {
 
     const bool use_vad = n_samples_step <= 0; // sliding window mode uses VAD
 
-    const int n_new_line = !use_vad ? params.length_ms / params.step_ms - 1 : 1; // number of steps to print new line
+    const int n_new_line = !use_vad ? std::max(1, params.length_ms / params.step_ms - 1) : 1; // number of steps to print new line
 
     params.no_timestamps  = !use_vad;
     params.no_context    |= use_vad;