media-processing / cli
Whisper Diarization
Capability: Whisper Diarization
Use it when
- You have a meeting or interview recording and need a transcript that labels which speaker said each sentence, processed locally
- Plain Whisper output gives you accurate text but you must attribute lines to different participants for minutes, research coding, or subtitles
What it solves
Not the fit when
- Overlapping speakers are not handled (known limitation)
- Whisper and NeMo parameters are hardcoded in diarize.py and helpers.py
- diarize_parallel.py is experimental and needs >=10GB VRAM
- Not a hosted API; requires local Python and ffmpeg setup
- real-time streaming transcription
- overlapping simultaneous speakers
- audio noise removal as a standalone task
- translation of transcripts
- video editing
Install
Requires Python >= 3.10 and ffmpeg. pip install cython, then pip install -c constraints.txt -r requirements.txt from the cloned repo
Invoke
python diarize.py -a AUDIO_FILE_NAME. Options: --whisper-model (default medium.en), --language, --device, --batch-size, --no-stem, --suppress_numerals. With >=10GB VRAM use diarize_parallel.py to run NeMo and Whisper in parallel.
Alternatives
No reviewed alternatives recorded yet.