MoneyPrinterTurbo Subtitle Generation Options: Edge vs Whisper
MoneyPrinterTurbo supports two subtitle generation providers—Microsoft Edge TTS and faster-whisper—configurable via the subtitle_provider setting in the application configuration, with automatic Whisper fallback when Edge fails.
MoneyPrinterTurbo is an automated video generation tool that produces synchronized subtitles for AI-generated audio tracks. The application offers two distinct subtitle generation options: Edge TTS, which captures word-boundary timestamps during speech synthesis, and Whisper, which transcribes audio using the open-source speech recognition model. Understanding these providers helps you optimize subtitle accuracy and generation speed based on your specific workflow requirements.
Edge TTS Subtitle Generation (Default)
The Edge provider uses Microsoft Edge TTS to synthesize speech while simultaneously capturing word-boundary events to construct subtitle timestamps.
Implementation Details
In app/services/subtitle.py, the Edge path invokes voice.create_subtitle(...) to generate the subtitle file from word-boundary metadata captured during speech synthesis (lines 40-44). The resulting SRT file undergoes correction via the module’s correct logic to ensure proper formatting and timing alignment.
This provider is selected by default when subtitle_provider is set to "edge" in the configuration, as read from config.app.get("subtitle_provider", "edge") in app/services/task.py (lines 136-149).
Configuration Example
To use Edge TTS for subtitles, set the provider in your configuration file:
# config.toml
[app]
subtitle_provider = "edge"
Whisper Subtitle Generation (Fallback)
The Whisper provider utilizes the faster-whisper open-source model to transcribe generated audio and produce subtitle files independently of the TTS engine.
Implementation Details
When selected, the create function in app/services/subtitle.py loads the Whisper model and processes the audio file to generate transcription segments with timestamps (lines 21-27). The function writes these segments to an SRT file format suitable for video embedding.
Whisper serves as the secondary option, activated either explicitly via configuration or automatically when the Edge provider fails to produce a valid subtitle file.
Explicit Configuration
To force Whisper subtitle generation instead of Edge:
# config.toml
[app]
subtitle_provider = "whisper"
Automatic Fallback Mechanism
MoneyPrinterTurbo implements a resilient fallback system in app/services/task.py to ensure subtitle availability. If the Edge provider fails to write a subtitle file, the system sets subtitle_fallback to True and automatically invokes Whisper as a backup (lines 44-48).
This fallback logic ensures that even when Edge TTS word-boundary data is unavailable or corrupted, the video generation pipeline can still produce accurate subtitles through transcription. The fallback behavior is transparent to the user, with logs indicating the provider switch:
2026-03-23 12:00:00.000 | INFO | generating subtitle, provider: edge
2026-03-23 12:00:01.123 | WARNING | subtitle file not found, fallback to whisper
2026-03-23 12:00:02.456 | INFO | generating subtitle, provider: whisper
Runtime Configuration Override
You can programmatically override the subtitle provider at runtime before executing a task:
from app.config import config
# Switch to Whisper programmatically
config.app["subtitle_provider"] = "whisper"
# The next task execution will use Whisper for subtitle generation
Summary
- Edge TTS is the default subtitle generation option that captures word-boundary timestamps during speech synthesis in
app/services/subtitle.py. - Whisper provides transcription-based subtitle generation using the
faster-whispermodel, implemented in thecreatefunction ofapp/services/subtitle.py. - Configure the active provider via the
subtitle_providerkey inconfig.toml(options:"edge"or"whisper"). - Automatic fallback to Whisper occurs when Edge fails to generate a subtitle file, as handled in
app/services/task.py.
Frequently Asked Questions
What is the default subtitle provider in MoneyPrinterTurbo?
The default subtitle generation provider is Edge (Microsoft Edge TTS). The application reads the subtitle_provider configuration key in app/services/task.py (lines 136-149) and defaults to "edge" if unspecified, utilizing word-boundary timestamps captured during speech synthesis to generate the SRT file.
When does MoneyPrinterTurbo use Whisper instead of Edge?
MoneyPrinterTurbo uses Whisper in two scenarios: when subtitle_provider is explicitly set to "whisper" in the configuration, or when the Edge provider fails to produce a subtitle file and the automatic fallback mechanism triggers in app/services/task.py (lines 44-48), setting subtitle_fallback to True.
How do I configure subtitle generation options in MoneyPrinterTurbo?
Set the subtitle_provider value in your config.toml file (or config.example.toml as reference) under the [app] section. Valid options are "edge" for Microsoft Edge TTS word-boundary timestamps or "whisper" for transcription-based generation using the faster-whisper model.
What happens if Edge subtitle generation fails?
If Edge fails to write a subtitle file, MoneyPrinterTurbo automatically sets subtitle_fallback to True in app/services/task.py and invokes Whisper to transcribe the audio, ensuring the video generation pipeline completes successfully with accurate subtitles regardless of the initial provider selection.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →