Модуль m.5 · Урок 2
Урок 2: Транскрипция: Whisper локально с diarization
Содержание
- Чему вы научитесь
- Что меняется с Whisper
- Три пути: локально, Яндекс, OpenAI
- Диаризация: зачем это журналисту
- antony66/whisper-large-v3-russian: для русского обязателен
- TurkicASR: уникально для региональных редакций
- Практикум: установка за 15 минут
- Тонкости для журналиста
- Сравнение: локально vs SpeechKit vs OpenAI API
- Русский контекст
- Главное из урока
Чему вы научитесь
- Ставить whisperX локально за 15 минут и получать транскрипт часового интервью за 5–7 минут
- Включать диаризацию (разделение спикеров) через pyannote и получать таблицу «спикер → время → реплика»
- Использовать antony66/whisper-large-v3-russian для русского: 6,39% WER против 9,84% у базовой модели
- Выбирать между локальным Whisper, Yandex SpeechKit и OpenAI API по критериям приватности, 152-ФЗ и удобства
- Работать с тюркскими языками России (татарский, башкирский, чувашский) через ISSAI TurkicASR
Для практики используем arckep.ru — все основные модели, без VPN, оплата рублями. Вы можете использовать любые другие сервисы.
Что меняется с Whisper
Расшифровка часового интервью вручную — 2–3 часа работы. Платные сервисы просят от 300 рублей за час аудио. Облачные API присылают запись в дата-центры, где её видит как минимум провайдер.
Whisper локально делает ту же работу за 5–7 минут. Бесплатно. На вашем ноутбуке, без интернета. Приватно: запись не выходит за пределы машины — критично для работы с источниками под защитой, утечками, юридически чувствительным материалом.
Этот урок — пошаговая инструкция: что поставить, какой командой запустить, что получить на выходе, как сравнить локальное качество с Яндексом и OpenAI, и когда всё-таки идти в облако.
Три пути: локально, Яндекс, OpenAI
Перед установкой — выбор. У каждого пути своя цена, своё качество, свой уровень приватности:
- Whisper локально через whisperX / faster-whisper. Бесплатно. Приватно (ничего не уходит с ноутбука). Нужен ноутбук с 8–16 ГБ RAM или GPU с 8 ГБ памяти. Оффлайн. Рекомендация для большинства
- Yandex SpeechKit. Платно, тарифицируется по длительности (по 15-секундным интервалам). Запись в облаке Яндекса. 152-ФЗ-compliant — данные хранятся на серверах в РФ. Когда нужна юридическая чистота для корпоративных записей
- Whisper через OpenAI API. Платно ($0,006/мин = примерно $0,36/час). В облаке OpenAI, не приватно. Когда не хочется возиться с установкой и чувствительности нет
Внутри локального пути есть два основных стека: faster-whisper (быстрая C++-реализация Whisper, 22,2k⭐) и whisperX на его базе (21,3k⭐, добавляет диаризацию и точные таймкоды). Для интервью по умолчанию — whisperX.
Диаризация: зачем это журналисту
«Сырой» Whisper даёт сплошной текст: отрывок речи за отрывком, без меток, кто говорит. Для 20-минутной записи с одним спикером этого хватает. Для часового интервью с гостем — нет: вам нужно различать ведущего и гостя, считать реплики, выдёргивать цитаты.
whisperX добавляет к транскрипту две вещи: точные таймкоды на уровне слова (через wav2vec2) и разделение спикеров (через pyannote.audio). На выходе — таблица вида:
[00:00:12.3 → 00:00:18.7] SPEAKER_00: Сегодня мы поговорим про...
[00:00:18.9 → 00:00:45.2] SPEAKER_01: Спасибо, рад присоединиться...
SPEAKER_00 и SPEAKER_01 дальше переименовываются в «Ведущий» и «Гость» одним find-replace. Всё — можно нарезать цитаты и верстать show notes.
Технические параметры whisperX на апрель 2026: v3.8.5, 70× realtime на large-v2 (то есть час аудио обрабатывается за ~50 секунд), потребление GPU до 8 ГБ. На CPU работает, но в 10–20 раз медленнее. Для ноутбука без дискретной GPU реалистичный таймлайн — 5–10 минут на час записи.
Диаризация через pyannote — это не распознавание личностей, а разделение голосов. Модель слышит «смена говорящего» и присваивает анонимные метки SPEAKER_00, SPEAKER_01, SPEAKER_02. На записи с двумя спикерами точность 90–95%, на трёх — около 85%, на четырёх и больше — ниже 80% (голоса начинают путаться). Если в интервью участвуют четверо — лучше разбить запись на парные диалоги и обработать отдельно. Перекрывающаяся речь (когда гость и ведущий говорят одновременно) — слабое место любой модели: pyannote помечает такой фрагмент как более громкому спикеру, вторую реплику придётся восстанавливать ухом.
antony66/whisper-large-v3-russian: для русского обязателен
Базовая Whisper-large-v3 на русском даёт 9,84% WER (word error rate, тестовый сплит Common Voice 17.0). Файн-тюн antony66/whisper-large-v3-russian — 6,39% WER на том же сплите, то есть ошибается в полтора раза реже. Yandex SpeechKit публичных цифр WER на Common Voice не приводит, но по практике на шумных записях и телефонных линиях держит качество сопоставимо с Whisper large-v3 — в таких сценариях он сильнее. Обычный Whisper без файн-тюна — 14,2%.
Параметры модели на апрель 2026:
- Файн-тюн 60 часов на 2× A100, лицензия MIT, на HuggingFace ~57 000 скачиваний в месяц
- Оптимизирован для телефонного звука (узкий частотный диапазон, сжатие) — то, что обычная Whisper пропускает
- Размер модели ~3 ГБ, качается один раз при первом запуске
- Совместима со стандартным интерфейсом Whisper — подменяется одной строчкой в команде запуска
Для русскоязычной редакции это и есть дефолтный выбор. Если работаете с материалом на русском — antony66, без вопросов. Для английского и мультиязыка — обычный Whisper-large-v3 или распределённая модель.
TurkicASR: уникально для региональных редакций
Редакции Татарстана, Башкортостана, Якутии, Чувашии получают записи не только на русском. До недавнего времени транскрипция этих языков означала либо ручной набор, либо перевод в русский и потерю смысла. ISSAI (Nazarbayev University) выпустил TurkicASR — мультиязычный ASR на 10 тюркских языков:
- Азербайджанский, башкирский, чувашский, казахский, киргизский, саха (якутский), татарский, турецкий, уйгурский, узбекский
Это open-source (83⭐ на GitHub), работает как дополнение к Whisper-стеку. Плюс — отдельный открытый корпус татарской речи TatSC: 269,1 часа аудио, 271 914 реплик (сбор через краудсорсинг и аудиокниги). Для татарской редакции, которая хочет делать подкасты и интервью на родном языке, — единственное реально работающее решение.
Практикум: установка за 15 минут
Перед установкой — базовые требования:
- Python 3.10+ и
pip(на macOS:brew install python@3.11; на Ubuntu:apt install python3.11 python3-pip; на Windows — через официальный установщик) - ffmpeg — нужен для декодирования аудио (
brew install ffmpeg/apt install ffmpeg) - Опционально: NVIDIA GPU с 8+ ГБ памяти — даёт ускорение в 10–20 раз. Без GPU работает, просто дольше
Дальше — четыре команды:
# 1. Установка whisperX
pip install whisperx
# 2. Запуск на первой записи — с диаризацией и русским
whisperx interview.mp3 --diarize --language ru --model large-v3
# 3. Результат на выходе — в текущей директории:
# interview.srt (субтитры с таймкодами)
# interview.vtt (субтитры для веба)
# interview.tsv (таблица для Excel/Sheets)
# interview.json (машинный формат — удобно для LLM)
# interview.txt (чистый текст)
Первый запуск тянет модель (~1,5 ГБ для large-v3 или ~3 ГБ для antony66). Дальше модель лежит локально, интернет не нужен.
Для antony66/whisper-large-v3-russian меняется одна строка:
whisperx interview.mp3 --diarize --language ru \
--model antony66/whisper-large-v3-russian
Для диаризации нужен HuggingFace-токен (бесплатный) — pyannote.audio требует согласия на условия использования модели. Один раз принять на huggingface.co/pyannote/speaker-diarization-3.1, создать токен в профиле, положить в переменную окружения HF_TOKEN.
Тонкости для журналиста
Несколько нюансов, которые экономят час работы:
- Плохое аудио — сначала чистим. Телефон, улица, ветер, эхо — запускайте запись через бесплатный Adobe Podcast Enhance (podcast.adobe.com/enhance) перед Whisper. Убирает шум, выравнивает голос, делает WER лучше на 1–3 пункта
- Длинные интервью — по одному спикеру, если знаете структуру. Для часового монолога (подкаст с одним гостем) диаризация не нужна — отключайте
--diarize, экономите 30% времени - Работа в поездке — whisper.cpp. Независимая C/C++-реализация Whisper через ggml (github.com/ggerganov/whisper.cpp) — работает на iPhone, Mac M1/M2, Android без GPU. Качество чуть ниже, но реально — транскрибировать прямо в поле
- Памяти не хватает — берём модель поменьше.
--model mediumвместоlarge-v3— WER вырастает на 2–3 пункта, но влезает в 4 ГБ RAM. Для черновика хватает - Всегда проверяем имена. Whisper угадывает собственные имена плохо. После транскрипта — глобальный поиск/замена ключевых имён (гостя, организаций, городов) по списку, который собрали в подготовке из M.5.1
- Батч-обработка серии записей. Если накопилось 5–10 интервью — не запускайте по одному. Положите все
.mp3в одну папку и пройдите циклом:for f in *.mp3; do whisperx "$f" --diarize --language ru --model antony66/whisper-large-v3-russian; done. Модель грузится в память один раз, обработка идёт подряд — экономия времени на старте процесса - Галлюцинации на тишине. Whisper иногда «досочиняет» текст там, где в записи долгая пауза или фоновый шум (стандартный артефакт — «Спасибо за просмотр» или «Подписывайтесь на канал» в конце записи). После транскрипта пробегитесь глазами по последней минуте: если там появился текст, которого в аудио не было, — просто удалите
Сравнение: локально vs SpeechKit vs OpenAI API
| Критерий | Whisper локально (whisperX + antony66) | Yandex SpeechKit | OpenAI Whisper API |
|---|---|---|---|
| Цена за час аудио | Бесплатно (после установки) | ~40 ₽ (синхронное) / ~10–60 ₽ (асинхронное long audio) | ~$0,36 (~35 ₽) |
| Приватность | Полная, всё локально | Данные в облаке Яндекса (РФ) | Данные в облаке OpenAI (США) |
| Качество русского (WER) | 6,39% (antony66) | сопоставимо с Whisper large-v3, сильнее на шумных записях | 9,84% (base large-v3) |
| Установка | 15 минут, один раз | API-ключ, Яндекс-аккаунт | API-ключ OpenAI |
| Интернет | Не нужен | Обязателен | Обязателен |
| Соответствие 152-ФЗ | Да (данные не покидают РФ) | Да (серверы в РФ) | Нет (США) |
| Диаризация | Встроена через pyannote | Встроена | Только транскрипт, без разделения |
| Когда использовать | Большинство случаев, чувствительные источники | Корпоративные записи, где нужен 152-ФЗ и нет ноутбука под Whisper | Разовые задачи без чувствительности, когда лень ставить |
Тарифы Yandex Cloud периодически меняются — сверяйте актуальное на cloud.yandex.ru/services/speechkit.
Русский контекст
Для редакции в РФ базовые паттерны использования выстраиваются так:
- Чувствительные интервью (расследования, источники под защитой, утечки, конфликтные темы) — только Whisper локально. Ничего в облако не уходит, даже сам факт расшифровки остаётся в вашей машине. Пароль на диск и шифрование тома — отдельная гигиена
- Корпоративные интервью (бизнес, банки, юридические записи) — SpeechKit. 152-ФЗ, договор с Яндексом, предсказуемая цена. Не стоит экономить на этом: корпорация требует формальной compliance, локальный Whisper юридически «не виден»
- Обычные интервью (общественные деятели, публичные эксперты, подкасты для широкой аудитории) — Whisper локально просто потому, что быстрее и бесплатно. В облако загонять нечего
- После транскрипта — LLM-анализ через arckep.ru для суммаризации, цитат, show notes (следующий урок M.5.3). Arckep принимает текст без оглядки на VPN и даёт все модели (Claude, ChatGPT, DeepSeek, YandexGPT, GigaChat) в одном интерфейсе
Для региональных и национальных редакций добавляется слой TurkicASR — когда респондент говорит на татарском, башкирском, якутском. В центральной русской редакции этот блок неактуален, в национальной — основной инструмент.
Главное из урока
Связка whisperX + antony66/whisper-large-v3-russian — это 6,39% WER на русском, 5–7 минут на час записи, бесплатно, локально, с разделением спикеров. Для большинства интервью в 2026 это первый выбор — превосходит SpeechKit по качеству и закрывает вопрос приватности, который в облаке не закрыт.
Yandex SpeechKit остаётся для случаев, где нужен формальный 152-ФЗ и договор. OpenAI Whisper API — когда не хочется возиться с установкой и чувствительности нет. TurkicASR — уникальный слой для национальных редакций, которого нет в других курсах.
Установка занимает 15 минут один раз в жизни. После этого у вас на ноутбуке — инструмент, который экономит 2–3 часа работы на каждом часе записи.
В следующем уроке — M.5.3 «Суммаризация и извлечение цитат»: что делать с транскриптом дальше — как за 5 минут получить show notes, три ключевые цитаты, timestamp-chapters и черновик пресс-материала.