Пару месяцев назад мы публиковали статью про то, как получили 3.3% WER для русского ASR на CPU с GigaAM — главный тезис тогда был «специализация бьёт универсальность». Замеры в той статье шли на пяти TTS‑фрагментах из аудиокниг. Всё дало идеальные 3,3% WER. С тех пор мы перемерили обе модели на реальных продакшен‑записях и часть прошлых выводов здесь уточняем.
Кандидата у нас по‑прежнему два: SberDevices GigaAM v3-e2e‑rnnt и OpenAI Whisper large‑v3-turbo. Приложение оффлайновое — корпоративные пользователи диктуют текст, облачные сервисы вроде Yandex SpeechKit или Whisper API им запрещены политикой безопасности. По публичным метрикам GigaAM выглядит сильнее, и новые бенчмарки мы рассчитывали как подтверждение прошлого выбора.
Подтверждения не случилось. По дороге мы попали в три ловушки, которые ждут любого, кто меряет ASR на собственном корпусе. Каждая из них переворачивает итоговый вывод: по опубликованным замерам GigaAM выглядит сильнее Whisper на 5–7 pp, как только мы сами померили на тех же данных — обе модели идут вровень, а на шумных записях Whisper выходит вперёд. Качество материала и эталонов в итоге решает больше, чем выбор самой модели.
Финальный выбор у нас такой:
GPU‑сборки: наша дообученная Whisper‑large‑v3-turbo, 9.43% AGG WER на 6 публичных RU‑тестах (21 тыс. слов) против 13.25% у базовой turbo и 10.79% AGG у лучшего публичного RU‑дообучения
bond005/podlodka-turbo. Модель опубликована на huggingface:coriollon/whisper-large-v3-turbo-russian.CPU‑сборки: GigaAM v3-e2e‑rnnt. Больше чем в 20 раз быстрее Whisper turbo CPU при сопоставимом качестве на коротких репликах. Whisper turbo на CPU не успевает за реальным временем аудио — для онлайн‑диктовки не годится.
Дальше — путь от первых замеров до этого выбора.
Корпуса, на которых мы мерили
Podlodka — лёгкая часть. 20 тестовых клипов из подкаста (тестовая подборка bond005/podlodka_speech, 1140 эталонных слов), чистая студийная речь, два диктора по очереди. Мы использовали эту подборку как базовый замер на «студийном» сегменте.
YouTube — тяжёлая часть. 34-минутный ролик Креосан про зону отчуждения Фукусимы, два ведущих ходят по заброшенному поселку, фоном громкоговорители, лает собака, гудит ветер. Мы через ffmpeg нарезали 8 двухминутных фрагментов, эталоны взяли из автоматических субтитров YouTube — это решение нам потом ещё аукнется.
Qantas — контрольный чистый. Подкаст про аварию рейса Qantas 32, 3 клипа по 3 минуты, эталоны тоже из субтитров YouTube — использовался для проверки методологии.
Методика измерения WER
Методика: Метрика — jiwer.process_words после BasicTextNormalizer. Замеры на RTX 4090 Laptop, faster‑whisper 1.2.x на CTranslate2, GigaAM через onnx-asr на CUDAExecutionProvider. Везде beam_size=5, temperature=0, condition_on_previous_text=True (default faster‑whisper).
Podlodka: где обе модели работают одинаково
Базовый Whisper large‑v3-turbo на 20 тестовых клипах без настройки:
=== AGG WER: 0.0728 (1140 ref words) === ops: sub=44 del=24 ins=15
7.28%. На студийном звуке мы рассчитывали на 7% WER, и базовая модель сразу в эту цифру уложилась.
Дальше нас интересовали два вопроса. Первый — можно ли выжать «бесплатный» прирост качества через декодерные настройки faster‑whisper. Второй — во сколько pp обходится наш собственный потоковый режим, когда аудио режется на чанки по VAD‑границам и каждый чанк отдаётся в whisper отдельным вызовом.
Для первого мы взяли четыре опции faster‑whisper, каждая из которых где‑то рекомендована: перебор температур (temperature_fallback) для тяжёлого аудио, condition_on_previous_text для длинных сессий с одним диктором, расширение beam с 5 до 10 на случай, если декодеру не хватает удачных гипотез. Плюс контрольный прогон с отключённым no_repeat_ngram_size, чтобы проверить, не отрезает ли этот фильтр что‑то полезное. Для второго прогнали ту же нарезку, что у нас крутится в проде: Silero VAD с max_speech_duration_s=4.
Конфигурация | Что меняли | AGG WER |
|---|---|---|
A vanilla |
| 7.28% |
B + перебор температур |
| 7.28% |
C + condition_on_previous_text | подаём предыдущий сегмент как | 7.28% |
G beam=10 | расширили поиск с 5 до 10 | 7.46% |
F VAD‑chunked 4s | Silero VAD с | 13.68% |
Четыре «декодерных» варианта (A, B, C, G) дали 7.28–7.46% — фактически одно и то же. Перебор температур срабатывает только при низком avg_logprob, а на чистых студийных клипах декодер уверенный — повтор ни разу не запустился, так что эту опцию на нашем корпусе мы фактически не проверили. То же с C: condition_on_previous_text подаёт текст предыдущего сегмента в следующий, но клипы короче 30 секунд транскрибируются одним сегментом, и «предыдущего» просто нет. Реально проверен только G — расширение beam с 5 до 10 удваивает время и даже чуть ухудшает результат, потому что верхние гипотезы у уверенного декодера и так совпадают. F (потоковая нарезка) — минус 6 pp относительно базовой модели. Это был первый сигнал, что чанкование длинного аудио дорого, и мы проверили его отдельно на длинных клипах.
Для длинных клипов вопрос был такой: при пакетной обработке файла длительностью несколько минут что лучше — отдать модели весь файл и пусть она сама едет по нему своим внутренним 30-секундным окном (полное аудио), или нарезать через VAD на естественные «реплики между паузами» и кормить по одной? Второй вариант кажется логичным, потому что VAD‑чанки совпадают с речевыми единицами и позволяют распараллелить инференс. Параметр pad_ms — это минимальная длительность тишины, по которой VAD считает реплики разными чанками.
Конфигурация | Как кормили модель | AGG WER |
|---|---|---|
Full‑audio |
| 8.07% |
Chunked pad=300ms | Silero VAD режет на чанки по паузам ≥300ms, каждый отдельным вызовом | 13.86% |
Chunked pad=500ms | то же, пауза ≥500ms | 14.47% |
Тот же звук, тот же эталон, тот же нормализатор — разница 6 pp. Прежде чем интерпретировать, проверили, что это не артефакт методики. Первая мысль — чанки покрывают только речевые куски, паузы между ними в инференс не попадают, может, разница как раз из‑за этого. Сверили: VAD‑чанки плюс участки тишины между ними дают исходную длину файла с погрешностью <50 мс. Для проверки гипотезы от всех чанков склеивались в один текст и сравнивались с полным эталоном, как и в варианте с полным аудио. Так что 6 pp — реальная разница. Проверили и гипотезу — condition_on_previous_text. На полном аудио Whisper подаёт текст предыдущего окна в следующее, а на отдельных вызовах — нет. Вот что получилось: 5 длинных клипов того же подкаста (55–160 секунд, 1140 слов), включённый и выключенный флаг на одинаковом полном аудио — 7.98% против 8.07%, разница 0.09 pp в пределах статистического шума.
Виноваты сами разрывы. VAD‑чанкование физически рассекает речь на куски, и каждый вызов модель видит как изолированный фрагмент — без предыдущей и последующей аудио‑сцены, без естественной паузы по краям, без 30-секундного окна, в котором декодер привык работать. На стыках это даёт галлюцинации и потерю слов. В прошлой статье на Vosk и GigaAM мы наблюдали тот же паттерн и к разрывам естественной речи они так же чувствительны.
Практический вывод: в пакетной обработке длинного аудио нарезка на чанки не имеет смысла, в потоковом режиме платится −6 pp за то, что фраза ещё не завершена.
Прогнали те же 20 клипов через GigaAM v3-e2e‑rnnt:
=== AGG WER: 0.0789 (1140 ref words) === ops: sub=52 del=18 ins=20 wall=36.3s
7.89% против 7.28% у Whisper — статистически паритет.
На полном публичном датасете bond005/podlodka_speech (5889 слов) обе модели идут вровень: Whisper‑turbo даёт 7.06% WER, GigaAM v3-e2e‑rnnt — 6.98%, разница 0.08 pp — заметно ниже статистического шума. На четырёх эпизодах тестовой подборки Whisper чуть впереди (7.28% vs 7.89%), на полном датасете с дополнительными темами (бег, шахматы, антипаттерны разработки, производство лекарств) перевес перетекает к GigaAM на те же доли процента. В сухом остатке: выбор модели на студийной русской речи решает 0.5 pp, выбор набора данных — столько же.
Запомните это место: каждый раз, когда видите внушительный разрыв между моделями, проверьте, на одних ли клипах мерили и одинаковая ли методика замера.
YouTube: где начинается интересное
Тот же подход, 8 двухминутных фрагментов, 5 конфигураций:
Конфигурация | AGG WER | Время |
|---|---|---|
whisper‑turbo float16 beam=5 vad=off | 26.9% | 23s |
gigaam‑v3-e2e‑rnnt + Silero VAD chunks | 28.3% | 43s |
whisper‑turbo int8_float16 beam=5 vad=on | 29.3% | 24s |
whisper‑turbo float16 beam=5 vad=on | 30.6% | 30s |
whisper‑large‑v3 float16 beam=5 vad=on | 32.9% | 91s |
Whisper‑turbo с отключённым внутренним VAD оказался лучшим и по качеству, и по скорости — 26.9% AGG WER за 23 секунды на 17 минут аудио. GigaAM с Silero‑чанками отстал на 1.4 pp и почти не выиграл по скорости (43 с против 23 с) — на современном железе ONNX‑инференс уже не даёт того преимущества, которое GigaAM имела пару лет назад. Внутренний VAD Whisper ожидаемо хуже внешнего: с vad_filter=True платится 3–4 pp WER. Large‑v3 без turbo — дольше всех и хуже по качеству, что подтверждает прошлогодний тезис «turbo доминирует на русском».
На такой выборке нет очевидного победителя между Whisper‑turbo и GigaAM — разница 1–2 pp может быть и реальной, и шумом. Хочется разобрать, что именно эти 1–2 pp значат — и здесь начинается интересное.
Ловушка № 1: «улучшить» звук на входе
Запись шумная — естественная реакция применить шумоподавление и автоматическую регулировку усиления (AGC). Набор, который мы прогнали:
AGC -20 dBFS — нормализация уровня к -20 dBFS RMS. По умолчанию делается во всех голосовых стэках (WebRTC, Zoom).
HPF 80Hz + pre‑emphasis — фильтр верхних частот с порогом 80 Гц плюс предыскажение, поднимающее высокочастотные компоненты речи. Классический набор для ASR из эпохи MFCC‑фич.
noisereduce — популярная Python‑библиотека для шумоподавления через спектральные маски. Два режима — стационарный и нестационарный — плюс параметр агрессивности подавления.
AGC windowed adaptive — оконная AGC, перенастраивает усиление по коротким окнам аудио.
Compressor 4:1 — базовый инструмент звукорежиссёра.
VAD‑cut — вырезание фрагментов тишины до обработки моделью. Часто советуют как «оптимизацию».
Прогнали все на трёх клипах:
Метод | AGG WER | дельта к сырому |
|---|---|---|
сырое аудио (Whisper‑large‑v3-turbo float16, beam=5, vad_filter=False, condition_on_previous_text=True) | 26.11% | - |
DSP (HPF 80Hz + pre‑emphasis) | 24.84% | −1.3 |
Compressor 4:1 | 25.48% | −0.6 |
noisereduce stationary | 25.79% | −0.3 |
noisereduce non‑stationary | 25.90% | −0.2 |
noisereduce light (prop_decrease=0.4) | 26.96% | +0.9 |
AGC simple −20 dBFS | 32.24% | +6.1 |
AGC windowed adaptive | 33.40% | +7.3 |
VAD‑cut (вырезать тишину) | 34.04% | +7.9 |
VAD‑cut + AGC | 34.88% | +8.8 |

Девять методов поделились на две группы. Четыре варианта — DSP, оба noisereduce и Compressor — дали wash в пределах 1 pp от сырого аудио: ни заметной пользы, ни заметного вреда. Зато AGC в обоих вариантах и VAD‑cut просели на 6–9 pp. Самый поучительный случай — VAD‑cut. Кажется, что убрать тишину между фразами и дать модели плотный сигнал — сплошные плюсы. В результате минус 8 pp, на худшем клипе скакнуло с 40% до 47%. Пословное выравнивание объясняет почему:
REF: "велосипед притом дорогой" [пауза] "да это какой-то мотель сто процентов" HYP без VAD-cut: "Велосипед, притом, дорогой. Да, это какой-то мотель, 100%." HYP с VAD-cut: "велосипед притом дорогойда это какой-то мотель сто"
Без паузы декодер потерял границу предложения, склеил две фразы и на стыке съел слово «процентов». В обучающих данных Whisper тишина стоит между предложениями, модель опирается на неё как на структурный признак. AGC обоих видов фабрикует похожий артефакт по‑другому: усиливая тихие участки до уровня речи, она превращает фоновый шум в видимую декодеру речь, и тот допридумывает к ней слова.
С настройками можно поиграть — подобрать другую частоту среза HPF, выставить attack/release у компрессора, понизить степень сжатия. Мы пробовали, разница оставалась в пределах 0.5 pp от сырого.
Почему это происходит. Фоновые шумы и помехи уже присутствуют в обучающих данных обеих моделей. AGC и VAD‑cut сильнее всего сдвигают вход относительно того распределения, на котором модель тренировалась — отсюда их катастрофические +6 до +9 pp WER. Аккуратные методы — DSP‑фильтрации, лёгкий noisereduce, мягкий компрессор — сдвигают спектр меньше и выходят в wash.
Что делать. Не добавляйте предобработку по умолчанию. Каждый шаг сначала меряется на ваших данных, и если выигрыша нет — он в конвейер не попадает. Если очень хочется шумоподавления, прогоните сырое и обработанное аудио на 3–5 клипах и сравните WER. Самые опасные «улучшения» — AGC и VAD‑cut, на нашем корпусе они стоят почти 10 pp WER.
Ловушка № 2: один битый клип сдвигает итоговый WER на 5 pp
Один из восьми YouTube‑клипов, 08_hotel, стабильно давал 39–44% WER на всех конфигурациях. Открыли клип, открыли эталон, послушали — и оказалось, что первые 15 секунд субтитров лишние. Когда нарезали 08_hotel.wav через ffmpeg из полного видео, таймкод стартовой границы оказался позже, чем мы думали, когда писали эталон по субтитрам YouTube. Аудио и текст разошлись на ~15 секунд.
После правки картина по YouTube заметно изменилась:
Замер | Whisper turbo | GigaAM | дельта |
|---|---|---|---|
Исходный AGG по 3 клипам (с битым эталоном) | 30.50% | 37.08% | 6.6 pp |
AGG по 2 валидным клипам (718 слов) | 25.91% | 32.45% | 6.5 pp |
| 32.75% | 51.97% | 19.2 pp |
На этой выборке из 3 шумных клипов Whisper стабильно впереди GigaAM на 6–7 pp. Разрыв в качестве на 08_hotel после исправления вырастает с 6.7 pp до 19.2 pp. Один реверберированный клип скрывает реальную разницу между моделями в три раза, и если бы мы доверились исходному AGG из первой YouTube‑таблицы, мы бы записали «обе модели хороши» — и пропустили бы тот факт, что на сильной реверберации одна из них падает почти вдвое сильнее другой.
19 pp в пользу Whisper на самом тяжёлом клипе вероятнее всего объясняется обучающими данными. Состав корпусов моделей такой: Whisper тренировался на ~680K часов слабо контролируемых пар из веба, очень разнокачественных по акустике и языкам. GigaAM v3 — на ~700K часов неразмеченной русской речи в self‑supervised pretraining (HuBERT‑CTC) плюс ~4K часов размеченной для fine‑tuning. По типам материала v3 шире прошлых версий — туда подмешаны записи колл‑центров, музыки, голосовых сообщений, нестандартной речи — но всё в пределах русского распределения. Поэтому на чистом чтении GigaAM и сильнее. С сильной реверберацией и перекрывающимися голосами Whisper справляется заметно лучше — такие записи присутствовали в его обучающих данных, а в данных GigaAM почти нет.
Почему это происходит. Ручная нарезка аудио по тайм‑кодам и ручная транскрибация — два независимых процесса, между ними легко возникает рассинхрон в секунды.
Что делать. Прежде чем верить результату измерения WER на собственном корпусе, проверьте худший клип пословно. Если первые или последние слова эталона не появляются в гипотезе ни одной модели — у вас сдвиг, а не «плохая модель».
Ловушка № 3: на хорошем клипе треть «ошибок модели» — это ошибки аннотирования
07_capsule был нашим лучшим YouTube‑клипом, 12.1% WER. Пословный разбор выравнивания показал такую картину:
WER=0.121 sub=18 del=19 ins=6
Из 18 замен: 4 настоящих ошибки модели, около 8 наших ошибок при написании эталона, ещё 2 — раздельное написание сложных слов (нетронутый vs не тронутый) и около 4 — модальные формы. Примеры:
REF: "еле про лестницу паутины" ← мы написали то, что нам послышалось HYP: "еле пролез из-за паутины" ← в аудио сказано это REF: "оцелограф" ← мы записали с ошибкой HYP: "оцеллограф" ← модель тоже промахнулась, правильно «осциллограф» REF: "ричард ⊘ дреспини" ← мы тут что-то выдумали HYP: "ричард де креслини" ← модель ближе к правде
Когда вычитали эталон на контрольном чистом Qantas‑клипе (09_qantas_intro, 294 слова):
Сырой WER: 9.18% + нормализация чисел (пять → 5): 8.50% + исправление ошибок эталона: ~3% (после ручной вычитки)
Реальных ASR‑ошибок около трёх на 294 слова, настоящий WER порядка 1%. Остальные «ошибки модели» — опечатки транскрибации.
Почему это происходит. Эталон на YouTube‑клипах мы скопировали из автоматических субтитров и не вычитали. Пословный разбор даже лучшего клипа находит скрытых артефактов на те же 5pp.
Что делать. Проверять эталон перед тем, как делать выводы о моделях. Минимум — пословно сверить выравнивание лучшего клипа: 10 минут работы и страховка от ошибок и не верных выводов. Если корпус собирается надолго — брать публичные тестовые подборки или один раз внимательно прописать эталон вручную, без копирования без автоматических субтитров.
Что в итоге работает
После всех доработок и исследований рабочая прибавка к качеству собралась из мелочей в постобработке:
Доработка | Эффект |
|---|---|
Нормализация чисел (пять → 5) | −0.7 pp |
Тематический | −0.5 pp |
| −4 pp |
beam=5 + перебор температур | −0.4 pp |
Подмена IT‑терминов (питон → Python) | качество, не WER |
Сильнее всех помогло отключение внутреннего VAD Whisper и установка Silero VAD на уровне потокового конвейера. Внутренний фильтр режет короткие реплики жадно, внешний работает мягче. Минус 4 pp. Если включить весь стек одновременно, на тех же двух валидных YouTube‑клипах выходит 19.6% WER против 29.5% у дефолтной модели — минус 10 pp.
Что ушло из конвейера по сравнению с прошлой статьёй: Smart T5 — то самое пословное исправление через ruT5-ASR-large с фильтрацией по SequenceMatcher, на которое мы потратили пару итераций. На базовом Whisper base она удерживала результат от провала до 41% WER. На GigaAM v3 и нашей дообученной модели Whisper её эффект отрицательный — T5 «исправляет» правильный текст, заменяя слова на семантически близкие. Заменили на детерминированный шаг: нормализация чисел плюс подмена IT‑терминов через словарь и pymorphy3. Эффект те же 1–2 pp, задержка 0.02 мс вместо 80 мс, поведение предсказуемое.
Качество разобрали. Теперь — скорость. RTF (real‑time factor) — доля реального времени, которую тратит распознавание: RTF 0.1 значит, что минута аудио распознаётся за 6 секунд. Чем меньше, тем быстрее.
Бэкенд | Квантизация | RTF GPU | RTF CPU | RAM процесса | Размер модели |
|---|---|---|---|---|---|
Whisper turbo (прод GPU) | int8_float16 | 0.040 | 1.02 | 1.0 GB | 1.5 GB |
GigaAM v3-e2e‑rnnt (прод CPU) | ONNX float | 0.033 | 0.047 | 1.6 GB | 851 MB |
Whisper turbo | float16 | 0.043 | - | 1.5 GB | 1.5 GB |
Whisper large‑v3 | float16 | 0.112 | - | 1.5 GB | 2.9 GB |
Первые две строки — наши продакшен‑конфигурации, две нижние для контекста. На CPU GigaAM быстрее Whisper turbo больше чем в 20 раз (0.047 против 1.02). На практике это значит, что Whisper turbo на CPU тратит на минуту аудио чуть больше минуты — распознавание не успевает за реальным временем, для онлайн‑диктовки модель не годится. GigaAM на ту же минуту тратит меньше трёх секунд — отклик мгновенный. На GPU обе модели идут плотно: Whisper turbo int8_float16 0.040, GigaAM ONNX 0.033 — разница в пределах одного измерения. Отсюда распределение ролей: CPU‑сборка — GigaAM (там это единственный реалистичный вариант), GPU‑сборка — Whisper.
И вот тут пригодилась до обученная модель. Подход к обучению — материал отдельный, здесь только итоговые числа. Замеры наши: по 500 семплов на публичных тестовых наборах каждого датасета, та же BasicTextNormalizer, beam=5.
Модель | AGG WER на 6 RU тестах (21 тыс. слов) | дельта к базовой | дельта к GigaAM |
|---|---|---|---|
Наша дообученная (прод) | 9.43% | −3.82 pp | −0.95 pp |
GigaAM v3-e2e‑rnnt | 10.38% | −2.87 pp | — |
bond005/podlodka‑turbo | 10.79% | −2.46 pp | +0.41 pp |
openai/whisper‑large‑v3-turbo (базовая) | 13.25% | - | +2.87 pp |

По датасетам, с GigaAM в крайней колонке — наш замер на тех же 500 семплах:
Датасет | базовый turbo | наша модель | дельта | GigaAM v3-e2e‑rnnt |
|---|---|---|---|---|
Common Voice 21 RU | 6.00% | 5.33% | −0.67 | 4.32% |
RuLibriSpeech | 9.55% | 8.50% | −1.05 | 10.02% |
Golos farfield | 18.80% | 11.05% | −7.75 | 8.17% |
Golos crowd | 25.36% | 10.15% | −15.21 | 19.42% |
SOVA RuDevices | 17.06% | 13.61% | −3.45 | 12.94% |
Podlodka Speech | 12.08% | 11.11% | −0.97 | 10.32% |
Усредненный результат | 13.25% | 9.43% | −3.82 | 10.38% |

Картина по моделям получилась пёстрая. Базовый Whisper‑turbo на Golos сильно проседает (18.8% farfield / 25.4% crowd) — проблема не столько в речи, сколько в том, что эти датасеты содержат много цифр, а BasicTextNormalizer трактует их строго. Наша дообученная модель эту специфику нормализации усваивает: на Golos crowd она выигрывает у vanilla 15 pp, а у GigaAM — 9 pp. На чистом чтении (CV, Podlodka) GigaAM, наоборот, на 1 pp впереди нашей — она и училась преимущественно на студийной русской речи.
Чек‑лист: что делать, если выбираете русский ASR
Сначала чистите эталон, потом сравнивайте модели. Пословно сверьте выравнивание худшего и лучшего клипа — один битый эталон и результат хуже на ~5 pp на нашей подборке, а на лучшем клипе большая часть «ошибок модели» часто оказывается опечатками транскрибации.
Не добавляйте шумоподавление и AGC по умолчанию. На нашем шумном корпусе AGC и VAD‑cut ухудшают WER на 6–9 pp. На любом корпусе сначала меряйте улучшения на 3–5 клипах, прежде чем добавлять в прод.
Не режьте длинное аудио на чанки для пакетной обработки. Сами разрывы аудио на стыках стоят ~6 pp; полное окно всегда лучше.
Отключите внутренний VAD Whisper, используйте внешний Silero. Это самый дешёвый прирост в нашем конвейере:
vad_filter=Falseплюс Silero VAD на уровне стриминга.Постобработка дешёвая и работает. Нормализация чисел (
пять→5) даёт −0.7 pp, словарная подмена IT‑терминов чинит распознавание Python/Docker/Git. T5-коррекция при этом на сильных моделях не нужна — она «исправляет» правильный текст.Состав корпуса и качество эталона решают больше, чем выбор модели. На наших клипах разница между моделями держится в плюс‑минус 1 pp; разница между корпусами (студия vs YouTube с реверберацией) — 15–20 pp; разница между сырыми и вычитанными эталонами — 7 pp. До того как тратить недели на эксперименты с архитектурами и до обучениями, потратьте день на чистку эталонов и проверку, что ваш test набор данных действительно репрезентативен.
Само приложение и модели открытые. Страница проекта — borisovai.ru/ru/projects/scribe‑air, исходники и скрипты бенчмарков лежат в gitlab.dev.borisovai.ru/tools/speech‑to‑text.
