Что это решает
Голос нужен там, где текст меняется каждый день: статус заказа в телефонном роботе, уведомления в приложении, обучающий ролик, который перевыпускается после каждой правки регламента, аудиоверсия рассылки. Диктор на каждую правку — это ставка за смену, студия и два дня согласований. Синтез убирает эту зависимость и даёт озвучку по запросу за секунды. Взамен приходится вести словарь ударений, следить за нормализацией чисел и мириться с ровной интонацией на длинных текстах.
Как устроено
Конвейер
- Нормализация текста. Числа, даты, суммы, единицы, сокращения, аббревиатуры, латиница внутри русской фразы разворачиваются в слова. «12 500 ₽», «т. е.», «ООО», «USB-C» — каждый случай решается правилом. Ошибка на этом шаге слышна мгновенно и звучит как брак.
- Ударения и омографы. Русский требует отдельного шага: «замок», «дорога», «стоит» без контекста читаются двояко. Многие движки принимают знак ударения прямо в тексте, и это основной рычаг управления.
- Преобразование в фонемы. У части систем явный шаг с фонемным словарём, у сквозных нейросетевых он спрятан внутри модели.
- Акустическая модель. Из фонем и просодии получается спектрограмма: что звучит, как долго, с какой интонацией.
- Вокодер. Спектрограмма превращается в звуковую волну.
- Кодирование. PCM или wav для телефонии и монтажа, mp3 или opus для сети.
Классы движков
| Класс | Что даёт | Чем платят |
|---|---|---|
| Облачные API | самое естественное звучание, много голосов и языков, поддержка разметки, ничего не разворачивать | текст уходит наружу, оплата за объём, сетевая задержка, зависимость от доступности |
| Локальные быстрые (Piper, Silero, RHVoice) | работают на процессоре быстрее реального времени, офлайн, без оплаты за символ | голоса проще, интонация ровнее, языков меньше |
| Клонирующие и выразительные (XTTS, F5-TTS и родня) | голос по короткому образцу, больше эмоций | тяжелее по железу, менее стабильны от прогона к прогону, юридические риски |
Управление произношением
Разметка SSML задаёт паузы, скорость, произношение по буквам, чтение чисел, иногда — замену произношения слова целиком. Поддержка у движков разная, и проверяется она по документации конкретного, а не по общей идее стандарта. Кроме разметки настраиваются выбор голоса, темп, высота, формат и частота дискретизации.
Задержка и пропускная способность
Для диалога и телефонии решающая метрика — время до первого звука: синтез отдаёт первый кусок, не дожидаясь конца фразы, и робот начинает говорить, пока досчитывает остаток. Для пакетной озвучки важнее коэффициент реального времени: сколько секунд обработки уходит на секунду звука.
Телефонный канал работает на 8 кГц с узкополосным кодеком. Голос, роскошный в наушниках, в трубке может звучать хуже простого голоса, специально подготовленного под телефонию. Слушать кандидатов надо в том тракте, где они будут работать.
Кэш и заранее нарезанные фразы
В большинстве продуктовых сценариев текст состоит из постоянных кусков и небольшой переменной части. «Ваш заказ номер», «будет доставлен», «спасибо за обращение» — это статика, которая синтезируется один раз и лежит файлами. Переменная часть — имя, сумма, дата, адрес — синтезируется на лету или собирается из заранее озвученного набора цифр и месяцев.
Такая сборка решает сразу три задачи: убирает задержку на постоянных фразах, срезает счёт за символы в облаке и даёт стабильное звучание, которое не меняется от прогона к прогону. Ключ кэша строится по паре «текст плюс параметры голоса», иначе после смены темпа в настройках система продолжит отдавать старые файлы. Стык статики и динамики слушают отдельно: разная громкость и разная длина паузы на склейке слышны лучше, чем любой дефект внутри фразы.
Клонирование голоса
Технически нужно от нескольких секунд до нескольких минут чистой записи. Юридически нужно письменное согласие носителя голоса с перечнем сценариев использования. Голос сотрудника, который уволился, продолжать использовать без отдельного разрешения нельзя, и это вопрос не вкуса, а претензии.
Полезные сценарии
- Телефонный робот: статичные фразы синтезируются заранее и лежат файлами, переменная часть (имя, сумма, дата) синтезируется на лету с приоритетом на низкую задержку.
- Озвучка обучающих и продуктовых роликов, текст которых правится еженедельно и не переживёт повторную запись у диктора.
- Аудиоверсия статей и рассылок для тех, кто слушает за рулём и в дороге.
- Локальные офлайн-уведомления на устройстве, в киоске или на терминале, где нет и не будет интернета.
- Черновая озвучка для монтажа: хронометраж и ритм проверяются до того, как студия оплачена.
- Локализация готового видео: перевод дорожки на второй язык без пересъёмки и без второго диктора в штате.
Ограничения
- Ударения и омографы в русском — основной источник позора. Имена, топонимы и отраслевые термины требуют словаря исключений, который ведётся руками и пополняется по жалобам.
- Числа, единицы, номера договоров и артикулы читаются непредсказуемо. Надёжнее разворачивать их в текст на своей стороне, чем надеяться на нормализатор движка.
- Эмоции ограничены даже у лучших моделей, а на длинном тексте интонация плывёт между кусками. Ровный результат получается нарезкой на фразы и сшивкой с контролем пауз.
- Облачный синтез означает задержку и передачу текста наружу, а текст часто содержит имя и сумму заказа.
- Оплата по символам заставляет считать заранее: месячный объём, доля повторяющихся фраз, кэш готовых файлов. Без кэша счёт на типовых уведомлениях растёт впустую.
- Лицензии открытых моделей и голосов различаются, и часть из них не допускает коммерческого использования.
- Живой диктор выигрывает там, где нужна подача и игра. Синтез хорош на утилитарном тексте и на объёмах, которые человеком не покрыть.
- Звучание голоса не законсервировано: обновление версии движка может изменить тембр и темп, а вместе с ними — узнаваемость бренда.
Как проверить результат
- Собрать «злой список» из собственных текстов: фамилии клиентов, адреса, суммы, аббревиатуры, номера, названия продуктов. Прогнать через всех кандидатов один и тот же список.
- Устроить слепое сравнение: одинаковые файлы без подписей, три-четыре человека, оценка по естественности и по разборчивости отдельно.
- Замерить время до первого звука и коэффициент реального времени на целевом железе и при целевом размере текста.
- Прослушать результат в реальном тракте: телефонная линия, дешёвый динамик, наушники, шумная машина.
- Прогнать длинный текст целиком, а не одну показательную фразу: дефекты интонации и дыхания вылезают на третьей минуте.
- Посчитать стоимость на месячном объёме символов и отдельно посчитать, какая доля фраз статична и уходит в кэш.
- Зафиксировать версию модели и голоса, а после каждого обновления повторить прогон того же «злого списка» и сравнить с сохранёнными файлами.
Правило: движок выбирается по трём измерениям на собственном материале — задержка до первого звука, стоимость месячного объёма и слепое прослушивание в целевом тракте.
