transcriber-mcp
dialogue-transcriber
Расшифровывайте разговоры и узнавайте, кто что сказал.
Укажите интервью, панельную дискуссию, запись встречи или URL на YouTube — и получите транскрипт, где каждая реплика приписана конкретному говорящему — плюс веб-интерфейс для просмотра кластеров говорящих, прослушивания любого фрагмента и ручного исправления меток.

Как это работает
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: youtube-transcriber-mcp
Быстрый старт
ffmpeg и ffprobe должны быть в PATH (brew install ffmpeg на 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:8000Бэкенд по умолчанию запускает faster-whisper
локально; --backend openai использует OpenAI Whisper API (требуется
OPENAI_API_KEY, работает значительно быстрее на машинах без GPU). Ключ
можно задать через переменную окружения или хранить в файле .env в вашем
проекте — CLI загружает .env из рабочей директории (или ближайшей
родительской), а переменные окружения всегда имеют приоритет над файлом.
Куда сохраняются данные?
Кэш пайплайна:
./.transcriber-cache/в директории, откуда вы запускаете (переопределяется через--work-dir) — чанки, клипы по сегментам, эмбеддинги, загрузки с YouTube и состояние задач веб-интерфейса. Можно безопасно удалить; он будет пересоздан.Транскрипты: записываются рядом с входным аудио (
interview.txt) или туда, куда указывает--output;--output -выводит в stdout.Веса моделей (локальный бэкенд): загружаются один раз в
~/.cache(Hugging Face / NeMo). Загрузка Whisper large-v3 занимает ~3 ГБ, поэтому первый локальный запуск займёт время.
С локальным бэкендом по умолчанию ничего не покидает вашу машину;
--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 "имена, жаргон", чтобы заранее задать Whisper словарь,
который он должен ожидать. --output - выводит транскрипт в stdout, а
сводку в stderr, так что вывод чисто передаётся дальше.
Веб-интерфейс
transcriber serve запускает FastAPI-бэкенд и раздаёт встроенный React
фронтенд. Вы получаете:
UMAP-диаграмму рассеяния, где каждая точка — один сегмент, окрашенный по кластеру — выделите кластер лассо, чтобы переименовать его массово;
непрерывную осциллограмму с одной областью на сегмент — кликните или прокрутите, чтобы воспроизвести что угодно;
таймлайн говорящих в стиле Ганта;
виртуализированный транскрипт с полнотекстовым поиском;
переименовываемые прямо в строке чипы говорящих (переименования сохраняются на сервере);
экспорт в TXT / VTT / SRT;
навигацию с клавиатуры (↑/↓ — сегменты, Space — воспроизведение/пауза,
/— поиск).
Несколько задач могут выполняться параллельно; добавляйте новые через боковую панель.
serve выбирает бэкенд автоматически: openai, если доступен
OPENAI_API_KEY (из окружения или .env), иначе local. Передайте
--backend, чтобы выбрать явно. (Устаревший однозадачный Dash-интерфейс
по-прежнему доступен как transcriber ui.)
Для ИИ-агентов
Этот проект создан, чтобы им могли управлять как агенты, так и люди.
Навык 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-D UMAP для
построения графиков.
Бэкенды
Компонент | По умолчанию | Переопределение через |
Транскрипция |
|
|
Эмбеддинг |
| передайте |
Кластеризация | UMAP(2) + KMeans + силуэт | передайте |
YouTube |
| замените |
Все бэкенды — это протоколы — см. 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) вместе с transcriber serve … --port 8000
в другой консоли.
Релизы: публикация GitHub-релиза запускает
.github/workflows/release.yml, который собирает фронтенд, упаковывает его
в wheel и публикует на PyPI через trusted publishing.
Лицензия
Apache-2.0 — см. LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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 Connectors
Transcribe audio & video: diarization, timed SRT/VTT, podcasts, paste-a-link, whole-feed batch.
- mcpOAuthso.transcribe
Transcribe audio and video into speaker-labelled transcripts, subtitles, clips, and cited Q&A.
AI transcription from URLs or files. 119 languages, diarization, SRT/VTT/text export.
Transcribe audio & video to text for AI agents: 100+ languages, speaker labels, webhooks.
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 gradedqualityCmaintenanceTranscribes YouTube videos or audio files to Markdown, plain-text, and Word documents.MIT
- AlicenseAqualityBmaintenance100% Free AI audio and video transcription with speaker diarization and YouTube support.520MIT
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