A cross platform offline audio transcription tool with both console and GUI interfaces, built with Python. It supports a wide range of common audio formats and can optionally translate transcripts into English. Transcribe audio locally without requiring an internet connection (open source models), with support for macOS and Windows.
This tool is especially useful for:
- Students and academic researchers transcribing interviews
- Journalists handling sensitive recordings
- Professionals working with confidential audio data
- Anyone who needs privacy-preserving offline speech-to-text transcription
- Optional GUI (Graphical User Interface) for easy use
- Fully offline processing after setup
- Optional translation (-translate)
- Multi-model support (small, medium, large)
- Smart paragraphing
- Dynamic paragraph threshold by model
- Long-file chunking
- Resume support
- Subtitle export (.srt, .vtt)
- Cross-platform (Windows / macOS)
- Interactive installer with model selection
- Detailed logs
- MIT License
All processing is performed locally on the user's machine. No audio, transcript, or metadata is sent, stored, or shared externally.
Internet access is only required:
- during installation
- when downloading models (initial setup or upgrades)
./install_transcriber_gui_mac.shDouble click the Transcribe_GUI.command on your Desktop to open the Transcriber GUI.
Install__GUI.bat
Transcribe_GUI.batDouble click the Transcribe on your Desktop to open the Transcriber GUI.
cd /path/to/project/Scripts
chmod +x *.sh
./install_transcriber_mac.shinstall_transcriber.batBefore running the tool, place your audio files inside the Input folder in the project directory.
./transcribe_mac.sh
./transcribe_mac.sh -single audio.mp3
./transcribe_mac.sh -single audio.mp3 -translate
./transcribe_mac.sh -single audio.mp3 -large
./transcribe_mac.sh -archive
./transcribe_mac.sh -force
./transcribe_mac.sh -preprocesstranscribe.bat
transcribe.bat -single audio.mp3
transcribe.bat -single audio.mp3 -translate
transcribe.bat -single audio.mp3 -large
transcribe.bat -archive
transcribe.bat -force
transcribe.bat -preprocess-translateenable translation-smalluse the small model-mediumuse the medium model-largeuse the large model-accuratealias for large-archivemove processed files to Archive-forcereprocess existing outputs-single <file>process one file-preprocessenable audio preprocessing--initinitialize project structure-configshow current configuration
The tool supports subtitle export in .srt and .vtt formats.
Examples:
./transcribe_mac.sh -single audio.mp3 -srt
./transcribe_mac.sh -single audio.mp3 -translate -srt
./transcribe_mac.sh -single audio.mp3 -vtt
transcribe.bat -single audio.mp3 -srt
transcribe.bat -single audio.mp3 -translate -srt
transcribe.bat -single audio.mp3 -vttWhen -translate and -srt are used together, both are generated:
- original transcript/subtitle
- English translation
If you need additional models after installation, use the upgrade scripts while connected to the internet.
./upgrade_models_mac.sh
./upgrade_models_mac.sh -large
./upgrade_models_mac.sh -medium -largeupgrade_models.bat
upgrade_models.bat -large
upgrade_models.bat -medium -largeIf a required model is missing, the program will show a clear instruction.
Version v1.3.6 adds several internal improvements while keeping the tool simple to use:
- Full GUI implemented for Offline Transcriber – users can now interact with the app via an intuitive interface instead of command-line.
- Added “Translate without transcription” option with safe toggle logic.
- Favorite Config can now be saved and loaded correctly.
- Reset Default Config restores all settings to initial defaults.
- Checkboxes visually indicate disabled state with dimmed text for clarity.
- Automatic backend selection: CUDA/GPU is used when available; otherwise CPU is used.
- CUDA mode uses float16 and batched inference when supported.
- CPU mode stays conservative with int8.
-translate-onlycan be used when you only need an English translation and do not need the original transcript, avoiding the extra transcription pass.--validatechecks configuration without processing audio.--self-testruns basic internal checks.--benchmarkreports the planned backend and audio duration without running full transcription.- Chunk extraction now uses mono 16 kHz WAV to reduce temporary file size and I/O.
Examples:
./transcribe_mac.sh --validate
./transcribe_mac.sh --self-test
./transcribe_mac.sh --benchmark
./transcribe_mac.sh -single interview.mp3 -translate-only
transcribe.bat --validate
transcribe.bat --self-test
transcribe.bat --benchmark
transcribe.bat -single interview.mp3 -translate-onlyDuring transcription, the tool will not download models automatically. If a model is not available locally, the program stops and instructs you to run the upgrade script.
This ensures:
- predictable behavior
- full offline operation
- maximum data privacy
Running inside virtual environments (e.g. Parallels) may reduce performance. This release includes workarounds for common OpenMP runtime conflicts.
Transcription and translation quality depend on:
- audio quality
- speaker clarity
- accent / dialect
- background noise
- speaking speed
No automated system guarantees perfect accuracy. Users should review outputs before using them in critical contexts.
MIT License
Abbas SALAMAT Abbas.salamat@edu.donau-uni.ac.at
Suggestions, improvements, bug reports, and contributions are welcome.