transcriber-mcp
dialogue-transcriber
会話を文字起こしして、誰が何を言ったかを明らかにします。
インタビュー、パネルディスカッション、会議の録音、または YouTube の URL を指定すると、すべての行が話者に割り当てられた文字起こしが得られます。さらに、話者クラスターを調べたり、任意のセグメントを再生したり、ラベルを手動で修正したりできる Web UI も付属しています。

仕組み
audio ──► transcribe ──► segment ──► extract_clips ──► embed ──► cluster
(Whisper) (sentence- (ffmpeg) (TitaNet) (UMAP +
level) KMeans +
silhouette)Whisper が単語レベルのタイムスタンプを生成し、単語は文のセグメントにグループ化されます。各セグメントの音声は NVIDIA NeMo TitaNet で埋め込まれ、その埋め込みは UMAP 投影上でクラスタリングされ、文字起こしは Speaker 1、Speaker 2、… というラベル付きで出力されます。すべての段階はコンテンツハッシュに基づいてキャッシュされるため、再実行や設定の微調整は低コストです。
Related MCP server: AssemblyAI MCP Server
クイックスタート
ffmpeg と ffprobe が PATH に含まれている必要があります (macOS では brew install ffmpeg)。
# 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:8000デフォルトのバックエンドは faster-whisper をローカルで実行します。--backend openai は代わりに OpenAI Whisper API を使用します (OPENAI_API_KEY が必要で、GPU のないマシンでははるかに高速です)。キーは環境変数としてエクスポートするか、プロジェクト内の .env ファイルに保存できます。CLI は作業ディレクトリ (または最も近い親ディレクトリ) から .env を読み込み、エクスポートされた変数は常にファイルより優先されます。
データはどこに保存されますか?
パイプラインキャッシュ: 実行するディレクトリ内の
./.transcriber-cache/(--work-dirで上書き可能) — チャンク、セグメントごとのクリップ、埋め込み、YouTube のダウンロード、Web UI のジョブ状態。削除しても安全です。再構築されます。文字起こし: 入力音声の隣 (
interview.txt) または--outputが指す場所に書き込まれます。--output -は stdout に出力します。モデルの重み (ローカルバックエンド):
~/.cache(Hugging Face / NeMo) に一度だけダウンロードされます。Whisper large-v3 のダウンロードは ~3 GB あるため、最初のローカル実行には時間がかかります。
デフォルトのローカルバックエンドでは、データがマシンの外部に出ることはありません。--backend openai は音声を OpenAI API に送信します。
追加機能の選択
[all] が簡単な方法です。より小さなインストールの場合は:
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 3形式: txt (統合された話者ターン)、vtt、srt、json。--context "names, jargon" を渡すと、Whisper に期待すべき語彙を事前に与えることができます。--output - は文字起こしを stdout に、サマリーを stderr にストリーム出力するため、出力をきれいにパイプできます。
Web UI
transcriber serve は FastAPI バックエンドを実行し、バンドルされた React フロントエンドを配信します。次の機能が利用できます:
UMAP 散布図。各ドットは 1 つのセグメントで、クラスターごとに色分けされています。クラスターを投げ縄選択すると一括で名前を変更できます。
セグメントごとに 1 つの領域を持つ連続波形 — クリックまたはスクラブで任意の部分を再生できます。
ガントチャート形式の話者タイムライン。
全文検索対応の仮想化された文字起こし。
インラインで名前を変更できる話者チップ (名前の変更はサーバー側に保存されます)。
TXT / VTT / SRT エクスポート。
キーボードナビゲーション (↑/↓ でセグメント移動、Space で再生/一時停止、
/で検索)。
複数のジョブを並行して実行できます。サイドバーからさらに追加できます。
serve はバックエンドを自動的に選択します。OPENAI_API_KEY が利用可能な場合 (環境変数または .env) は openai、それ以外の場合は local です。明示的に選択するには --backend を渡します。(レガシーな単一ジョブの Dash UI は transcriber ui として引き続き利用できます。)
AI エージェント向け
このプロジェクトは、人間だけでなくエージェントからも操作できるように設計されています。
Claude Code スキル — このリポジトリは プラグインマーケットプレイス を兼ねています。スキルをインストールすると、Claude Code はオンデマンドで音声の文字起こしと話者分離を行う方法を理解します:
/plugin marketplace add Novia-RDI-Seafaring/transcriber
/plugin install dialogue-transcriber@dialogue-transcriber構造化出力 — --format json --output - は 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 — このパッケージは Open Ingestion Protocol プロデューサーであるため、文字起こしはコンシューマー側の変更なしに、OIP 対応の任意のコンシューマー (例: Anchor) が取り込むことができます:
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)ツール名前空間: transcribe。リージョン種別: transcript_segment。source_ref.kind: audio-timestamp。
ライブラリの使用
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 は、文のテキスト、時間範囲、ディスク上のクリップ、割り当てられた話者を含む SpeakerSegment レコードのリストです。PipelineResult.cluster.projection はプロット用の 2 次元 UMAP です。
バックエンド
処理内容 | デフォルト | 上書き方法 |
文字起こし |
|
|
埋め込み |
|
|
クラスタリング | UMAP(2) + KMeans + silhouette |
|
YouTube |
|
|
すべてのバックエンドは Protocol です — transcriber/transcribe/base.py と transcriber/embed/base.py を参照してください。テストはインメモリのフェイクを使用するため、スイートの実行に重いモデルは必要ありません。
開発
ガイドラインは CONTRIBUTING.md、リリース履歴は CHANGELOG.md を参照してください。
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 testsフロントエンドの作業: 別のシェルで transcriber serve … --port 8000 を実行した状態で、cd web && pnpm dev (http://127.0.0.1:5173、/api を :8000 にプロキシ) を実行します。
リリース: GitHub リリースを公開すると .github/workflows/release.yml がトリガーされ、フロントエンドをビルドして wheel にバンドルし、トラステッドパブリッシングで PyPI に公開します。
ライセンス
Apache-2.0 — LICENSE を参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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).
- AlicenseAqualityFmaintenanceEnables AI assistants to transcribe audio files from URLs or local paths using AssemblyAI's services, with support for speaker diarization, language detection, and asynchronous job management through a standardized MCP interface.4132MIT
- AlicenseNot gradedqualityDmaintenanceEnables intelligent transcription of YouTube videos with automatic optimization for any video length, using local OpenAI Whisper processing and speaker diarization.The Unlicense
- AlicenseNot gradedqualityCmaintenanceTranscribes YouTube videos or audio files to Markdown, plain-text, and Word documents.MIT
Related MCP Connectors
Transcripts from YouTube, TikTok, Instagram and podcasts (Spotify, Apple, RSS), as clean JSON.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Fetch transcripts, subtitles, chapters, metadata and frames from YouTube and 10+ video platforms
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Novia-RDI-Seafaring/transcriber'
If you have feedback or need assistance with the MCP directory API, please join our Discord server