Critical bug: Fix --no-timestamps flag behavior #3495
+410
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix --no-timestamps flag behavior
Summary
This PR fixes the
--no-timestampsflag to only affect output formatting without changing transcription quality. Previously, the flag would alter the decoding process, resulting in different and lower quality transcription text.Problem
When using
--no-timestampsflag:<|notimestamps|>token to the promptSolution
The fix ensures
--no-timestampsonly controls output formatting:Changes
Core Fixes (
src/whisper.cpp)<|notimestamps|>token injection - The model no longer adds this token to prompts, allowing proper timestamp-based segmentationTests (
tests/)test-no-timestamps.cpp- Automated test that verifies transcription quality is identical with/without the flagTEST_NO_TIMESTAMPS.md- Test documentationtests/CMakeLists.txt- Test integrationDocumentation
NO_TIMESTAMPS_FIX.md- Detailed explanation of the problem and solutionTesting
Automated Test
cd build ctest -R test-no-timestamps -VTest verifies that:
--no-timestampsproduces identical textManual Testing
Backward Compatibility
✅ Fully backward compatible
--no-timestampsImpact
--no-timestampsChecklist