Яндекс.Метрика

Asterisk Эксперт

Asterisk Эксперт с 31 мая по 1 июня

Количество
свободных мест

8 Записаться

Курс по Asterisk

Интенсив-курс по Asterisk с 26 мая по 30 мая

Количество
свободных мест

3 Записаться

Курсы по Mikrotik MTCWE

Курсы по Mikrotik MTCWE с 20 октября по 23 октября

Количество
свободных мест

6 Записаться
Архитектура сервиса синтеза речи: gRPC, пайплайны, нейронные сети
34
Доклад
Стас Шишкин
Архитектура сервиса синтеза речи: gRPC, пайплайны, нейронные сети

Архитектура сервиса синтеза речи: gRPC, пайплайны, нейронные сети

Введение 

 

     Данный материал посвящён обзору синтеза речи, основным элементам его пайплайна, а также технологиям, применяемым в современных сервисах преобразования текста в голос. Отдельно рассматриваются задачи, связанные с обработкой голоса и речи, решаемые в рамках платформы Tinkoff VoiceKit. Доклад ориентирован на специалистов, которые не слишком глубоко погружены в машинное обучение, но работают с телефонией и смежными направлениями.


 

Эволюция голосовых технологий в Tinkoff

 

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

     Параллельно появилась идея разрабатывать и синтез речи «под ключ» внутри компании. В 2018 году была создана первая «MVP-версия» синтеза. Годом позже, в 2019-м, состоялся релиз голосового помощника «Олег» в приложении Tinkoff — ключевой вехой стало объединение технологий синтеза, распознавания и инфраструктуры в единый продакшн.

     В том же году были представлены модули для Asterisk, дающие возможность интегрировать синтез и распознавание в эту телефонию на базе разработок Tinkoff. Решение опубликовано в open source и продолжает активно использоваться.

     В 2021 году началось развитие технологии voice conversion (преобразование голоса) и голосовой биометрии на основе нейросетей. Подобные инструменты находят применение в различных сервисах, включая колл-центры и системы безопасности.


 

Основные направления использования синтеза речи

 

  1. Исходящие звонки (роботы-обзвонщики).
  2. Входящие звонки (роботы, понимающие речь абонента).
  3. Озвучивание аудиокниг.
    С современными моделями удаётся добиться довольно выразительного звучания, но при чтении художественных текстов зачастую требуется ручная донастройка произношения.
  4. Озвучивание статей или контента на сайтах.
    Например, в одном из спецпроектов появилась кнопка, позволяющая прослушать текст публикации целиком.

 

Техническая схема синтеза

 

  1. Разбиение текста на фразы
    Текст бьётся на короткие предложения или фразы для повышения эффективности и возможности кэширования. Если в запросах часто повторяются одни и те же части, кэширование позволяет избежать повторной нагрузки на модели и ускоряет ответ.
  2. Нормализация
    Приведение текста из письменной формы к разговорной. Раскрываются числительные, аббревиатуры, транслитерированные слова. Учитывается грамматический контекст (падеж, род, число). Нормализация — одна из самых сложных частей пайплайна: ошибки на этом этапе сразу бросаются в уши слушателю.
  3. Восстановление лингвистической информации : пасстановка пауз (где они уместны), предсказание акцентных слов и ударений, определение амбиграфов (единообразное чтение неоднозначных слов).

    Для этого применяется векторизация слов (например, модель BERT) и несколько параллельных нейросетевых моделей.

  4. Акустическая модель
    Получив текст с метками пауз и акцентами, модель восстанавливает интонацию, скорость произношения, ритм речи и другие параметры, формируя «программу» звучания.
  5. Vocoder
    Преобразует сгенерированную акустической моделью программу в цифровой аудиосигнал, восстанавливая фазовые характеристики. По сути, он «оживляет» синтезированную речь.
  6. Перекодирование / ресэмплинг
    Если необходимо, аудио подгоняется под нужные параметры (битрейт, формат) и отправляется получателю по частям (стриминг).

 

Кэширование и учёт ошибок

 

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

     Если во входных данных присутствуют ошибки или бессвязные фрагменты (например, «java.lang.Object.ru.tinkoff.amshans.if java.lang.Boolean java.lang.Object …»), синтезируетcя именно то, что было прислано. Система не исправляет и не фильтрует подобные искажения.


 

Управление параметрами речи

 

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

     Для задания параметров применяется SSML (Speech Synthesis Markup Language), позволяющий, например, в одной и той же фразе менять голос, тембр, громкость и расстановку пауз.


 

Архитектура сервиса

 

  1. Сервинг нейросетевых моделей. Работает под управлением Kubernetes и выполняется преимущественно на GPU. Формирует батчи запросов, чтобы эффективно загружать ресурсы. Может использовать популярные open-source решения: Triton Serving, TensorFlow Serving и т.д.
  2. gRPC и потоковая передача. Выбран формат gRPC для возможности стриминга — выдачи аудио порциями по мере готовности синтезированных фрагментов.
  3. Реализация на Go. Большое число параллельных операций и интенсивная работа с текстом удобны на Go. Язык также упрощает внедрение gRPC и порог входа для разработчиков.
  4. DAG (Directed Acyclic Graph). Для каждого запроса строится граф модулей, по которому движутся входные фразы. Элементы графа работают параллельно, но сохраняется строгая последовательность обработки от текста к аудио.

 

Технологии Tinkoff VoiceKit

 

  • Собственное STT (Speech-To-Text).Высокое качество для русского языка (и с недавних пор для английского), особенно в задачах колл-центров.
  • Голосовая биометрия. Позволяет идентифицировать пользователя по голосу.
  • Готовые решения для интеграции с Asterisk. Открытые модули синтеза и распознавания, дающие широкие возможности по настройке в среде Asterisk.
  • Voice Conversion. Технология преобразования голоса, которая позволяет брать интонацию и особенности речи одного спикера и воспроизводить их голосом другого. Уже показала существенный отрыв от open-source аналогов по качеству. Потенциально планируется интеграция в решения для телефонии, коллекшена и другие продукты, где важно сохранять узнаваемость и эмоциональную окраску речи.

     Дополнительные материалы, примеры работы Vocoder’ов и результаты тестирования доступны на сайте Tinkoff VoiceKit. Там же можно протестировать доступный функционал синтеза и распознавания.


 

Заключение

 

     Синтез речи в Tinkoff прошёл путь от эксперимента в колл-центре до комплексного решения, способного обслуживать масштабные задачи в области голосовых технологий. Адаптированные под телефонию Asterisk модули, собственные модели синтеза и распознавания, а также новые разработки вроде voice conversion и голосовой биометрии дают широкие возможности для создания современных и эффективных голосовых сервисов.

 

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

Таймкоды
Показать еще..
Свернуть..
Ежегодная конференция по Asterisk 2025!

Билеты уже в продаже!

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

Наши
клиенты

Посмотреть все
Спасибо !
Мы свяжемся с Вами в ближайшее время
Проверка номера

Проверка номера

Быстро узнать мобильного или городского оператора. Впишите номер

Мы проверили номер

+7 846 254 51 02

МТС (с 2016)

Повторить