Голосовые системы

Методика контрольного прогона ASR

Десять русских записей со словами и аббревиатурами из технических команд. Три синтетических голоса Piper произносят термины так, как они звучат в русской фразе. Эталон использует исходное латинское написание. В наборе по две записи на чистом звуке и при SNR 20, 12, 6 и 0 дБ. Шум синтетический: розовый, имитация вентилятора и низкочастотный нестационарный фон.

Воспроизводимый вход сохранён в audio/ и corpus.json. WAV — mono PCM16 16 кГц. Для каждого файла клиент Compare передаёт один полный диапазон через существующую диагностику и использует одинаковые Opus-пакеты для моделей. Фиксированный диапазон исключает влияние разбиения VAD на сравнение. Исходный PCM проверен по SHA-256. Для моделей worker сравниваются и хеши PCM после подготовки входа. LinTO не возвращает хеш входа модели.

WER и CER считаются расстоянием Левенштейна. Как в Compare, нормализуются NFC, регистр, пунктуация и пробелы. CER исключает пробелы. Цифры, буква «ё» и латинское написание сохраняются. Поэтому «джейсон» вместо JSON считается ошибкой записи термина. Термины дополнительно оценены по точному совпадению нормализованных токенов. Общие WER и CER делятся на суммарное число эталонных слов и символов по всем записям.

Чистое время берётся из timings.asr.worker_decode_ms диагностического ответа. Для LinTO это переданный backend показатель recognition_ms. Загрузка модели, очередь, кодирование и сетевой обмен учитываются отдельно. У каждой успешной записи один вызов модели. В отчёте приведены медиана и максимум для десяти разных входов. Это не оценка хвостов распределения и не сравнение на живой речи.

Победитель качества определяется по наименьшему WER среди моделей с полным покрытием, при равенстве по CER, затем по медиане времени. Отдельно сравниваются точное написание терминов и компромисс качества со скоростью. Сырые ответы, включая неуспешные попытки, сохраняются в raw.jsonl. Итоговая таблица использует прогоны после поставки Unified. Предварительные результаты семи моделей в before-rollout.jsonl в рейтинг не входят. Прогон Unified на CPU с исходным WAV и FP32 вынесен в unified-cpu.json. Нормализованные показатели вычисляет score.py.

Исходник

Скачать Markdown · К материалам исследования