A Windows desktop application for offline audio transcription with speaker diarization, built on top of WhisperX, faster-whisper, and pyannote.audio.
Download the latest installer from the Releases page and run VoxTranscript_Setup.exe. The installer requires no administrator privileges and installs to %LOCALAPPDATA%\VoxTranscript\.
The installer is split into multiple .bin slices to fit GitHub's per-file size limit. Download all files (VoxTranscript_Setup.exe and every VoxTranscript_Setup-*.bin) into the same folder before running the .exe.
Requirements: Python 3.10, Inno Setup 7 (for building the installer).
py -3.10-m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python app.pyThe bundled installer ships with the models below pre-installed. For a development checkout, download each into its corresponding subfolder under models/:
- faster-whisper →
models/faster_whisper/— download from Systran on HuggingFace - pyannote segmentation 3.0 →
models/pyannote/segmentation-3.0/— download from HuggingFace (gated, requires accepting terms) - pyannote wespeaker-voxceleb-resnet34-LM →
models/pyannote/wespeaker-voxceleb-resnet34-LM/— download from HuggingFace (gated, requires accepting terms) - wav2vec2 →
models/wav2vec2_base/— download from download.pytorch.org/models/wav2vec2_fairseq_base_ls960_asr_ls960.pth - SpeechBrain ECAPA-TDNN →
models/speechbrain_models/— downloaded automatically on first run
pyinstaller app.spec --clean
&"C:\Program Files\Inno Setup 7\ISCC.exe" VoxTranscriptSetup.issOutput lands in Output\ as a VoxTranscript_Setup.exe plus one or more .bin slice files.
VoxTranscript bundles and uses the following third-party models and software. Their LICENSE and README files are preserved inside the installed models/ directory.
| Component | Authors | License | Source |
|---|---|---|---|
| WhisperX (transcription pipeline) | Max Bain et al. | BSD-4-Clause | m-bain/whisperX |
| faster-whisper (CTranslate2 Whisper inference) | Systran | MIT | SYSTRAN/faster-whisper |
| OpenAI Whisper (underlying speech recognition model) | OpenAI | MIT | openai/whisper |
| pyannote.audio (speaker diarization toolkit) | Hervé Bredin / CNRS | MIT | pyannote/pyannote-audio |
| pyannote/segmentation-3.0 (speaker segmentation model) | Alexis Plaquet, Hervé Bredin | MIT | HF: pyannote/segmentation-3.0 |
| pyannote/wespeaker-voxceleb-resnet34-LM (speaker embedding model) | Wenet/WeSpeaker team; pyannote.audio wrapper by H. Bredin | CC-BY 4.0 (inherited from VoxCeleb dataset) | HF: pyannote/wespeaker-voxceleb-resnet34-LM |
| wav2vec2 (forced-alignment model) | Meta AI / Facebook AI Research | BSD-style (via torchaudio) | pytorch/audio |
SpeechBrain spkrec-ecapa-voxceleb (speaker embedding model) | SpeechBrain team | Apache 2.0 | HF: speechbrain/spkrec-ecapa-voxceleb |
| FFmpeg (audio decoding) | FFmpeg contributors | LGPL/GPL | ffmpeg.org |
If you use VoxTranscript in academic work, please also cite the underlying research:
@inproceedings{bain2023whisperx,
title={WhisperX: Time-Accurate Speech Transcription of Long-Form Audio},
author={Bain, Max and Huh, Jaesung and Han, Tengda and Zisserman, Andrew},
booktitle={INTERSPEECH 2023},
year={2023}
}
@inproceedings{Plaquet23,
title={Powerset multi-class cross entropy loss for neural speaker diarization},
author={Plaquet, Alexis and Bredin, Hervé},
booktitle={Proc. INTERSPEECH 2023},
year={2023}
}
@inproceedings{Bredin23,
title={{pyannote.audio 2.1 speaker diarization pipeline: principle, benchmark, and recipe}},
author={Bredin, Hervé},
booktitle={Proc. INTERSPEECH 2023},
year={2023}
}
@inproceedings{Wang2023,
title={Wespeaker: A research and production oriented speaker embedding learning toolkit},
author={Wang, Hongji and Liang, Chengdong and Wang, Shuai and Chen, Zhengyang and Zhang, Binbin and Xiang, Xu and Deng, Yanlei and Qian, Yanmin},
booktitle={ICASSP 2023},
year={2023}
}Each bundled model also retains its own LICENSE and README inside the install's models/ subdirectory.