Skip to content

Show live segments for the CTranslate2 whisper engine (looked frozen)#12239

Merged
niksedk merged 1 commit into
SubtitleEdit:mainfrom
muaz978:fix/ctranslate2-verbose-progress
Jul 7, 2026
Merged

Show live segments for the CTranslate2 whisper engine (looked frozen)#12239
niksedk merged 1 commit into
SubtitleEdit:mainfrom
muaz978:fix/ctranslate2-verbose-progress

Conversation

@muaz978

@muaz978 muaz978 commented Jul 7, 2026

Copy link
Copy Markdown

CTranslate2 engine: console stays empty for the whole run, looks frozen

Problem

Running the Whisper CTranslate2 engine, the console log shows the "Calling speech-to-text" line and then nothing at all until the run finishes. whisper-ctranslate2 prints no segment lines unless --verbose is on; its only other progress output is a carriage-return tqdm bar, which never completes a line, so the newline-based console log never gets anything to show.

On macOS this is especially misleading: CTranslate2 has no Apple GPU backend, so a large-v3 decode runs sequentially on the CPU and takes a long time, all of it in total silence. It looks frozen or stuck in a loop while it is actually transcribing (that is how it was reported).

Fix

Default --verbose True into the CTranslate2 parameter set, unless the user already set their own --verbose preference in the advanced parameters. Segments then stream into the console as they are decoded, matching the behavior of the other engines.

Verified

On macOS against the shipped whisper-ctranslate2 0.5.7 bundle and the Systran large-v3 model, with the exact command line Subtitle Edit builds:

  • without the flag: console output ends after the model loads, nothing more for the entire decode
  • with the flag: [MM:SS.mmm --> MM:SS.mmm] text lines appear live per segment (Arabic text included)

Files

  • src/ui/Features/Video/SpeechToText/SpeechToTextViewModel.cs

whisper-ctranslate2 prints no segment lines unless --verbose is on; its only
other progress output is a carriage-return tqdm bar that never completes a
line, so Subtitle Edit's newline-based console log stayed completely empty for
the whole run. With large-v3 decoding sequentially on the CPU (macOS has no
GPU path in CTranslate2) that silence lasts a very long time and the engine
looks frozen or stuck in a loop, when it is in fact transcribing.

Default --verbose True into the CTranslate2 parameter set, unless the user
already set their own --verbose preference in advanced settings. Segments now
stream into the console as they are decoded, exactly like the other engines.

Verified on macOS against the shipped whisper-ctranslate2 bundle and the
Systran large-v3 model: without the flag the console stays empty until the
end; with it, "[MM:SS.mmm --> MM:SS.mmm] text" lines appear live.
@niksedk niksedk merged commit 4bfedcf into SubtitleEdit:main Jul 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants