Она больше не говорит как робот: как технология CyberVoice научилась клонировать любые голоса

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

Результат синтеза можно разделить на три составляющие:

  1. Текстовое представление;
  2. Клонируемый голос;
  3. Стиль чтения (интонация, тембр, эмоциональная окраска и другие характеристики).

В основе работы CyberVoice лежит собственный подход, основанный на нейронных сетях. Их особенность и преимущество для решения задачи такого рода заключается в возможности приближать любую сложную функцию. Тем не менее задача преобразования письменной речи в аудио является слишком трудоёмкой задачей даже для нейронных сетей. Поэтому сейчас в работе над синтезированием речи используется сжатое представление звука – спектрограмма. Аудио переводятся в спектрограммы с помощью преобразования Фурье.

Далее аудио проходят определённую стадию подготовки, и начинается обучение нейронной сети умению сопоставлять текст с соответствующими спектрограммами. После обучения такая сеть может генерировать (предсказывать) спектрограммы по заданному тексту, которые впоследствии возвращаются в формат аудио, например, с помощью алгоритма Гриффина-Лима с некоторыми искажениями.

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

Следующей итерацией стало добавление вокодера. В общем смысле, вокодер – это система, которая переводит акустические признаки сигнала в речь. В нашем случае акустическими признаками выступают спектрограммы, а в качестве вокодера – нейронная сеть, которая обучается переводить спектрограммы в аудио. Таким образом, мы достигаем более натурального звучания по сравнению с алгоритмом Гриффина-Лима.

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

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

Благодаря таким способам обучения нейронных сетей, как Transfer Learning, Fine Tuning, а также собственным разработкам, нам удалось сократить количество минимально необходимых данных для обучения наших моделей до одной минуты и достичь оригинального качества звучания речи на высокой частоте дискретизации.

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