Auto-generate, translate, and burn subtitles into videos β all offline-capable.
| Feature | Details |
|---|---|
| π£οΈ Speech Recognition | OpenAI Whisper (7 model sizes) + Vosk (40+ languages, offline) |
| π Translation | Google Translate (online) + Argos Translate (offline) |
| π₯ Video Maker | Burn subtitles directly into video with custom styles |
| π Batch Processing | Process multiple video files at once |
| π€ Export Formats | SRT, VTT, CSV, JSON |
| π UI Languages | English, Arabic, Russian, French, German, Spanish, Portuguese, Chinese, Japanese, Korean |
| π Dark / Light Mode | Full theme support |
| β‘ GPU Acceleration | CUDA support for Whisper |
| π οΈ First-Run Wizard | Auto-installs FFmpeg and required packages |
Coming soon
git clone https://github.com/Hayder-IRAQ/SubLab.git
cd SubLabpython -m venv venv
# Windows
venv\Scripts\activate
# Linux / macOS
source venv/bin/activatepip install -r requirements.txtGPU users: Install PyTorch with CUDA support first:
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
python main.pyOn first launch, the Setup Wizard will automatically:
- Detect your system
- Download FFmpeg if needed
- Verify all required packages
- Let you choose your preferred UI language
| Package | Purpose |
|---|---|
PyQt5 |
GUI framework |
openai-whisper |
AI speech recognition |
vosk |
Offline speech recognition |
googletrans |
Online translation |
argostranslate |
Offline translation |
moviepy |
Video processing |
opencv-python |
Video frame handling |
arabic-reshaper + python-bidi |
Arabic text rendering |
torch (optional) |
GPU acceleration |
SubLab/
βββ main.py # Entry point & setup wizard
βββ requirements.txt
βββ audio/
β βββ extractor.py # FFmpeg / OpenCV audio extraction
βββ engines/
β βββ whisper_engine.py # OpenAI Whisper engine (GPU-accelerated)
β βββ vosk_engine.py # Vosk offline engine (40+ languages)
βββ translation/
β βββ translator.py # Unified translation manager
β βββ google_translator.py # Google Translate backend
β βββ argos_translator.py # Argos Translate backend (offline)
βββ ui/
β βββ main_window.py # Main application window
β βββ subtitle_editor.py # Subtitle editing widget
β βββ subtitle_translator_tab.py
β βββ video_maker_tab.py
β βββ video_generator.py
β βββ template_manager.py
βββ utils/
β βββ config.py # Configuration management
β βββ export.py # SRT / VTT / CSV / JSON export
β βββ i18n.py # Internationalization (10 languages)
β βββ logger.py # Logging setup
β βββ setup_wizard.py # First-run wizard
β βββ time_utils.py # Subtitle timestamp utilities
βββ models/
β βββ whisper/ # Whisper model cache
β βββ vosk/ # Vosk model files
βββ icons/ # Application icons
βββ tests/ # Unit & integration tests
pip install pytest
pytest tests/ -v| Whisper | Vosk | |
|---|---|---|
| Accuracy | βββββ | ββββ |
| Speed | Medium (GPU: Fast) | Fast |
| Offline | β | β |
| Languages | 99+ | 40+ |
| GPU Support | β CUDA | β |
| Model Size | 39 MB β 1.5 GB | 32 MB β 2.3 GB |
| Google Translate | Argos Translate | |
|---|---|---|
| Internet Required | β | β (fully offline) |
| Languages | 130+ | 30+ pairs |
| Quality | Excellent | Good |
| Cost | Free (unofficial API) | Free & open source |
English Β· Arabic Β· Chinese Β· Russian Β· French Β· German Β· Spanish Β· Portuguese Β· Italian Β· Dutch Β· Turkish Β· Japanese Β· Korean Β· Hindi Β· Polish Β· Ukrainian Β· Greek Β· Vietnamese Β· Farsi Β· Filipino Β· Kazakh Β· Swedish Β· Uzbek Β· and moreβ¦
Settings are saved automatically to:
- Windows:
%APPDATA%\VideoSubtitleGenerator\Settings.json - Linux/macOS:
~/.config/VideoSubtitleGenerator/Settings.json
Contributions are welcome! Please open an issue or submit a pull request.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License.
You may use, share, and adapt this work for non-commercial purposes only, with appropriate credit.
Hayder Odhafa
GitHub: @Hayder-IRAQ