Выбор движка синтеза речи: права на голос, код и веса модели

Когда провайдер запускает голосовую техподдержку, синтезатор речи часто воспринимают как второстепенную деталь: выбрали голос, подключили API — и робот заговорил. На практике выбор движка влияет на стоимость минуты, задержку ответа, требования к серверу и юридические риски.

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

Наши клиенты — это небольшие и средние интернет-провайдеры. Мы знаем, какой объём голосового трафика генерирует их абонентская база, и поэтому понимаем, какое «железо» необходимо для синтеза и транскрибации. Именно связку «транскрибация + синтез» стоит рассматривать, потому что оба этих компонента задействованы в голосовом пайплайне. Если уходить на опенсорсные решения, нет смысла делать что-то одно.

Из-за этого практически нет альтернативы, кроме использования GPU начального уровня для этих целей. Важно понимать, за сколько окупится покупка собственной GPU для этих операций, если в качестве альтернативы рассматривать облачный синтез. Мы считаем, что хорошая окупаемость — это 6–8 месяцев.

Первый путь — облачный синтез

Самый быстрый способ начать — подключить облачный сервис, например Yandex SpeechKit. Не нужно готовить сервер, скачивать модели и заниматься обновлениями: текст отправляется через API, сервис возвращает готовое аудио.

На момент подготовки материала синтез SpeechKit API v1 стоит 1 342 ₽ за миллион символов с НДС. При обычном темпе русской речи — около 900 символов в минуту — это ориентировочно 1,2 ₽ за минуту готового аудио.

Это удобно для пилота и небольшого объёма, но при росте нагрузки появляется постоянная переменная стоимость. Не надо забывать, что транскрибацию тогда тоже логичнее делать на Яндексе, что увеличивает затраты примерно в 2,5–3 раза, поскольку обычно транскрибируются ещё и разговоры после перевода звонка оператору.

Второй путь — локальная коммерческая модель

Следующий вариант — Silero. Он запускается внутри инфраструктуры оператора и не тарифицирует каждый символ.

Для рассматриваемого коммерческого варианта представитель компании Silero в Telegram ответил нам, что минимальная лицензия стоит 15 000 ₽ в месяц. Заложенный в неё объём синтеза очень большой, на порядки перекрывает потребности интернет-провайдера среднего размера. Бессрочная лицензия — 1 000 000 ₽. Более дешёвого коммерческого тарифа нет.

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

Почему бесплатная модель не всегда готова к внедрению

При коммерческом использовании движка и голоса в открытом TTS нужно проверять не один пункт, а всю цепочку:

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

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

Поэтому мы проверяли каждый вариант на фразах техподдержки с числами, адресами, тарифами и фамилиями. Скорость измеряли после прогрева модели, отдельно от загрузки весов в память.

Скорость синтеза в наших тестах

RTF — это отношение времени синтеза к длительности готовой речи. Чем меньше значение, тем лучше. Например, RTF 0,5 означает, что модель говорит в два раза быстрее реального времени.

Модель Среда теста RTF после прогрева Скорость
Silero v4_ru, kseniya CPU, 4 потока, 24 кГц 0,163 6,1× быстрее реального времени
Piper / Sherpa, Irina CPU, 4 потока 0,053 18,8× быстрее
StableTTS / Vosk TTS, speaker 15 RTX 4060, steps=6 0,030 33× быстрее
Supertonic 3, F1 CPU, steps=8 0,409 2,4× быстрее
Kokoro, Света RTX 4060, GPU 0,037 27× быстрее
Chatterbox Multilingual RTX 4060 2,85 в 2,8 раза медленнее
Qwen3-TTS 0.6B, клонирование RTX 4060 4,56 в 4,6 раза медленнее

Это не единый лабораторный рейтинг: модели запускались на разном железе и с разными настройками. Таблица показывает практический порядок скоростей в наших сценариях.

Что показали тесты на реальных фразах

Silero

Silero хорошо работает на процессоре. В нашем тесте голос Kseniya синтезировал 20,7 секунды речи за 3,4 секунды.

Проблема — числительные. В исходном виде цифры могут произноситься с ошибками или выпадать. Но если заранее заменить цифры словами, например 8955 на «восемь девять пять пять», результат становится стабильнее.

Piper и Sherpa

Piper и Sherpa — одни из самых быстрых вариантов для CPU. Их можно использовать даже без видеокарты.

Но скорость не решает вопрос прав. Нам понравился русский голос Irina, однако разработчик не публикует однозначных коммерческих условий использования этого голоса. Мы направили запрос правообладателю, но за неделю ответа не получили. Поэтому считать этот голос подтверждённо пригодным для коммерческого внедрения нельзя.

StableTTS / Vosk TTS

StableTTS / Vosk TTS показал очень высокую скорость на GPU и понятные условия Apache-2.0.

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

Поэтому этот вариант с GPU мы всё же оставили для дальнейшего изучения.

Supertonic

Supertonic даёт чистый, приятный голос.

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

Ещё один нюанс — веса Supertonic опубликованы под OpenRAIL-M. Коммерческое применение допускается, но с дополнительными условиями.

Chatterbox Multilingual

Chatterbox поддерживает русский язык, клонирование голоса и опубликован под MIT. С правами на код и веса ситуация прозрачная.

Но модель оказалась слишком медленной для нашего сценария: 16,8 секунды аудио генерировались 47,8 секунды. Для диалога техподдержки это создаёт заметную задержку перед ответом робота. Также были заметные проблемы с ударениями, фамилиями и названиями улиц.

Qwen3-TTS

Qwen3-TTS хорошо подходит для клонирования и подготовки собственного синтетического голоса.

Но как основной онлайн-синтезатор для техподдержки он слишком тяжёлый: в нашем тесте работал примерно в 4,6 раза медленнее реального времени.

Почему мы остановились на Kokoro

Kokoro оказался наиболее сбалансированным вариантом:

  • русский фронтенд обрабатывает ударения, букву «ё» и часть омографов;
  • есть женские голоса Света и Маша;
  • модель работает локально;
  • на RTX 4060 после прогрева показала RTF 0,037 — около 27× быстрее реального времени;
  • код опубликован под Apache-2.0, веса — под OpenRAIL;
  • в карточке модели описано происхождение голосов: студийные актёры с согласием на использование.

Kokoro не отменяет подготовку текста. Числа лучше нормализовать заранее, критичные ударения и названия улиц — проверять на реальных фразах техподдержки. Но по сочетанию русского фронтенда, качества голоса, скорости, локального запуска и условий использования эта модель оказалась наиболее практичной. Ошибки есть, но их кратно меньше, чем у других бесплатных моделей, и их можно скорректировать. Например, если модели нужно проговорить «улица Льва Толстого», она звучала как «улица Льва тОлстого». Но если заменить на «улица Льва Толстова», произношение корректное.

Локальный синтез имеет смысл вместе с локальной транскрибацией

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

Звонок → VAD → локальная транскрибация → логика робота
→ локальный синтез → ответ абоненту

Если вся цепочка работает только на CPU, распознавание и синтез начинают конкурировать за ресурсы с телефонией, интеграциями и записью разговора. На обычном сервере это обычно ограничивает систему одним полноценным одновременным разговором: следующий абонент получает заметную задержку.

Практический ориентир для небольшого и среднего интернет-провайдера: локальный речевой контур становится рациональным, когда есть хотя бы видеокарта уровня RTX 3050 с 6 ГБ VRAM. Она позволяет вынести на GPU транскрибацию и синтез, а процессор оставить для телефонии, интеграций и бизнес-логики. Стоимость такой карты на текущий момент — в районе 30 тыс. рублей.

Вывод

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

Мы считаем, что качество должно быть приемлемым. Если его удаётся достичь бесплатными решениями, это хорошо для экономики проекта.

Сейчас мы остановились на Kokoro как наиболее практичной и сбалансированной модели для работы на доступных графических ускорителях уровня хотя бы RTX 3050 с 6 ГБ VRAM у интернет-провайдеров с максимум 10–15 одновременными линиями. Она позволяет не опасаться претензий от правообладателей.

Хотите оценить, какой речевой контур подойдет вашему контакт-центру? Оставьте заявку — разберем стоимость, скорость, права на голос и требования к серверу.