Технологии

Что такое ASR и TTS

Два противоположных процесса, которые постоянно путают: речь в текст и текст в речь. Разбираем требования к ресурсам у каждого и что определяет качество.

ASR — automatic speech recognition, звук на входе, текст на выходе. То же самое иногда называют STT (speech-to-text); это синонимы, разные аббревиатуры одного процесса.

TTS — text-to-speech, текст на входе, звук на выходе.

Направления противоположные, и путаница между ними в поиске стабильна: половина запросов «tts распознавание речи» ищет на самом деле ASR.

#Сравнение по ресурсам

ASR (речь → текст) TTS (текст → речь)
Размер модели от десятков мегабайт до нескольких гигабайт от единиц мегабайт до гигабайтов
Работа на процессоре компактные версии — да, быстрее реального времени лёгкие движки — да; клонирование голоса — нужна видеокарта
Что определяет качество запись: микрофон, шум, число говорящих модель и данные голоса
Задержка критична при диктовке — да, при расшифровке архива — нет в диалоге — да
Типовая ошибка не то слово, слипшиеся реплики неверное ударение, неправильная интонация

Модели распознавания одного семейства обычно выпускают в нескольких размерах — от нескольких десятков миллионов параметров до полутора миллиардов. Разница в точности между крайними вариантами на чистой записи невелика, на шумной — существенна. Практическое правило: берите модель по качеству записи, а не по мощности компьютера.

#Что на самом деле определяет качество расшифровки

Не модель, а запись. Один микрофон, четыре человека в переговорной, гул кондиционера — и любая модель даст посредственный результат. Улучшения дают, в порядке отдачи:

  1. отдельный микрофон на каждого говорящего или петличка на основного;
  2. запись без сжатия с потерями либо с высоким битрейтом;
  3. отсечение тишины и посторонних шумов до распознавания — этим занимается детектор речевой активности;
  4. только потом — модель побольше.

Отдельная задача — понять, кто именно говорил; распознавание её не решает, для этого нужна диаризация.

#Где путают

Заблуждение первое: TTS и STT — это одно и то же с разными названиями. Противоположные направления. Запомнить помогает расшифровка: text-to-speech — из текста в речь.

Заблуждение второе: распознавание речи и голосовое управление — синонимы. Распознавание даёт текст. Что с этим текстом делать — задача следующего звена: языковой модели или разбора команд. Как это выглядит в связке с личным архивом — в разборе голосового доступа к памяти.

Заблуждение третье: локальное распознавание требует мощной видеокарты. Компактные модели распознавания работают на процессоре быстрее реального времени, то есть час записи расшифровывается меньше чем за час. Видеокарта нужна для больших моделей и для потоковой работы с минимальной задержкой.

Заблуждение четвёртое: синтез речи — решённая задача. Разборчивость — да. Ударения в русском остаются проблемой: «замок», «дорога», «мою» без контекста читаются неверно, и лечится это словарями исключений и разметкой, а не сменой модели.

#Частые вопросы

#Сколько занимает расшифровка часа записи локально?

Зависит от модели и железа; ориентир для компактной модели на современном процессоре — быстрее реального времени, то есть меньше часа. Точную цифру даст только замер на вашей машине и вашей записи.

#Можно ли распознавать речь в реальном времени?

Можно, но это другой режим работы: модель обрабатывает поток окнами и уточняет уже выданный текст. Точность потоковой расшифровки ниже, чем у обработки готового файла целиком, потому что модель не видит будущего контекста.

#Что делать с записями, где говорят по-русски и по-английски вперемешку?

Брать многоязычную модель и не форсировать один язык принудительно. Переключение внутри фразы остаётся сложным случаем для любой модели — ошибки будут на границах.

#Где хранить расшифровки, чтобы потом искать?

В текстовом виде рядом с исходной записью и с отметкой времени — тогда по тексту можно искать, а по метке возвращаться к аудио. Практическая сторона описана в разборе голосовых заметок и расшифровки.

Остальные термины — в глоссарии терминов ИИ.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт