WhisperX подробно – диаризация и пословные таймкоды

Автор: Николай СапуновОбновлено: август 202629 мин чтения
Содержание статьи +

Коротко

WhisperX – это бесплатный open-source инструмент, который берёт речевую модель OpenAI Whisper и закрывает две её главные проблемы для реальных продуктов: привязывает каждое слово к точному моменту в аудио и определяет, кто его произнёс. Он делает это, добавляя к Whisper три стадии – детектор речевой активности, который находит, где именно идёт речь; вторую небольшую модель, которая «выравнивает» текст по звуку (forced alignment), чтобы границы слов получались точнее, чем дрейфующие таймкоды самого Whisper; и модель диаризации, которая разделяет разговор по голосам. Та же перестройка позволяет WhisperX обрабатывать готовую запись во много раз быстрее обычного Whisper, потому что аудио можно расшифровывать параллельными батчами, а не одним медленным скользящим окном. В этой статье разбираем, что делает каждая стадия, где она может сломаться, чем WhisperX отличается от облачных API вроде Deepgram или AssemblyAI и когда видеокоманде стоит использовать именно его.

Зачем это нужно

Если вашему продукту важно знать когда было сказано каждое слово и кто его произнёс, обычный Whisper вас подведёт – и здесь на помощь приходит WhisperX, самое популярное open-source решение. Субтитры, подсвечивающие каждое слово по мере произношения (эффект «караоке» в коротких видео), требуют пословного тайминга. Саммари совещания, где указано: «дедлайн взяла на себя Мария, а не Том», – нуждаются в метках говорящих. Телемедицинская запись, отделяющая голос врача от голоса пациента, требует и того, и другого. Поиск по видеоархиву, который мгновенно перемещает вас к точной секунде, где прозвучала нужная фраза, невозможен без точных пословных таймкодов – в отличие от грубых оценок Whisper, ошибающихся на несколько секунд. Такие транскрипты с пословным таймингом становятся основой индекса поиска, как показано в уроке про video RAG над архивом.

Эта статья адресована продакт-менеджерам, основателям и техлидам, стоящим перед выбором: развернуть WhisperX на собственных серверах или воспользоваться облачным API для расшифровки. К концу вы поймёте три дополнительные стадии обработки, которые добавляет WhisperX, конкретные способы, в которых каждая из них может подвести, а также компромиссы между стоимостью и эксплуатацией при использовании self-host’а против платного API. Кроме того, вы получите тест из четырёх вопросов, помогающий определиться с правильным путём.

Где находится WhisperX – и что было до него

Этот урок продолжает предыдущий. В уроке про streaming ASR в проде мы сравнивали три способа превращать живое аудио в текст, пока человек ещё говорит. WhisperX решает другую, более узкую задачу: он расшифровывает готовую запись – файл, который у вас уже есть, – и делает это с двумя качествами, которых обычный Whisper сам по себе не обеспечивает. Первое – точный таймкод для каждого слова. Второе – метка говорящего для каждого слова. WhisperX – пакетный (batch) инструмент, а не потоковый, и именно этот факт определяет его место в системе. (Для случая живых субтитров, когда транскрипт создаётся и транслируется зрителям в реальном времени, смотрите вместо этого урок про раздачу субтитров на стороне SFU.)

Начнём со слова расшифровка (transcription) – это преобразование записанной речи в текст. Автоматическое распознавание речи (automatic speech recognition, ASR) – технология, которая выполняет эту задачу. OpenAI Whisper, выпущенный в 2022 году под лицензией MIT, – это open-source ASR-модель, к которой большинство команд обращаются в первую очередь: она бесплатна для использования на собственных серверах, поддерживает 99 языков и хорошо справляется с акцентами и фоновым шумом (Radford et al., 2022). Однако Whisper создан для ответа на один вопрос – какие слова были произнесены? – и плохо справляется с двумя другими.

Первый вопрос, на который он отвечает плохо: когда именно было сказано каждое слово? Whisper выдаёт таймкод для каждого фрагмента текста, но, как известно, эти таймкоды дрейфуют – иногда на несколько секунд, – а таймкод для каждого отдельного слова он не предоставляет вовсе (Bain et al., 2023). Второй вопрос, на который он не может ответить вообще: кто это сказал? Whisper расшифровывает диалог двух людей как сплошной текст, не распознавая, что речь вели двое.

WhisperX, представленный Максом Бейном и коллегами из оксфордской Visual Geometry Group в 2023 году (Bain et al., 2023), призван ответить на все три вопроса. Он сохраняет Whisper в качестве движка, распознающего что было сказано, и дополняет его механизмами, определяющими когда и кто.

Три стадии, которые добавляет WhisperX

Понятнее всего представить WhisperX как Whisper с тремя дополнительными этапами, выполняющимися последовательно. Представьте конвейер: сырое аудио поступает слева, проходит через четыре станции и справа выходит полностью размеченный по времени транскрипт с метками говорящих.

Первая станция – детектор речевой активности (voice activity detector, VAD): небольшая и недорогая модель, задача которой – определить, какие фрагменты аудио содержат речь, а какие – тишину, музыку или шум. Вторая станция – сам Whisper, преобразующий речь в текст. Третья – forced alignment (принудительное выравнивание): отдельная модель, которая привязывает каждое слово к его точному местоположению во времени. Четвёртая – диаризация: модель, определяющая количество различных голосов и распределяющая аудиофрагменты по каждому из них. Пройдёмся по каждой, потому что каждая добавляет реальную пользу и при этом может сломаться по-своему – а эти сбои нужно учитывать заранее.

Рисунок 1. WhisperX – это Whisper плюс три дополнительные стадии: детектор речевой активности выделяет речь, forced alignment корректирует тайминги, а диаризация определяет говорящих.

Стадия один – детекция речевой активности и трюк «Cut & Merge»

Вспомним один жёсткий факт о Whisper из урока про стриминг: модель обрабатывает аудио фиксированными блоками по 30 секунд, потому что именно на такой длине она обучалась. Чтобы расшифровать часовой подкаст, обычный Whisper последовательно проходит по записи 30-секундным окном. Проблема в том, что это окно должно где-то начинаться, и часто оно оказывается посередине слова. Слово, разрезанное пополам на границе окна, распознаётся с ошибкой, а хуже того – Whisper использует собственные неточные таймкоды, чтобы определить, куда сдвинуть окно дальше. В результате ошибка в одном окне смещает следующее, и промахи накапливаются. Технический термин для такого накопления – дрейф (drift) (Bain et al., 2023).

WhisperX устраняет догадки, анализируя аудио до обработки Whisper. Сначала он запускает детектор речевой активности (VAD), который строит карту – где именно начинается и заканчивается речь по всей записи. Теперь WhisperX может разрезать аудио только в паузах, не пересекая слова.

Но есть тонкость – и она, пожалуй, самая умная часть конструкции. Whisper работает лучше всего, когда ему предоставляется около 30 секунд контекста, поэтому подача ему множества крошечных односекундных фрагментов речи означала бы расточительство его возможностей и снижение точности. Поэтому WhisperX применяет метод, описанный в статье как Cut & Merge («разрезать и склеить»). Он разрезает любой отрезок речи, превышающий 30 секунд, в самой тихой точке – там, где минимальна вокальная активность, то есть в самом безопасном месте для разреза. Затем он склеивает короткие соседние фрагменты, пока каждый объединённый кусок не приблизится к 30 секундам, но не превысит их (Bain et al., 2023). В результате получается набор фрагментов, каждый длиной около 30 секунд, начинающихся и заканчивающихся тишиной.

Это даёт сразу два преимущества. Поскольку ни один фрагмент не зависит от таймкода другого, их больше не нужно обрабатывать последовательно – Whisper может расшифровывать их параллельно, батчами, что значительно ускоряет процесс. А поскольку каждый фрагмент отрезан по тишине и подобран под «сладкое пятно» Whisper, расшифровка становится точнее – с меньшим дрейфом и меньшим количеством галлюцинированных слов (Bain et al., 2023). В статье указано, что батчевый подход обеспечивает примерно двенадцатикратное ускорение по сравнению с последовательным скользящим окном Whisper (Bain et al., 2023). Текущая open-source версия идёт ещё дальше – её README сообщает о скорости до 70 раз быстрее реального времени на большой модели, дополнительно используя более быстрый движок инференса faster-whisper, тот самый рантайм на CTranslate2, с которым мы встречались в уроке про стриминг (WhisperX GitHub, 2026).

Замечание о двух значениях скорости

Вы встретите два разных утверждения о скорости WhisperX, и оба верны. В статье указана производительность в 11,8× по сравнению с оригинальной скоростью Whisper на GPU NVIDIA A40 – близко к «двенадцатикратному» ускорению, которое авторы выносят в заголовок, – и, что важно, без потери качества расшифровки; тот же VAD Cut & Merge, включающий батчинг, ещё и снизил WER и уменьшил количество галлюцинаций (Bain et al., 2023, Таблицы 2 и 3). «70× реального времени» на текущей странице GitHub – более поздняя инженерная оценка, объединяющая этот батчинг с ускорением от faster-whisper, измеренная относительно другого базиса (WhisperX GitHub, 2026). Ни одна из цифр не ошибочна – они измеряют разные вещи. Честный вывод: WhisperX превращает запись, которую обычный Whisper расшифровывает медленно, в ту, что обрабатывается во много раз быстрее – а конкретный множитель зависит от вашего GPU, размера модели и выбранного размера батча.

Стадия два – forced alignment: привязка каждого слова к звуку

Это стадия, благодаря которой WhisperX получил своё название и основную причину существования. После того как Whisper распознал слова, WhisperX запускает по тому же аудиофрагменту вторую, более компактную модель, чтобы определить точное время начала и конца каждого слова. Эта техника называется forced alignment – принудительное выравнивание.

Идею проще всего понять по аналогии. Представьте, что у вас есть текст песни и аудиозапись, и вы хотите точно отметить момент, когда произносится каждое слово – как это делает караоке-устройство, подсвечивая строки в такт музыке. Вы не угадываете слова – вы уже знаете их из текста. Вам остаётся только определить тайминг: сопоставить известный текст с известным звуком. Эта задача сопоставления и называется forced alignment, и она намного проще и точнее обычной расшифровки, потому что ответ на вопрос «что было сказано» уже известен.

WhisperX использует модель из семейства wav2vec2, обученную распознавать отдельные звуки речи – фонемы – в аудиофайлах. По умолчанию для английского языка применяется стандартная модель wav2vec2, обученная на 960 часах речи из аудиокниг: исследование показало, что именно она демонстрирует наибольшую стабильность (Bain et al., 2023). Модель анализирует аудио и для каждого короткого отрезка оценивает вероятность каждой фонемы. Затем WhisperX применяет к этой карте оценок динамическое выравнивание по времени (dynamic time warping) – алгоритм, находящий оптимальный временной путь, сопоставляющий последовательность фонем из транскрипта Whisper со звуковым сигналом, – и определяет начало первой фонемы слова и конец последней как таймкоды этого слова (Bain et al., 2023).

Выигрыш проявляется наглядно. В статье используется тест на сегментацию слов: предсказанное слово засчитывается, только если его временное окно перекрывает размеченное человеком окно с допуском 200 мс («коллар») и текст слова совпадает точно. На этом тесте на телефонной речи (корпус Switchboard) WhisperX показывает 93,2% точности (precision) и 65,4% полноты (recall) против 85,4% и 62,8% у собственных таймкодов Whisper; на более сложном аудио совещаний (корпус AMI) – 84,1% и 60,3% против 78,9% и 52,1% у Whisper (Bain et al., 2023, Таблица 2). Проще говоря: обычный Whisper пропускает или смещает гораздо больше границ слов и даже уступает по точности на AMI модели поменьше – wav2vec2. Поэтому WhisperX запускает отдельную стадию выравнивания, а не полагается на таймкоды Whisper. Для караоке-субтитров, подсветки клипов или перемотки на точную секунду найденной фразы этот разрыв – и есть весь продукт.

Рисунок 2. Forced alignment сопоставляет известные слова с известными звуками, привязывая каждое слово от грубой посегментной догадки к его реальному положению во времени – 93,2% точности на телефонной речи при колларе 200 мс против 85,4% у одного Whisper.

Подвох forced alignment, на который вы можете наткнуться

У forced alignment есть один режим сбоя, который необходимо учитывать при проектировании. Модель wav2vec2 распознаёт только звуки обычных слов. Когда Whisper расшифровывает что-то, что не является стандартным словарным словом – например, число в цифрах вроде «2014», сумму вроде «£13.60», символ или слово на языке, не поддерживаемом выравнивателем, – у него нет фонем для сопоставления, и он не может корректно разместить этот токен. В этом случае WhisperX берёт таймкод ближайшей фонемы из транскрипта (Bain et al., 2023), из-за чего в иначе плотной временной привязке оказываются слова, привязанные лишь приблизительно. Если ваш продукт требует идеальной пословной синхронизации – например, юридический транскрипт с таймкодами на цифрах, – обязательно тестируйте его на аудио, насыщенном числами и именами, поскольку именно там выравнивание незаметно деградирует.

Вторая, смежная осторожность: модель выравнивания wav2vec2 менее устойчива к шуму, чем сам Whisper. На чистом студийном аудио таймкоды получаются отличными, но на шумном телефонном звонке они деградируют быстрее, чем сама расшифровка (Towards AI, 2026). Чистое аудио на входе – чистый тайминг на выходе, поэтому команды, запускающие WhisperX на записях звонков, часто предварительно очищают аудио с помощью методов из урока про подавление шума в реальном времени.

Стадия три – диаризация: определение, кто говорил

Третья стадия отвечает на вопрос кто это сказал? Это процесс, называемый диаризацией: разделение аудиозаписи на сегменты по говорящему и пометка каждого сегмента анонимным ярлыком – например, «Говорящий A» или «Говорящий B». Диаризация не присваивает голосам имена – она лишь разделяет их. Привязку реальных имён выполняет позже ваше приложение – обычно запрашивая у пользователя или сопоставляя с известными голосами.

Эту работу WhisperX поручает отдельной специализированной библиотеке pyannote.audio – open-source стандарту диаризации говорящих (WhisperX GitHub, 2026). Pyannote прослушивает всю запись, определяет количество различных голосов и строит таймлайн активности каждого из них. Затем WhisperX выполняет простое финальное сопоставление: для каждого слова, уже размеченного по времени на втором этапе, он определяет, в сегмент какого говорящего попадает его временной интервал, и присваивает этому слову соответствующую метку говорящего (WhisperX GitHub, 2026). Поскольку временные метки слов заданы точно, такое сопоставление по перекрытию надёжно – что наглядно демонстрирует необходимость именно такого порядка этапов. Именно точная временная привязка делает возможным корректное определение говорящего.

Диаризацию как отдельную глубокую тему мы разбираем в следующем уроке про Pyannote в проде; здесь важно лишь, как WhisperX её подключает и во что она обходится в эксплуатации.

Две вещи, которые подставят вас при диаризации

Первое – трение. Модель диаризации pyannote закрытая (gated): чтобы её скачать, нужно создать бесплатный аккаунт на Hugging Face, принять условия использования и передать токен доступа WhisperX вместе с флагом --diarize (WhisperX GitHub, 2026). Это одноразовая настройка, но она удивляет команды, ожидавшие, что pip install – это и есть конец, и становится повторяющейся жалобой в трекере проекта (WhisperX GitHub issues, 2026). Заложите на это десять минут и задокументируйте работу с токеном: если он истечёт в продакшене, метки говорящих тихо перестанут работать.

Второе – ограничения. Диаризация – самая медленная и требовательная к памяти стадия конвейера, и при этом наименее надёжная. Она сбоит, когда двое говорят одновременно – перекрывающаяся речь действительно сложна для обработки, – и может как объединить два похожих голоса в один, так и разделить один голос на два. Авторы WhisperX прямо указывают, что диаризация «далека от идеала» (WhisperX GitHub, 2026). Поэтому в любом продукте, где ошибка в определении говорящих критична – например, в медицинской или юридической записи, – предусмотрите возможность ручного исправления меток.

Весь конвейер одним взглядом

Четыре стадии работают как цепочка, и каждая поддерживает следующую. Таблица ниже – это ментальная модель, которую стоит держать в голове.

СтадияЧто делаетМодельЧто вы получаетеГде ломается
1. Детекция речевой активностиНаходит речь; режет и склеивает в куски ~30 с по тишинеpyannote VADБыстрее, точнее, батчируемый входОчень тихую речь можно пропустить
2. РасшифровкаПревращает речь в слова, параллельными батчамиWhisper (через faster-whisper)Текст сказанногоРедкие слова, сильные акценты, шум
3. Forced alignmentПривязывает каждое слово к его началу/концуwav2vec2Пословные таймкоды в пределах коллара 200 мсЧисла, символы, неподдерживаемые языки
4. ДиаризацияДелит и помечает аудио по говорящемуpyannote.audioМетка «Говорящий A / B» на каждом словеПерекрытие и похожие голоса; нужен HF-токен

Источники: Bain et al. (2023); WhisperX GitHub (2026).

WhisperX против облачного API

Реальное решение, перед которым стоит большинство команд, – не «WhisperX или обычный Whisper», а «развертывать WhisperX самостоятельно или платить облачному API вроде Deepgram или AssemblyAI, который предоставляет пословные таймкоды и диаризацию «из коробки»». Урок про стриминг подробно разобрал эти API; вот сравнение, важное именно для задачи «таймкоды и говорящие».

КритерийWhisperX (self-host)Облачный API (Deepgram / AssemblyAI)
Модель стоимостиТолько время GPU; софт бесплатенПлата за час (~$0,15–$0,46/ч стриминг; batch-тарифы разнятся)
Пословные таймкодыForced alignment (93,2% точности на телефонной речи)Встроены, настроены вендором
Диаризацияpyannote, бесплатно, нужен HF-токенВстроена, один флаг
Где данныеОстаются на ваших серверахУходят в облако вендора
СтримингНет – только batchДа
Усилия на настройкуGPU, CUDA, модели, токен, тюнингAPI-ключ
Языки99 расшифровка; ~30 с выравниванием «из коробки»Зависит от вендора
Когда выбиратьТребования on-prem; высокий ровный объём; полный контрольБыстро запуститься; рваный объём; нужен стриминг

Источники: Bain et al. (2023); репозиторий WhisperX на GitHub (2026); цены Deepgram и AssemblyAI – как в уроке о стриминге.

Лицензия – важная часть этого решения. WhisperX выпущен под разрешительной лицензией BSD-2-Clause, Whisper – под MIT, а код pyannote – под MIT; все они позволяют использовать их в коммерческих продуктах бесплатно (WhisperX GitHub, 2026). Единственный нюанс – закрытые веса модели pyannote, которые бесплатны, но требуют принятия их условий. Так что «бесплатно» – правда, со звёздочкой: бесплатный софт, бесплатные модели, но вы платите за GPU и за инженера, который всё это поддерживает.

Разбор на цифрах – во что реально обходится self-host WhisperX

Цифры в абстракции не решают вопрос бюджета, поэтому перейдём к реальным расчётам. Допустим, вам нужно обработать 2000 часов записанного аудио в месяц – например, сеть подкастов, библиотека курсов или архив записанных консультаций – и получить пословные таймкоды и метки говорящих для всего этого материала. Это batch-задача: файлы уже есть, поэтому задержка не важна – важны только пропускная способность и стоимость.

WhisperX на большой модели работает до 70 раз быстрее реального времени на производительной видеокарте, но возьмём осторожную, реалистичную оценку – 30 раз быстрее реального времени с учётом диаризации и выравнивания, поскольку эти этапы медленнее самой расшифровки (WhisperX GitHub, 2026). При скорости 30× реального времени один GPU обрабатывает 30 часов аудио за один час реального времени:

2 000 часов аудио ÷ 30 часов на GPU-час = 66,7 GPU-часов в месяц.

Арендуйте подходящий облачный GPU примерно за 1 доллар в час – и вот уже счёт за вычисления:

66,7 GPU-часов × $1,00/час = около $67 в месяц – за вычисления.

Это поразительно дёшево, и поэтому self-host WhisperX выглядит привлекательным для равномерного batch-объёма. Но вычислительная стоимость – не всё. Добавьте разовую инженерную работу по настройке конвейера, постоянное сопровождение, GPU, который приходится держать частично простаивающим, чтобы сглаживать пики нагрузки, и время людей на выборочную проверку диаризации. Для сравнения: облачный batch-API по цене, скажем, $0,20 за час выдал бы 2 000 × $0,20 = $400 в месяц – в шесть раз дороже вычислений WhisperX, но без необходимости строить и поддерживать собственный конвейер.

Урок зеркален уроку про стриминг. Для batch-работы при стабильном объёме почасовая стоимость вычислений WhisperX значительно ниже, чем у облачного API, и точка безубыточности смещается в сторону self-Hosting’а гораздо раньше, чем в случае со стримингом – ведь вы не платите за простаивающие GPU, ожидающие живых звонков, а используете их на полную мощность, обрабатывая очередь. Облачный API остаётся выгоднее при низком или неравномерном объёме, если у вас нет ML-инженера или если нужно быстро запустить решение уже на этой неделе.

Частая ошибка – доверять таймкодам на сложных токенах

Самая болезненная ошибка, которую мы видим с WhisperX, – считать каждый пословный таймкод одинаково надёжным. На демо с чистой речью тайминг выглядит безупречно, поэтому команды строят фичи – кликабельный транскрипт, движок субтитров, нарезчик клипов, – полагая, что время каждого слова точно определено. Потом приходит реальное аудио, полное имён, дат, телефонов и других собственных имён, и часть этих токенов вообще не была выровнена. Они заимствуют таймкод соседнего слова, и кликабельный транскрипт прыгает не на ту секунду, а авто-клип начинается посреди слова.

Решение – различать, какие слова были действительно выровнены, а какие откатились. WhisperX это помечает: у выровненного слова есть чёткие начало и конец; у невыровненного – границы совпадают с границами сегмента. Сделайте так, чтобы система учитывала это различие: для всех случаев, где точность важна или результат виден пользователю, относитесь к откатному таймкоду как к приблизительному и, при необходимости, расширяйте границы клипа или помечайте слово на проверку. Тестируйте на аудио, намеренно насыщенном числами и именами, до того, как начать доверять таймингу в продакшене, а не после первой жалобы.

Как выбрать – четыре вопроса

Решение сводится к четырём вопросам – по порядку.

Первый: вам действительно нужны пословный тайминг или метки говорящих? Если нужна только простая расшифровка сказанного – обычный Whisper или faster-whisper проще, и WhisperX можно пропустить целиком. WhisperX выполняет две дополнительные стадии, только когда важно когда или кто.

Второй: должно ли аудио оставаться на ваших серверах? Для медицинских, юридических или иных регулируемых записей, которые нельзя передавать в стороннее облако, self-host WhisperX зачастую – единственный вариант, соответствующий требованиям комплаенса, и эксплуатационные расходы – это плата за соблюдение этих требований.

Третий: работа batch или живая? WhisperX работает только в режиме batch – он обрабатывает готовые файлы. Если вам нужен пословный тайминг в живом потоке, WhisperX не подойдёт; вам потребуются потоковые решения из предыдущего урока или собственная схема потокового выравнивания.

Четвёртый: есть ли у вас команда и объём? WhisperX вознаграждает стабильный высокий объём обработки и инженера, способного поддерживать GPU-конвейер. При низком или нерегулярном объёме или отсутствии ML-команды облачный API, который предоставляет таймкоды и диаризацию по одному API-ключу, окажется дешевле в итоге и значительно быстрее в запуске.

Рисунок 3. Четыре вопроса, заданные по порядку, направляют большинство проектов «таймкоды и говорящие» к нужному инструменту.

Где здесь Фора Софт

Мы встраиваем расшифровку в видеопродукты, которые поставляют наши клиенты, и выбор между WhisperX и облачным API возникает постоянно. WhisperX мы использовали там, где требовались пословный тайминг и распознавание говорящих на собственной инфраструктуре клиента – например, для поисковых транскриптов в OTT- и surveillance-архивах, для записей с разделением говорящих в телемедицинских консультациях и для субтитров с пословным таймингом в e-learning-библиотеках. Основной вывод: модель – это лёгкая часть. Сложная – интеграция: извлечь чистое аудио с нужной частотой дискретизации, корректно обработать откаты выравнивания, чтобы таймкоды не «врали» даже при тихой речи, управлять токенами Hugging Face и закрытыми моделями, не нарушая работу деплоя, и честно оценить, оправдывает ли объём данных клиента использование GPU-конвейера вместо облачного API. Мы принимаем решение по этим четырём критериям, а не руководствуемся тем, какой инструмент сейчас в моде.

Главное

  • WhisperX добавляет к Whisper три этапа: детекцию речи, forced alignment и диаризацию.
  • Forced alignment повышает точность тайминга до 93,2% на телефонной речи против 85,4% у стандартного Whisper.
  • Метод «Cut & Merge» по тишине позволяет использовать батчевую расшифровку – до 70× быстрее реального времени.
  • Диаризация (через pyannote) определяет говорящих, но требует токен от Hugging Face и последующей ручной проверки.
  • Выравнивание может давать сбои при обработке чисел, символов и неподдерживаемых языков – обязательно тестируйте на сложных аудиофрагментах.
  • При стабильном объёме батчей самохостинг WhisperX значительно дешевле использования облачного API.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.