Open-source speech-to-text built on Whisper that adds word-level timestamps via forced alignment and optional speaker diarization.
- Stars
- 1,224
- Forks
- 93
- Open issues
- 81
- Last commit
- 2 days ago
What is it?
aTrain transcribes audio and video recordings on your own machine using faster-whisper, an optimized implementation of OpenAI's Whisper model. Recordings and transcripts are never uploaded, which suits research projects with data privacy or GDPR requirements.
The tool includes a speaker detection mode built on pyannote.audio that assigns each text segment to a speaker. It supports roughly 99 languages, with accuracy varying by language, and can run on the CPU or on an NVIDIA GPU with CUDA.
Besides the desktop GUI, aTrain offers a pip-installable command-line interface (aTrain_core) and an experimental browser or server mode. Output files can be imported into ATLAS.ti, MAXQDA and NVivo for qualitative analysis.
Key features
- 01Offline transcription using faster-whisper models with no data upload
- 02Speaker diarization based on pyannote.audio
- 03Support for about 99 languages
- 04CPU and NVIDIA CUDA GPU execution
- 05Command-line interface for scripting and batch-style use
- 06Output compatible with ATLAS.ti, MAXQDA and NVivo
Use cases
- Transcribing qualitative research interviews without sending recordings to cloud services
- Producing timestamped, speaker-labeled transcripts for analysis in MAXQDA or NVivo
- Running a headless transcription pipeline on a local server
Quick start
- 1
Install the aTrain engine from GitHub with pip
pip install "aTrain @ git+https://github.com/aTrainTranscription/aTrain.git" - 2
Transcribe an audio file from the command line with default settings
aTrain_core transcribe /path/to/audio/file.mp3
Things to know
- aTrain is not yet on PyPI, so pip installs directly from the GitHub repo.
- NVIDIA CUDA GPU support covers only Windows and Debian-based Linux, and macOS is CPU-only.
- Running aTrain start in browser or server mode is experimental and may be incomplete.
- The project is licensed under AGPL-3.0, a copyleft license that requires sharing modified network-served code.
Topics
FAQ
- What is aTrain?
- A GUI and CLI tool that transcribes speech recordings offline with Whisper models, with optional speaker diarization. aTrain transcribes audio and video recordings on your own machine using faster-whisper, an optimized implementation of OpenAI's Whisper model. Recordings and transcripts are never uploaded, which suits research projects with data privacy or GDPR requirements.
- Is aTrain free to use? What license does it have?
- aTrain is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is aTrain still maintained?
- Actively maintained. The last commit to aTrain was on Oct 20, 2026.
- What can I use aTrain for?
- Transcribing qualitative research interviews without sending recordings to cloud services Producing timestamped, speaker-labeled transcripts for analysis in MAXQDA or NVivo Running a headless transcription pipeline on a local server
- How do I install aTrain?
- Install the aTrain engine from GitHub with pip: pip install "aTrain @ git+https://github.com/aTrainTranscription/aTrain.git" Transcribe an audio file from the command line with default settings: aTrain_core transcribe /path/to/audio/file.mp3
- Where can I get aTrain?
- The source code and installation instructions are on GitHub: https://github.com/aTrainTranscription/aTrain
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
C/C++ port of OpenAI's Whisper speech recognition model for fast, offline, dependency-free speech-to-text on CPU and GPU.
Desktop app that transcribes and translates audio and video offline on your computer, built on OpenAI's Whisper.
Desktop app that transcribes audio and video fully offline on your own device, using Whisper and other speech models.
Self-hosted real-time speech-to-text server with streaming ASR, speaker diarization, live translation and OpenAI/Deepgram-compatible APIs.
A faster reimplementation of OpenAI's Whisper speech-to-text model on the CTranslate2 inference engine, with lower memory use and 8-bit quantization.