HectorMtz22/live-transcription

0

stars

92

commits

Python

primary language

Jul 10, 2026

updated

README

live_transcribe

Live system-audio transcription with speaker diarization and optional translation/summarization, optimized for Apple Silicon (MLX).

Captures system audio via the BlackHole virtual audio device, detects speech with Silero VAD, transcribes with mlx-whisper, and separates speakers using resemblyzer voice embeddings.

Requirements

  • macOS on Apple Silicon
  • Python ≥ 3.10
  • BlackHole 2ch
  • uv (brew install uv)
  • just (brew install just)

Setup

brew install --cask blackhole-2ch
# reboot, then in Audio MIDI Setup create a Multi-Output Device combining
# your speakers + BlackHole 2ch, and set it as the system output.

just sync             # (== uv sync --all-packages; plain `uv sync` leaves the workspace empty)
cp .env.example .env   # only if using the DeepL translator

Usage

just run
# or
uv run live-transcribe
# or
python -m live_transcribe_cli

Useful flags:

FlagValuesPurpose
-d, --deviceintInput device index (defaults to BlackHole)
-m, --modelmedium / turbo / fullWhisper model size
-t, --translatorgoogle / deepl / qwen / nllb / noneTranslation backend
--translate-from / --translate-tolang codeOverride source/target language
--displaycolumns / chatTerminal layout
--summaryon / offRolling LLM summary
--diarizeon / offSpeaker diarization (default off)

Supported languages: Korean (ko), English (en), Spanish (es).

Repository layout

packages/
  core/            # live_transcribe_core — engine, VAD, Whisper, translators, summarizer
  cli/             # live_transcribe_cli — terminal UI, audio capture, transcript save
training/          # Optional fine-tuning scripts (Korean LoRA); separate venv
transcripts/       # Runtime output (gitignored)

Transcripts are written to transcripts/ on shutdown.

Training (optional)

See training/README.md for Korean LoRA fine-tuning.

Contributors

HectorMtz22

92 commits

HectorMtz22/live-transcription

0

stars

92

commits

Python

primary language

Jul 10, 2026

updated

README

live_transcribe

Live system-audio transcription with speaker diarization and optional translation/summarization, optimized for Apple Silicon (MLX).

Captures system audio via the BlackHole virtual audio device, detects speech with Silero VAD, transcribes with mlx-whisper, and separates speakers using resemblyzer voice embeddings.

Requirements

  • macOS on Apple Silicon
  • Python ≥ 3.10
  • BlackHole 2ch
  • uv (brew install uv)
  • just (brew install just)

Setup

brew install --cask blackhole-2ch
# reboot, then in Audio MIDI Setup create a Multi-Output Device combining
# your speakers + BlackHole 2ch, and set it as the system output.

just sync             # (== uv sync --all-packages; plain `uv sync` leaves the workspace empty)
cp .env.example .env   # only if using the DeepL translator

Usage

just run
# or
uv run live-transcribe
# or
python -m live_transcribe_cli

Useful flags:

FlagValuesPurpose
-d, --deviceintInput device index (defaults to BlackHole)
-m, --modelmedium / turbo / fullWhisper model size
-t, --translatorgoogle / deepl / qwen / nllb / noneTranslation backend
--translate-from / --translate-tolang codeOverride source/target language
--displaycolumns / chatTerminal layout
--summaryon / offRolling LLM summary
--diarizeon / offSpeaker diarization (default off)

Supported languages: Korean (ko), English (en), Spanish (es).

Repository layout

packages/
  core/            # live_transcribe_core — engine, VAD, Whisper, translators, summarizer
  cli/             # live_transcribe_cli — terminal UI, audio capture, transcript save
training/          # Optional fine-tuning scripts (Korean LoRA); separate venv
transcripts/       # Runtime output (gitignored)

Transcripts are written to transcripts/ on shutdown.

Training (optional)

See training/README.md for Korean LoRA fine-tuning.

Contributors

HectorMtz22

92 commits

Languages

Python

99.8%