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 -则打印到标准输出。模型权重(本地后端):首次下载到
~/.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 - 将转录稿流式输出到标准输出,将摘要输出到标准错误,因此输出可以干净地管道化。
Web UI
transcriber serve 运行一个 FastAPI 后端,并服务打包好的 React 前端。你可以获得:
一个 UMAP 散点图,每个点代表一个片段,按聚类着色——套索选择一个聚类即可批量重命名;
一个连续波形,每个片段对应一个区域——点击或拖动即可播放任意内容;
一个甘特图风格的说话人时间线;
一个支持全文搜索的虚拟化转录稿;
可内联重命名的说话人标签(重命名会在服务端持久化);
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 - 在标准输出上输出一个稳定的结构:
{
"speakers": ["Speaker 1", "Speaker 2"],
"n_segments": 42,
"duration": 512.3,
"segments": [
{"speaker": "Speaker 1", "start": 0.0, "end": 4.2, "text": "..."}
]
}MCP / OIP——该包是一个开放摄取协议生产者,因此任何支持 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-D 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前端工作:cd web && pnpm dev(http://127.0.0.1:5173,将 /api 代理到 :8000),并在另一个 shell 中运行 transcriber serve … --port 8000。
发布:发布 GitHub release 会触发 .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