Первоначально опубликовано на странице dasha.ai/ru-ru/blog/multi-speaker-text-to-s.. Дмитрием Обуховым, исследователем машинного обучения

В этой работе простыми словами объясняются такие задачи машинного обучения, как синтез речи (преобразование текста в речь, TTS), клонирование голоса, преобразование голоса, перенос просодии.

Введение

Синтез речи (Text-to-speech, TTS) — это формирование речевого сигнала из печатного текста. В некотором смысле, это противоположность распознаванию речи.

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

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

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

Что вы пришли сюда для

В схеме, рассмотренной на рис. 1, модель синтеза речи генерирует запись голоса одного заданного говорящего. Это динамик, на котором ранее обучалась модель.

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

Рассмотрим ситуацию, в которой мы хотим обучить ИИ говорить голосами нескольких говорящих.

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

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

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

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

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

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

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

Хорошо, наш TTS говорит разными голосами. Круто, но это еще не все!

Синтез речи невозможен с голосами, отсутствующими в данных, на которых обучается модель. Другими словами, модель может говорить только теми голосами, которые она слышала (на которых обучалась).

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

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

Один из подходов к преобразованию голоса состоит в том, чтобы распознать лингвистическую составляющую исходной аудиозаписи и воспроизвести ее заданным голосом. По этой причине такие подходы называются ASR+TTS. Однако полного распознавания текста обычно не происходит; вместо этого синтез принимает в качестве входных данных некоторое промежуточное представление. Кроме того, генеративно-состязательные сети (GAN) и вариационные автоэнкодеры (VAE) нашли широкое применение в задаче преобразования голоса.

До сих пор мы говорили только о двух компонентах речевого аудио — тексте, т. е. лингвистической информации, и информации о говорящем.

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

Аналогичная проблема может возникнуть и в части Voice Conversion, когда требуется передать не уникальный эталонный звуковой голос, а стиль из заданного аудио. Класс этих задач называется Конверсия эмоционального голоса.

Вывод

Я дал описание задач, которые считаю основными в области многодикторного синтеза речи.

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