TTS и STT
tts и stt — синтез и распознавание речи
STT превращает запись речи в текст, а TTS — текст в звучащую речь. Вместе они лежат в основе транскрипции, дубляжа и голосовых интерфейсов. Качество зависит не только от модели, но и от записи, языка, сегментации, словаря и проверки результата.
Коротко
Speech-to-Text (STT) распознаёт речь и выдаёт текст; временные метки доступны не в каждой системе. Text-to-Speech (TTS) синтезирует речь по тексту. В голосовом помощнике они могут образовать цепочку
STT → языковая модель → TTS, где каждый этап добавляет собственную задержку и возможные ошибки. Есть и модели, которые работают с голосом напрямую, без такой явной цепочки.
Что делает STT
STT, ASR или распознавание речи принимает аудиосигнал и возвращает транскрипцию. В зависимости от системы результат может включать:
- текст;
- временные метки слов или сегментов;
- определение языка;
- разделение по говорящим;
- оценку уверенности;
- знаки препинания и нормализацию чисел.
Это разные задачи. Модель может верно распознать слова и ошибиться в разделении спикеров или времени.
Что делает TTS
TTS превращает текст в аудио. Современные системы моделируют не только фонемы, но и темп, паузы, ударения, интонацию и особенности голоса.
Вход может включать:
- обычный текст;
- выбранный голос;
- язык и стиль;
- фонетическую подсказку;
- разметку пауз и ударений;
- образец голоса, если клонирование разрешено.
Хорошая дикция не гарантирует естественную драматургию. Длинный текст обычно требует редакторской разметки и прослушивания.
Как работает STT
Упрощённая цепочка выглядит так:
- Аудио приводится к поддерживаемому формату и частоте дискретизации.
- Сигнал разбивается на кадры и превращается в спектральные признаки или подаётся в обучаемый аудиоэнкодер.
- Модель связывает акустическое представление с текстовыми токенами.
- Декодер выбирает последовательность слов с учётом языка и контекста.
- Пунктуация и временные метки могут появляться при генерации или на отдельных этапах обработки — это зависит от системы.
Плохой микрофон, эхо, музыка, наложение голосов и редкие имена могут влиять сильнее, чем разница между соседними моделями.
Как работает TTS
Одна распространённая схема:
- Текст нормализуется: числа, сокращения и символы превращаются в произносимую форму.
- Модель строит языковое и фонетическое представление.
- Акустическая часть предсказывает ритм, высоту и спектральные признаки.
- Вокодер превращает представление в звуковую волну.
Архитектуры отличаются, а некоторые модели объединяют этапы. Для пользователя важнее итог: разборчивость, естественность, стабильность голоса и контроль произношения.
Наглядный пример
Представим, что редакция готовит русскую версию интервью.
Сначала STT делает транскрипцию с таймкодами и разделением спикеров. Редактор сверяет имена и места, где люди говорят одновременно. Затем перевод адаптируется под длину реплик. TTS озвучивает каждую роль, после чего звукорежиссёр выравнивает паузы и громкость.
Если сразу отправить сырую транскрипцию в синтез, ошибки распознавания превратятся в убедительно произнесённые ошибки. Проверка между этапами экономит больше времени, чем попытка исправить финальный микс.
Потоковый и пакетный режим
Пакетная обработка получает готовый файл или текст целиком. У модели больше контекста, а задержка менее критична.
Потоковый режим (streaming) работает по мере поступления аудио или генерирует звук кусками. Он нужен для диалога, но приходится балансировать задержку и стабильность: предварительная расшифровка может измениться после следующей фразы. Уже проигранный синтезированный звук исправить задним числом нельзя.
Для голосового интерфейса измеряют не только время модели, а весь путь от конца реплики пользователя до начала понятного ответа.
Как выбирать STT
Сравнение проводят на собственных записях и отдельно по важным группам:
- язык, акцент и переключение языков;
- телефон, студия и шумная улица;
- короткие команды и длинная речь;
- имена, адреса и профессиональные термины;
- один голос и перекрывающиеся спикеры.
Для обычной транскрипции используют WER — число замен, пропусков и вставок на число слов эталона — или аналогичный CER по символам. Из-за вставок WER может превышать 100%. Важные имена и числа оценивают отдельно. Ошибка в предлоге и ошибка в дозировке имеют разный вес.
Как выбирать TTS
Полезен слепой тест на фразах, которых не было в примерах. Слушатели оценивают:
- разборчивость;
- естественность;
- верные ударения;
- стабильность тембра;
- эмоциональное соответствие;
- артефакты на длинных фразах;
- сходство, если используется разрешённый клон.
Средняя оценка не должна скрывать критические ошибки в именах, числах и предупреждениях.
Облако и локальный запуск
Облачный сервис проще масштабировать и обновлять, но он обрабатывает аудио вне вашей инфраструктуры и имеет меняющиеся тарифы и ограничения. Локальная модель даёт больше контроля, но требует собственного оборудования, обновлений и защиты.
Для чувствительных записей проверяют согласие, регион обработки, срок хранения, использование данных для обучения и доступ операторов. Эти условия не выводятся из качества голоса.
Голосовое клонирование
Клонирование может работать в TTS, когда новый текст озвучивается похожим голосом, или при преобразовании уже записанной речи. Техническая возможность воспроизвести тембр не даёт права использовать чужой голос. Рабочий процесс стоит строить вокруг согласия владельца голоса, согласованной цели и понятных правил хранения образцов. Точные юридические требования зависят от использования и страны.
Голос также нельзя считать надёжным паролем: синтез и запись позволяют имитировать человека. Для важных распоряжений нужна независимая проверка.
TTS и STT в ComfyUI
Голосовые этапы можно встроить в workflow через поддерживаемые API или дополнительные узлы. Сам ComfyUI не задаёт единую модель распознавания или синтеза. Перед установкой расширения проверяют источник, зависимости и передачу аудио внешнему сервису.
Для воспроизводимости вместе с графом сохраняют название модели, язык, параметры сегментации, формат аудио и версию ноды. Не все эти сведения автоматически попадают в workflow: часть может потребовать отдельной записи. Секреты остаются в переменных окружения или защищённом хранилище.
Частые ошибки
- Считать STT готовой стенограммой. Имена, числа и говорящие требуют проверки.
- Измерять только средний WER. Критические сущности могут ошибаться чаще.
- Озвучивать сырой письменный текст. Устная фраза требует другого ритма и длины.
- Смешивать языки без теста. Автоопределение может переключиться не там.
- Оценивать TTS по одной красивой реплике. Длинный материал выявляет дрейф голоса и пауз.
- Клонировать голос без согласия. Это правовой и этический риск, а не настройка качества.
Частые вопросы
Whisper — всегда лучший STT?
Нет универсально лучшей модели. Whisper удобен для локального и многоязычного распознавания, но другой сервис или специализированная модель может лучше работать на конкретном языке, канале и словаре.
Можно ли работать в реальном времени?
Да, если модель и инфраструктура поддерживают потоковый режим или достаточно быструю обработку сегментов. Итоговая задержка включает сеть, детектор конца реплики, LLM и TTS.
Как исправлять редкие слова?
Помогают качественная запись, языковая подсказка, словарь или подсказки предпочтительных слов, а также постпроверка по справочнику. Набор возможностей зависит от движка.
Главное
STT помогает получить текст из записи, а TTS — озвучить подготовленный текст. Между ними остаётся редакторская работа: сверить имена и числа, поправить фразы, прослушать результат. Для выбора модели полезнее свои записи и нужный язык, чем один красивый демонстрационный голос.