SubWizard is a powerful and user-friendly tool that automatically generates subtitles for your video and audio files (ONLY WINDOWS). It leverages the impressive speed and accuracy of faster-whisper to transcribe spoken content. Whether you need an .srt file or want to burn the subtitles directly into your .mp4 video, SubWizard has you covered.
- Fast & Accurate Transcription: Powered by
faster-whisperfor efficient and precise speech-to-text conversion. - Multiple Subtitle Styles:
- Simple: Classic subtitle style.
- Karaoke: Highlighting words as they are spoken.
- Word pop: Words appear with a "pop" animation.
- Zoom in: Dynamic zoom effect on subtitles.
- Flexible Output: Generate standard
.srt/.asssubtitle files or a new.mp4video with the subtitles permanently "burned in." - Intuitive GUI: A clean and easy-to-use graphical user interface that works on Windows.
- Automatic FFmpeg Handling: SubWizard automatically downloads and manages its own FFmpeg dependency, so you don't need to install it globally.
- Performance Profiles: Choose from different profiles to balance speed and accuracy:
efficient(base model)normal(small model)detailed(medium model)ultra-detailed(large model)
- Language Detection: Automatically detects the audio language, or you can specify it manually for better results.
- Command-Line Interface (CLI): A robust CLI is available for advanced users and automation.
- Python: The core programming language.
- Faster-Whisper: For high-performance transcription.
- PyWebView: For the modern and cross-platform graphical user interface.
- FFmpeg: For audio extraction and subtitle integration.
- Python 3.8 or higher.
- Clone this repository:
git clone https://github.com/Victorgm21/subwizard.git cd subwizard - Install the required Python packages:
pip install -r requirements.txt
The easiest way to use SubWizard is with its intuitive GUI. Simply run:
python gui.pyThis will open a window where you can:
- Browse for your video or audio file.
- Adjust settings like words per line, performance, output format and subtitle style.
- Specify the output file name and destination folder.
- Click "Generate Subtitles" to start the process.
For command-line enthusiasts, you can use the subwizard.py script directly.
Basic Usage:
python subwizard.py path/to/video.mp4Advanced Example:
This command transcribes video.mp4, limits each subtitle line to 3 words, uses the detailed performance profile, sets the output file name to my_subs, saves it as an MP4 with karaoke style subtitles, and specifies the language as Spanish.
python subwizard.py video.mp4 --max-words 3 --performance detailed --output-name my_subs --output-type mp4 --style karaoke --lang esFull List of Arguments:
| Argument | Description | Default |
|---|---|---|
video |
Path to the video or audio file | (Required) |
--max-words |
Number of words per line | 3 |
--performance |
Performance profiles: efficient, normal, detailed, ultra-detailed |
normal |
--output-name |
Set the file name for the output | automatic_subtitles_ready |
--output-path |
Set the subtitle output path | None |
--output-type |
Set file output type: srt / mp4 |
mp4 |
--lang |
Set the original language from the video (e.g., en, es, fr) |
None (Auto) |
--style |
Choose the style: simple, karaoke, word-pop, zoom-in |
simple |
--subtitle-path |
Burns existing .SRT or .ASS into a video | None |
For more info, use the --help flag:
python subwizard.py --help