MerchantryTidbits

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.