transcriber-mcp
dialogue-transcriber
Transkribieren Sie Gespräche und finden Sie heraus, wer was gesagt hat.
Richten Sie es auf ein Interview, eine Podiumsdiskussion, eine Besprechungsaufnahme oder eine YouTube-URL, und Sie erhalten ein Transkript, bei dem jede Zeile einem Sprecher zugeordnet ist – plus eine Weboberfläche, um die Sprecher-Cluster zu inspizieren, Segmente anzuhören und Beschriftungen von Hand zu korrigieren.

So funktioniert es
audio ──► transcribe ──► segment ──► extract_clips ──► embed ──► cluster
(Whisper) (sentence- (ffmpeg) (TitaNet) (UMAP +
level) KMeans +
silhouette)Whisper erzeugt Wort-Zeitstempel; Wörter werden zu Satzsegmenten gruppiert; die Segmente werden mit NVIDIA NeMo TitaNet eingebettet; die Embeddings werden auf einer UMAP-Projektion geclustert; und das Transkript kommt als Sprecher 1, Sprecher 2, … beschriftet heraus. Jede Stufe wird auf Basis des Inhalts-Hash zwischengespeichert, sodass Wiederholungen und Konfigurationsänderungen günstig sind.
Related MCP server: youtube-transcriber-mcp
Schnellstart
ffmpeg und ffprobe müssen sich im PATH befinden (brew install ffmpeg unter macOS).
# No install needed:
uvx --from "dialogue-transcriber[all]" transcriber transcribe interview.mp3
# Or install the tool:
uv tool install "dialogue-transcriber[all]"
transcriber transcribe interview.mp3 --participants 2
transcriber transcribe "https://www.youtube.com/watch?v=..." --backend openai
transcriber serve interview.mp3 # review UI on http://127.0.0.1:8000Der Standard-Backend läuft mit faster-whisper lokal; --backend openai verwendet stattdessen die OpenAI-Whisper-API (erfordert OPENAI_API_KEY, deutlich schneller auf Maschinen ohne GPU). Der Schlüssel kann in der Umgebung exportiert oder in einer .env-Datei im Arbeitsverzeichnis gespeichert werden – die CLI lädt .env aus dem Arbeitsverzeichnis (oder dem nächsten übergeordneten Verzeichnis), und exportierte Variablen haben immer Vorrang vor der Datei.
Wohin gehen die Daten?
Pipeline-Cache:
./.transcriber-cache/im Verzeichnis, aus dem Sie starten (überschreibbar mit--work-dir) – Chunks, Segmente-Clips, Embeddings, YouTube-Downloads und der Job-Status der Web-UI. Kann bedenkenlos gelöscht werden; es wird neu aufgebaut.Transkripte: neben der Eingabedatei (
interview.txt) oder dort, wo--outputzeigt;--output -gibt auf stdout aus.Modellgewichte (lokales Backend): einmalig in
~/.cacheheruntergeladen (Hugging Face / NeMo). Der Whisper-large-v3-Download ist ~3 GB groß, daher dauert der erste lokale Lauf eine Weile.
Mit dem standardmäßigen lokalen Backend verlässt nichts Ihren Rechner; --backend openai sendet Audio an die OpenAI-API.
Auswahl der Extras
[all] ist der einfache Knopf. Für kleinere Installationen:
uv pip install dialogue-transcriber # core only
uv pip install "dialogue-transcriber[local]" # + faster-whisper backend
uv pip install "dialogue-transcriber[openai]" # + OpenAI Whisper API backend
uv pip install "dialogue-transcriber[cluster]" # + scikit-learn / UMAP
uv pip install "dialogue-transcriber[embed]" # + NeMo TitaNet speaker embedder
uv pip install "dialogue-transcriber[api]" # + FastAPI backend (powers the web UI)
uv pip install "dialogue-transcriber[youtube]" # + yt-dlp downloader
uv pip install "dialogue-transcriber[oip]" # + MCP server for OIP consumersCLI
# Full pipeline; writes a speaker-labeled transcript next to the audio
transcriber transcribe path/to/audio.mp3
# Speakers, language, format
transcriber transcribe interview.mp3 --participants 3 --language sv --format vtt
# Machine-readable output on stdout (see "For AI agents" below)
transcriber transcribe interview.mp3 --format json --output -
# Pull audio from YouTube
transcriber download "https://www.youtube.com/watch?v=..."
# Pipeline + web UI
transcriber serve interview.mp3 --participants 3Formate: txt (zusammengeführte Sprecherbeiträge), vtt, srt, json. Übergeben Sie --context "Namen, Jargon", um Whisper mit erwartetem Vokabular zu versorgen. --output - streamt das Transkript auf stdout und die Zusammenfassung auf stderr, sodass die Ausgabe sauber weitergeleitet werden kann.
Weboberfläche
transcriber serve startet ein FastAPI-Backend und stellt das gebündelte React-Frontend bereit. Sie erhalten:
ein UMAP-Streudiagramm, in dem jeder Punkt ein Segment ist, farbcodiert nach Cluster – per Lasso können Sie einen Cluster auswählen und umbenennen;
eine durchgehende Wellenform mit einer Region pro Segment – klicken oder ziehen, um etwas abzuspielen;
eine Gantt-ähnliche Sprecher-Zeitleiste;
ein virtualisiertes Transkript mit Volltextsuche;
inline umbenennbare Sprecher-Chips (Umbenennungen werden serverseitig gespeichert);
TXT / VTT / SRT Export;
Tastaturnavigation (↑/↓ Segmente, Leertaste Play/Pause,
/Suche).
Mehrere Aufträge können parallel laufen; über die Seitenleiste lassen sich weitere hinzufügen.
serve wählt sein Backend automatisch: openai, wenn ein OPENAI_API_KEY verfügbar ist (Umgebung oder .env), sonst das lokale. Mit --backend kann man explizit wählen. (Eine ältere Dash-Oberfläche für Einzelaufträge ist weiterhin als transcriber ui verfügbar.)
Für KI-Agenten
Dieses Projekt ist darauf ausgelegt, von Agenten gesteuert zu werden.
Claude-Code-Skill – dieses Projekt ist ein Plugin-Marktplatz. Wenn Sie die Skill installieren, weiß Claude Code, wie es Audio auf Anfrage transkribiert und Sprecher zuordnet:
/plugin marketplace add Novia-RDI-Seafaring/transcriber
/plugin install dialogue-transcriber@dialogue-transcriberStrukturierte Ausgabe – --format json --output - erzeugt eine stabile Struktur auf stdout:
{
"speakers": ["Speaker 1", "Speaker 2"],
"n_segments": 42,
"duration": 512.3,
"segments": [
{"speaker": "Speaker 1", "start": 0.0, "end": 4.2, "text": "..."}
]
}MCP / OIP – das Paket ist ein Open-Ingestion-Protocol-Produzent, sodass Transkripte von jedem OIP-fähigen Konsumenten (z. B. Anchor) verarbeitet werden können:
transcriber oip install --data-dir ~/transcripts # register the producer
transcriber oip ingest audio.mp3 --data-dir ~/transcripts
transcriber oip serve # MCP server (also: transcriber-mcp)Tool-Namespace: transcribe. Region-Typ: transcript_segment.
source_ref.kind: transcript-segment.
Für KI-Agenten
Dieses Projekt ist dafür gebaut, sowohl von Agenten als auch von Menschen bedient zu werden.
Claude-Desktop-Fähigkeit – das Repository dient gleichzeitig als Plugin-Marketplace. Installieren Sie die Fähigkeit, und Claude Desktop weiß, wie man Audio transkribiert und Diarisierung durchführt:
/plugin marketplace add Novia-RDI-Seafaring/transcriber
/plugin install dialogue-transcriber@dialogue-transcriberStrukturierte Ausgabe – --format json --output - erzeugt eine stabile Struktur auf stdout:
{
"speakers": ["Speaker 1", "Speaker 2"],
"n_segments": 42,
"duration": 512.3,
"segments": [
{"speaker": "Speaker 1", "start": 0.0, "end": 4.2, "text": "..."}
]
}MCP / OIP – das Paket ist ein Open-Ingestion-Protocol-Produzent, sodass Transkripte von jedem OIP-fähigen Konsumenten (z. B. Anchor) ohne Änderungen am Konsumenten aufgenommen werden können:
transcriber oip install --data-dir ~/transcripts # register the producer
transcriber oip ingest audio.mp3 --data-dir ~/transcripts
transcriber oip serve # MCP server (also: transcriber-mcp)Tool-Namensraum: transcribe. Region-Art: transcript_segment.
source_ref.kind: audio-timestamp.
Bibliotheksnutzung
from transcriber.config import ClusterConfig, PipelineConfig, TranscribeConfig
from transcriber.pipeline import run_pipeline
from transcriber.render import render_txt
cfg = PipelineConfig(
transcribe=TranscribeConfig(backend="local", language="en"),
cluster=ClusterConfig(participants=2),
)
result = run_pipeline("interview.mp3", config=cfg)
print(render_txt(result.segments))PipelineResult.segments ist eine Liste von SpeakerSegment-Datensätzen mit dem Satztext, dem Zeitbereich, dem Clip auf der Platte und dem zugewiesenen Sprecher. PipelineResult.cluster.projection ist die 2-D-UMAP.
CLI
# Full pipeline; writes a speaker-labeled transcript next to the audio
transcriber transcribe path/to/audio.mp3
# Speakers, language, format
transcriber transcribe interview.mp3 --participants 3 --language sv --format vtt
# Machine-readable output on stdout (see "For AI agents" below)
transcriber transcribe interview.mp3 --format json --output -
# Pull audio from YouTube
transcriber download "https://www.youtube.com/watch?v=..."
# Pipeline + web UI
transcriber serve interview.mp3 --participants 3Formate: txt (zusammengeführte Sprecherwechsel), vtt, srt, json. Übergeben Sie --context "Namen, Jargon", um Whisper mit erwartetem Vokabular zu versorgen. --output - streamt das Transkript auf stdout und die Zusammenfassung auf stderr, sodass die Ausgabe sauber weitergeleitet werden kann.
Web-UI
transcriber serve startet ein FastAPI-Backend und liefert das gebündelte React-Frontend aus. Sie erhalten:
eine UMAP-Punktwolke, bei der jeder Punkt ein Segment ist, farblich nach Cluster – per Lasso einen Cluster auswählen und umbenennen;
eine durchgehende Wellenform mit einer Region pro Segment – klicken oder ziehen, um abzuspielen;
eine Gantt-ähnliche Sprecher-Zeitleiste;
ein virtualisiertes Transkript mit Volltextsuche;
inline umbenennbare Sprecher-Chips (Umbenennungen werden serverseitig gespeichert);
Export als TXT / VTT / SRT;
Tastaturnavigation (↑/↓ Segmente, Leertaste Play/Pause,
/Suche).
Mehrere Aufträge können parallel laufen; über die Seitenleiste lassen sich weitere hinzufügen.
serve wählt das Backend automatisch aus: openai, wenn ein OPENAI_API_KEY verfügbar ist (Umgebung oder .env), sonst local. Mit --backend kann die Wahl explizit getroffen werden. (Eine ältere Single-Job-Dash-Oberfläche ist weiterhin als transcriber ui verfügbar.)
Für KI-Agenten
Dieses Projekt ist darauf ausgelegt, sowohl von Agenten als auch von Menschen genutzt zu werden.
Claude-Code-Fähigkeit – das Projekt dient gleichzeitig als Plugin-Marktplatz. Installieren Sie die Fähigkeit, und Claude Code weiß, wie es Audio auf Anfrage transkribiert und diarisiert:
/plugin marketplace add Novia-RDI-Seafaring/transcriber
/plugin install dialogue-transcriber@dialogue-transcriberStrukturierte Ausgabe – --format json --output - erzeugt eine stabile Struktur auf stdout:
{
"speakers": ["Speaker 1", "Speaker 2"],
"n_segments": 42,
"duration": 512.3,
"segments": [
{"speaker": "Speaker 1", "start": 0.0, "end": 4.2, "text": "..."}
]
}MCP / OIP – das Paket ist ein Producer des Open Ingestion Protocol, sodass Transkripte von jedem OIP-fähigen Konsumenten (z. B. Anchor) ohne Änderungen am Konsumenten aufgenommen werden können.
transcriber oip install --data-dir ~/transcripts # register the producer
transcriber oip ingest audio.mp3 --data-dir ~/transcripts
transcriber oip serve # MCP server (also: transcriber-mcp)Tool-Namespace: transcribe. Region-Art: transcript_segment. source_ref.kind: audio-timestamp.
Bibliotheksnutzung
from transcriber.config import ClusterConfig, PipelineConfig, TranscribeConfig
from transcriber.pipeline import run_pipeline
from transcriber.render import render_txt
cfg = PipelineConfig(
transcribe=TranscribeConfig(backend="local", language="en"),
cluster=ClusterConfig(participants=2),
)
result = run_pipeline("interview.mp3", config=cfg)
print(render_txt(result.segments))PipelineResult.segments ist eine Liste von SpeakerSegment-Datensätzen mit dem Satztext, dem Zeitbereich, dem Clip auf der Platte und dem zugewiesenen Sprecher. PipelineResult.cluster.projection ist die UMAP-Projektion für Plots.
Weitere Hinweise
git clone https://github.com/Novia-RDI-Seafaring/transcriber
cd transcriber
uv venv
uv pip install -e ".[dev,cluster,api,openai,embed,youtube]"
(cd web && pnpm install && pnpm build) # so `transcriber serve` can serve the UI
pytest # core + clustering + api tests
pytest -m "not slow" # skip heavy/network tests
ruff check src testsFür Frontend-Arbeit: pnpm dev (http://127.0.0.1:5173, leitet /api an :8000 weiter). Ein GitHub-Release löst .github/workflows/ci.yml aus, das das Frontend baut, in das Wheel einbindet und per Trusted Publishing veröffentlicht.
Lizenz
Apache-2.0. Siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Transcribe audio & video: diarization, timed SRT/VTT, podcasts, paste-a-link, whole-feed batch.
Transcribe audio and video into speaker-labelled transcripts, subtitles, clips, and cited Q&A.
- VoibeOAuthcom.getvoibe
Transcribe recordings into a speaker-labelled transcript with timestamps and a summary.
Whisper speech to text for podcast, audio and video URLs, 90+ languages, timestamped output.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables high-performance audio transcription using Faster Whisper with CUDA acceleration, supporting single and batch audio file processing with multiple output formats (VTT, SRT, JSON).-
- AlicenseNot gradedqualityDmaintenanceEnables intelligent transcription of YouTube videos with automatic optimization for any video length, using local OpenAI Whisper processing and speaker diarization.-
- AlicenseNot gradedqualityDmaintenanceTranscribes YouTube videos or audio files to Markdown, plain-text, and Word documents.MIT

jackai-stt-mcpofficial
AlicenseAqualityCmaintenanceTranscribes audio files by referencing them in chat, using OpenAI's speech-to-text models locally without uploading audio, and supports speaker diarization.1MIT