Диаризация спикеров для русского языка: что реально работает в 2026 году
Какие инструменты для диаризации спикеров на русском языке стоит брать в продакшен в 2026: pyannote 3.1, NeMo, WhisperX, облачные API. Цифры по DER, цены и российская специфика.

Диаризация спикеров для русского языка: что реально работает в 2026 году
Этот текст — про то, какие инструменты для диаризации спикеров на русском языке стоит брать в продакшен в 2026 году, а какие — нет. Без маркетинговых тезисов: цифры по DER, требования по железу, цена, что с данными в РФ. И честно про то, где здесь Wisperv, а где — не здесь.
Короткий ответ. Open-source стандарт — pyannote 3.1, требует GPU и HuggingFace-токена, DER на русском в районе 12–18% на чистом аудио. Альтернатива — NVIDIA NeMo с моделями MSDD и Sortformer, на отдельных датасетах обходит pyannote. Если не хочется держать GPU — облачные API: Deepgram nova-3, AssemblyAI universal-2, Speechmatics, Gladia. У всех диаризация встроена в транскрипцию, ценник в районе $0,30–0,60 за час аудио. В Wisperv диаризация — часть roadmap для meetings-режима на тарифе Maximum, основной push-to-talk-флоу single-speaker по дизайну.
Что такое диаризация и почему русский язык — отдельная история
Диаризация спикеров для русского языка — это задача «кто и когда говорит» на русскоязычных аудио. На вход модель получает аудио, на выход выдаёт временную шкалу с метками типа SPEAKER_00 (00:01.2 – 00:08.7), SPEAKER_01 (00:08.7 – 00:14.3). Транскрипция отвечает на «что сказали», диаризация — на «кто сказал». Связка из двух задач — то, что нужно для совещаний, интервью, подкастов и записей из колл-центров.
Метрика качества — DER, Diarization Error Rate. Складывается из трёх ошибок: false alarm (модель услышала речь там, где её нет), missed speech (пропустила речь), speaker confusion (перепутала спикеров). Чем DER ниже, тем лучше; на чистом подкаст-аудио хорошее решение даёт 6–12%, на телефонной записи колл-центра — 15–25%, на шумной планёрке в зуме — иногда 25–35%. Дополнительная метрика — JER, Jaccard Error Rate, она менее наказывает за короткие ошибки сегментации.
Русский язык — отдельная история по двум причинам. Первая: большинство публичных датасетов для диаризации (AMI, CALLHOME, VoxConverse) — англоязычные. Модели тюнятся на них и переносятся на русский с потерей качества. Вторая: фонетика. Русские шипящие, мягкие согласные и редукция гласных дают другой акустический профиль, чем английский. Speaker embeddings (векторное представление голоса) тренируются на смеси языков, и для русских голосов точность кластеризации обычно ниже, чем для английских.
Реальная разница на практике: модель, которая на английском подкасте даёт DER 8%, на русском совещании из четырёх человек выдаёт 15–20%. Это не катастрофа, но это нужно учитывать, когда оцениваете «сколько правок ляжет на пост-обработку».
Pyannote 3.1: open-source стандарт, который держит индустрию
Для тех, кто решает задачу диаризация спикеров для русского языка через open-source, pyannote — это python-библиотека и набор моделей от исследователя Hervé Bredin, изначально из университета LIMSI-CNRS. Версия 3.1 вышла в конце 2023 и до сих пор остаётся фактическим стандартом для open-source диаризации.
Внутри pyannote 3.1 — pipeline из трёх компонентов:
- VAD (voice activity detection) на базе модели pyannote/segmentation-3.0 — определяет, где есть речь, а где тишина или шум.
- Speaker embedding — модель wespeaker-voxceleb-resnet34-LM, конвертирует кусочек речи в 256-мерный вектор голосового отпечатка.
- Кластеризация — агломеративная иерархическая кластеризация эмбеддингов, чтобы свести похожие куски в одного спикера.
На бенчмарке VoxConverse (английские дебаты) pyannote 3.1 даёт DER около 11%. На AMI (англоязычные митинги) — 18–22% в зависимости от типа аудио. По русскому языка официальных бенчмарков от авторов нет; сторонние замеры на корпусах вроде «Открытой речи» дают DER 14–18% на чистом интервью и 22–28% на шумных совещаниях.
Что важно знать перед интеграцией:
- Лицензия MIT, но для скачивания модели нужен HuggingFace-токен и принять условия использования на странице модели. Это формальность, но в CI/CD её приходится отдельно прописывать.
- Работает на CPU, но на GPU в 8–15 раз быстрее. Для часа аудио на CPU — 2–4 минуты обработки, на RTX 4090 — 15–25 секунд.
- Память: 2–3 ГБ VRAM на инференс, плюс ещё столько же на загрузку весов. На MacBook M-серии (MPS backend) работает, но медленнее, чем CUDA, на 30–40%.
- Длина аудио: рекомендуется бить на куски по 10–30 минут. На длинных файлах ошибки кластеризации накапливаются.
В практике pyannote — это первый выбор, если у вас есть GPU и желание держать пайплайн у себя. Это даёт полный контроль над данными — критично для случаев, когда аудио нельзя отправлять в облако.
NVIDIA NeMo: альтернатива от тех, у кого больше всего GPU
NVIDIA NeMo — open-source toolkit для speech AI. В отличие от pyannote, который сфокусирован именно на диаризации, NeMo покрывает ASR, TTS, NLP и speaker recognition в одном фреймворке. Для диаризации в NeMo есть две интересные модели.
MSDD (Multi-scale Diarization Decoder) — классический подход с эмбеддингами и кластеризацией, но обучение и инференс работают на multiple time scales одновременно. Это даёт лучшую точность на коротких репликах (когда спикер говорит 1–2 секунды), где pyannote часто путает.
Sortformer — end-to-end модель, представленная в 2024 году. Принципиально другой подход: вместо «найди границы, посчитай эмбеддинги, кластеризуй» сеть напрямую выдаёт matrix вида «спикер N говорит в момент T». Это убирает каскад ошибок и даёт устойчивость к перекрытиям речи (overlap), где pyannote деградирует.
На бенчмарках NVIDIA Sortformer обходит pyannote 3.1 на DIHARD-3 (DER 14,5% против 16,3%) и на CALLHOME (DER 7,5% против 9,1%). На русских данных независимых бенчмарков пока мало, но качественные оценки на интервью и совещаниях — сопоставимо с pyannote или чуть лучше на сценах с overlap.
Минусы NeMo:
- Тяжелее в установке: тянет за собой CUDA, PyTorch, Hydra-config, ещё ряд зависимостей. Docker-образ NVIDIA весит 8–12 ГБ.
- Документация ориентирована на исследователей, не на продуктовые команды. Чтобы запустить диаризацию на своих аудио, надо разобрать пример скрипта
offline_diar_infer.pyи привыкнуть к YAML-конфигам. - Требует CUDA-GPU. На MPS (Apple Silicon) NeMo работает плохо, многие операции не поддерживаются.
NeMo — это выбор для команд, которые уже сидят на NVIDIA-стеке и готовы заплатить операционной сложностью за прирост 1–3 процентных пункта DER.
WhisperX: связка Whisper + pyannote для совмещения речи и спикеров
WhisperX — не отдельная модель, а pipeline-обёртка над тремя компонентами:
- Whisper (от OpenAI) или Faster-Whisper для транскрипции.
- wav2vec2 для forced alignment — точной привязки слов к временной шкале (Whisper выдаёт неточные timestamp, ошибка до секунды).
- Pyannote для диаризации.
Результат — транскрипт, в котором каждое слово помечено и временем, и спикером:
{
"start": 12.34,
"end": 12.89,
"word": "пришли",
"speaker": "SPEAKER_01"
}
Это именно то, что нужно для рендеринга расшифровки в формате «Анна (12:34): Мы пришли к выводу…». WhisperX решает скучную, но важную задачу: правильно соединить два независимых результата (транскрипцию и диаризацию) на уровне слов, а не сегментов.
Почему это не панацея:
- Качество диаризации в WhisperX = качество pyannote. Если pyannote ошибся, WhisperX просто унаследует ошибку.
- Wav2vec2 alignment требует, чтобы fmодель знала язык. Для русского используется
jonatasgrosman/wav2vec2-large-xlsr-53-russian— рабочая, но не идеальная, на быстрой речи alignment иногда смещается на 100–200 мс. - На длинных файлах (1+ час) сборка результата отъедает память: 8–16 ГБ RAM не редкость.
В практике WhisperX — самый дешёвый способ собрать end-to-end решение «звук → структурированная расшифровка с спикерами» без облачных API. Если уже есть pyannote-pipeline, добавить WhisperX — это пара дней работы.
Облачные API: Deepgram nova-3, AssemblyAI, Speechmatics
Если держать GPU не вариант, идут в облако. Все основные провайдеры в 2026 поддерживают диаризацию русского языка из коробки.
Deepgram nova-3. Анонсирована в 2024, заявлен прирост точности на 30% по сравнению с nova-2 на shortform-аудио. Диаризация включается флагом diarize=true в API-запросе. Заявленная задержка — 200–500 мс на streaming, что делает её одним из быстрых решений для real-time. Поддержка русского заявлена как «production-ready», на практике WER на чистом русском интервью в районе 8–11%, DER при диаризации — около 13–17%. Ценник — $0,43 за час pre-recorded аудио с диаризацией, $0,69 за час streaming.
AssemblyAI universal-2. Большая модель, заточенная под точность транскрипции, диаризация в виде дополнительного флага speaker_labels=true. На английском показывает один из лучших WER в индустрии. На русском заметно проседает по сравнению с английским — WER 12–15% на интервью, что хуже Deepgram. Зато API очень чистый, есть готовые SDK, удобный webhook для batch-обработки. Ценник — $0,37 за час с диаризацией.
Speechmatics. Британский провайдер с фокусом на enterprise. Русский язык поддерживают давно, качество транскрипции стабильно высокое — WER 7–10% на чистой речи. Диаризация (diarization=speaker) работает хорошо на длинных совещаниях. Ценник высокий — около $1,15 за час с диаризацией, но есть on-premise-вариант для тех, кому нельзя в облако.
Gladia. Французский стартап, агрегатор поверх Whisper-моделей с собственной диаризацией. Поддержка русского есть, качество среднее (WER 11–14%), но цена низкая — $0,12 за час с диаризацией на batch-плане. Подходит как дешёвая альтернатива для прототипов.
Сводная таблица:
| Провайдер | WER на русском | DER на русском | Цена за час с диаризацией | Streaming |
|---|---|---|---|---|
| Deepgram nova-3 | 8–11% | 13–17% | $0,43 (batch), $0,69 (stream) | Да, 200–500 мс |
| AssemblyAI universal-2 | 12–15% | 14–18% | $0,37 | Да |
| Speechmatics | 7–10% | 12–16% | $1,15 | Да |
| Gladia | 11–14% | 16–20% | $0,12 | Да |
| pyannote (self-hosted) | — | 14–18% | $0,02–0,05 (амортизация GPU) | Нет |
| NeMo Sortformer (self-hosted) | — | 13–17% | $0,02–0,05 | Нет |
Числа — на типовом русскоязычном интервью или совещании на хорошем микрофоне. На шумных колл-центрах все цифры ухудшаются на 30–50%.
Российская специфика: где данные, чем платить, что с законом
Здесь начинается зона, которую западные обзоры опускают полностью.
Где живут данные. Все облачные API из предыдущего раздела хостятся в США или ЕС. Если вы работаете с записями совещаний российской компании, особенно если в них упоминаются персональные данные клиентов или сотрудников, отправка таких файлов в Deepgram или AssemblyAI — это передача персональных данных за пределы РФ. Закон 152-ФЗ требует уведомление Роскомнадзора и часто согласие субъектов. На практике это значит, что для b2b-сценариев с реальными звонками клиентов облачные API без российского представительства — рискованный выбор.
Чем платить. У всех западных провайдеров оплата картой Visa/Mastercard, выпущенной в долларах или евро. С российскими картами не сработает, нужен счёт в банке за пределами РФ или прокладка через юрлицо в Армении, Сербии, ОАЭ. Российские альтернативы для облачной диаризации — Yandex SpeechKit и SaluteSpeech от Сбера, обе с диаризацией. По качеству на типовых сценариях ближе к Gladia, чем к Deepgram, но проблем с данными и оплатой нет.
Self-hosted как реальный путь. Pyannote, NeMo и WhisperX можно поднять на сервере в РФ — у Selectel, Yandex Cloud, MWS, Cloud.ru есть GPU-инстансы с A100, H100, RTX 4090. Цена аренды A100 — 80–120 ₽/час, можно загружать на 30–50% и выдавать диаризацию за 8–15 ₽ за час аудио. Для команд, у которых данные не должны покидать РФ, это единственный реальный путь.
Что делает Wisperv и почему диаризация — часть meetings-roadmap, а не основного флоу
Здесь — то, что в маркетинговых обзорах обычно скрывают. Wisperv в текущем виде не делает диаризацию в основном dictation-флоу. И это не баг, а осознанный дизайн.
Основной сценарий Wisperv — push-to-talk диктовка. Пользователь зажимает Fn, говорит фразу или абзац, отпускает — текст вставляется в активное приложение. По дизайну это сценарий одного спикера: тот, кто зажал кнопку и говорит в свой микрофон. Добавлять сюда диаризацию бессмысленно: спикер всегда один, и это вы.
Диаризация нужна в другом сценарии — режиме встреч (meetings). Это та часть, которая сейчас в roadmap, а не в production. Идея режима встреч:
- запись системного аудио через ScreenCaptureKit плюс микрофон;
- транскрипция всей записи через Whisper;
- диаризация — кто говорил;
- AI-саммари — что обсуждали и какие решения приняли;
- экспорт в markdown или передача в ваш task-manager.
Для этого сценария мы смотрим на pyannote 3.1 и Deepgram nova-3 как на основные варианты под капотом — с self-hosted-вариантом для команд, которым важно держать данные в РФ. Подробности про режим встреч в Wisperv — на отдельной странице, там же объяснено, на каком тарифе функция будет доступна. Целевой тариф — Maximum, для команд, у которых много совещаний.
Если у вас сейчас задача — расшифровать совещание с распознаванием спикеров, и вам нужно решение прямо сейчас, Wisperv для этого не подходит. Используйте pyannote-pipeline у себя, Deepgram nova-3 в облаке или одну из готовых SaaS-расшифровок встреч. Когда meetings-режим выйдет, мы напишем отдельный анонс.
В обзорах смежных задач есть подробный разбор транскрипции Microsoft Teams и расшифровка Zoom-встреч на русском — там про сами платформы, а не про диаризацию.
Как выбрать решение под свою задачу: чек-лист
Когда выбираете инструмент под задачу «диаризация спикеров для русского языка», помогает пройти семь вопросов и отсечь варианты, которые не подходят под ваши данные, бюджет и инфраструктуру.
- Где живут данные. Можно отправлять в облако? Если нет — pyannote или NeMo self-hosted. Если да — переход к пункту 2.
- Сколько GPU вы готовы держать. Если ноль — облачный API. Если хотя бы один A10/A100 — self-hosted работает.
- Какой объём аудио в месяц. До 200 часов — облако дешевле. Больше 500 часов — амортизация GPU начинает выигрывать.
- Нужен ли streaming. Для онлайн-сценариев (живые встречи с показом транскрипции) — Deepgram или Speechmatics. Для batch (отдать запись, забрать расшифровку через 10 минут) — любой вариант.
- Сколько спикеров. До 5 — все решения работают сопоставимо. От 8 — pyannote и облачные API начинают путать, помогает указать
num_speakersилиmin_speakers/max_speakersявно. - Что с overlap-речью. Если в ваших аудио часто говорят одновременно (планёрки, споры), Sortformer от NeMo или Deepgram nova-3 справляются лучше, чем pyannote 3.1.
- Какой бюджет на интеграцию. Облачный API — 1–3 дня на минимально жизнеспособный pipeline. Self-hosted pyannote — 1–2 недели до production-готовой системы с очередью задач, мониторингом, обработкой ошибок.
Под типовой b2b-сценарий «расшифровка совещаний российской команды» в 2026 году разумно выглядит self-hosted pyannote 3.1 + WhisperX на арендованном GPU в РФ — или Yandex SpeechKit, если хочется минимум операционных затрат и устраивает качество чуть ниже pyannote.
Для b2c-сценария «расшифровать подкаст или интервью» — pyannote локально на M-серии Mac, либо Deepgram nova-3 с оплатой через зарубежный счёт.
Для команд, которые хотят встроить диаризацию в свой продукт, — выбор между Deepgram nova-3 (низкий порог входа, хорошее качество, нужен валютный расчёт) и self-hosted pyannote (полный контроль, нужна команда с MLOps).
Если вас интересует не только диаризация, но и полный pipeline для голосовой работы на macOS — посмотрите тариф Maximum для командной работы в Wisperv, куда meetings-режим с диаризацией входит как часть подписки. Запуск meetings-режима — в текущем roadmap, не в production.
Частые вопросы про диаризацию на русском
Какая модель сегодня лучшая для русского языка?
В задаче диаризация спикеров для русского языка по совокупности факторов «качество — простота — открытость» лидер — pyannote 3.1. Если важен прирост точности на overlap-речи и есть NVIDIA-стек — NeMo Sortformer. В облаке — Deepgram nova-3 для качества, Gladia для бюджета.
Сколько GPU нужно для production?
Один A10 (24 ГБ VRAM) или RTX 4090 закрывает 50–100 часов аудио в сутки при пакетной обработке pyannote 3.1. Для streaming-сценариев в реальном времени — отдельный GPU на каждые 10–20 параллельных потоков.
Можно ли запустить pyannote на M1/M2/M3 Mac?
Можно через PyTorch MPS backend. Работает медленнее CUDA на 30–40%, но для разовых задач и прототипирования хватает. Для production на потоке всё равно нужны серверные GPU.
Что с конфиденциальностью при облачной диаризации?
Все западные провайдеры (Deepgram, AssemblyAI, Speechmatics, Gladia) хранят аудио и метаданные на серверах за пределами РФ. Для записей с персональными данными российских граждан это создаёт риски по 152-ФЗ. Российские альтернативы — Yandex SpeechKit, SaluteSpeech. Self-hosted на GPU-инстансе российского облака — самый безопасный вариант.
Что такое DER и какие значения считать хорошими?
DER — Diarization Error Rate, сумма false alarm, missed speech и speaker confusion в процентах от длительности аудио. Хорошие значения для русского языка: 8–12% на чистом подкасте, 13–18% на интервью или совещании, 20–30% на шумных колл-центрах. Ниже 8% на сложных сценах — скорее маркетинговая цифра, чем реальная.
Делает ли Wisperv диаризацию прямо сейчас?
В основном dictation-флоу — нет, и не будет, потому что push-to-talk диктовка по дизайну однопользовательский сценарий. Диаризация — часть roadmap для режима встреч, который пока в разработке. Когда meetings-режим выйдет, будет отдельный анонс.
Можно ли делать диаризацию офлайн?
Pyannote, NeMo и WhisperX работают полностью офлайн, как только модели скачаны. Облачные API — нет.
Сколько стоит self-hosted решение в РФ?
Аренда A100 в российском облаке — 80–120 ₽/час. При загрузке 30–40% и пакетной обработке pyannote 3.1 себестоимость — 8–15 ₽ за час входного аудио. Плюс зарплата ML-инженера на поддержку.
Если вам нужно решить задачу диаризация спикеров для русского языка под конкретный продукт или процесс — стартовая точка зависит от того, где вы по чек-листу выше. Если ищете готовый продуктовый инструмент для расшифровки совещаний с разделением спикеров — пока берите профильное SaaS-решение, а за обновлениями по meetings-режиму в Wisperv следите в новостях.