Научная статья на тему 'НЕЙРОННЫЕ СЕТИ СИНТЕЗА РЕЧИ ГОЛОСОВЫХ ПОМОЩНИКОВ И ПОЮЩИХ АВТОМАТОВ'

НЕЙРОННЫЕ СЕТИ СИНТЕЗА РЕЧИ ГОЛОСОВЫХ ПОМОЩНИКОВ И ПОЮЩИХ АВТОМАТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
561
118
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННЫЕ СЕТИ / ПОЮЩИЕ АВТОМАТЫ / СИНТЕЗ ГОЛОСА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пантюхин Д. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

NEURAL NETWORKS FOR SPEECH SYNTHESIS OF VOICE ASSISTANTS AND SINGING MACHINES

The paper presents an overview of recent publications on the use of neural network methods for speech synthesis. A brief introduction to neural network architectures for speech synthesis is given. Methods for creating a singing voice for voice assistants and singing machines are considered.

Текст научной работы на тему «НЕЙРОННЫЕ СЕТИ СИНТЕЗА РЕЧИ ГОЛОСОВЫХ ПОМОЩНИКОВ И ПОЮЩИХ АВТОМАТОВ»

Нейронные сети синтеза речи голосовых помощников и поющих автоматов

Пантюхин Д.В., старший преподаватель, Национальный исследовательский университет «Высшая школа экономики», Москва, Россия,

старший преподаватель, МИРЭА — Российский технологический университет, Москва, Россия, [email protected]

В работе представлен обзор публикаций последних лет по использованию ней-росетевых методов для синтеза речи. Дается краткое введение в нейросетевые архитектуры для синтеза речи. Рассмотрены методы создания певческого голоса для голосовых помощников и поющих автоматов.

• нейронные сети • поющие автоматы • синтез голоса.

1. ПРЕДСТАВЛЕНИЕ ЗВУКА И РЕЧИ

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

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

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

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

1 Подробное объяснение и визуализацию см., например, в https://habr.com/ru/post/140828/

2 Подробное объяснение и визуализацию см., например, в https://habr.com/ru/post/449646/

3

набор таких коэффициентов, изменяющихся во времени, можно представить двумерным массивом.

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

2. ЗАДАЧИ РАСПОЗНАВАНИЯ И АНАЛИЗА РЕЧИ

Задачи синтеза, создания речи неразрывно связаны с задачами анализа и распознавания. Многие архитектуры для синтеза речи содержат в себе части, обученные на задачах распознавания речи. Отметим важные направления в обработке речи3.

А) Распознавание речи. Это наиболее крупная и наиболее изученная категория задач. Многие другие задачи используют подходы, предложенные для распознавания речи.

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

4

ниями

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

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

4

Согласно категориям https://paperswithcode.com/area/speech

См. https://paperswithcode.com/datasets?task=speech-recognition

См. https://paperswithcode.com/task/visual-speech-recognition

См. https://paperswithcode.com/task/lip-to-speech-synthesis

См. https://paperswithcode.com/task/distant-speech-recognition

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

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

Подзадачей распознавания является также отделение10 записи речи от прочих звуков (шумы, наложения) в записи, выделение речи на общем фоне, разделение источников речи, если их звучит несколько одновременно11.

Наконец, решается также подзадача автоматического определения качества речи12, востребована в системах связи, хранения речи, для задач синтеза речи.

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

В) Распознавание диктора14. Помимо распознавания содержания речи востребованы задачи распознавания принадлежности речи:

• идентификация диктора15 — определение того, на голос какой персоны более всего

похож проверяемый голос;

• верификация диктора16 — проверка того, что проверяемый голос принадлежит задан-

ной персоне (например, при авторизации в онлайн-сервисах по голосу);

• разделение17 и диаризация18 дикторов — определение того, какой из дикторов го-

ворит сейчас, выделение частей записи, принадлежащих одному диктору (в том

См. https См. https См. https См. https См. https См. https См. https См. https См. https См. https См. https

://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw

thcode.com/task/accented-speech-recognition

thcode.com/task/keyword-spotting

thcode.com/task/speech-extraction

thcode.com/task/speech-separation

thcode.com/task/speech-quality

thcode.com/task/speech-emotion-recognition

thcode.com/task/speaker-recognition

thcode.com/task/speaker-identification

thcode.com/task/speaker-verification

thcode.com/task/speaker-separation

thcode.com/task/speaker-diarization

5

6

числе без идентификации самого диктора), также в случаях, когда дикторы говорят одновременно;

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

Г) Моделирование и представление речи. Востребованы задачи создания акустических моделей речи20, способов ее представления, выделение базовых элементов речи21, которые помогали бы лучше решать задачи распознавания и синтеза. Следует отметить задачу создания векторных представлений речи с помощью методов самообучения22, для которых не требуются заранее распознанные наборы данных.

3. ЗАДАЧИ СИНТЕЗА РЕЧИ

Задачи синтеза речи23 следует различать по виду источника информации о синтезируемой речи, ее содержании.

А) Синтез речи из текста24 (text-to-speech). Это наиболее популярная постановка задачи синтеза, когда есть текст, который следует озвучить голосом (или голосами). Дополнительно могут использоваться специальные значки, регулирующие эмоциональную окраску25 речи, выразительность речи26 и другие ее характеристики (произношение, акцент и т. п.). Также может быть востребована задача исправления произнесенной и записанной речи, удаление части произнесенного текста (относительно простая задача) или добавление в запись речи необходимого текста (более сложная задача)27.

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

Б) Синтез речи из речи (speech-to-speech). Здесь источником синтезированной речи является другой речевой сигнал, который преобразуется заданным образом. Например, улучшают качество звучания речи28,

19

20 2' 22

23

24

25

26

27

28

См. https См. https См. https См. https См. https См. https См. https См. https См. https См. https

://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw ://papersw

thcode.com/task/speaker-profiling

thcode.com/task/acoustic-modelling

thcode.com/task/unsupervised-mnist

thcode.com/task/acoustic-unit-discovery

thcode.com/task/speech-synthesis

thcode.com/task/text-to-speech-synthesis

thcode.com/task/emotional-speech-synthesis

thcode.com/task/expressive-speech-synthesis

thcode.com/task/speech-editing

thcode.com/task/speech-enhancement

убирают шумы29, эхо30, помехи31 и искажения, изменяют характеристики голоса (мужской в женский и наоборот, переделка тембра и т. п.), удаляют звуки-паразиты и др.

В) Синтез речи из изображения (image-to-speech). Одна из задач — это озвучить содержание некоторого изображения для слабовидящих людей. Может решаться как через перевод изображения в текст его аннотации, а затем озвучивание текста, так и напрямую. Аналогичная задача перевода видео в речь, например чтение и озвучивание движений губ диктора.

Г) Синтез речи из мультимодальных источников, когда используют несколько разных источников для создания речи. Например, задача клонирования голоса, где требуется воспроизвести заданный текст-источник заданным же голосом-источником, который изначально такой текст не озвучивал, или переделать голос, озвучивающий некоторый текст, на заданный голос32.

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

4. АРХИТЕКТУРЫ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРЕДСТАВЛЕНИЯ И РАСПОЗНАВАНИЯ РЕЧИ

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

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

4.1. Рекуррентная нейронная сеть

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

29

30

31

32

33

См. https://paperswithcode.com/task/speech-denoising

См. https://paperswithcode.com/task/acoustic-echo-cancellation

См. https://paperswithcode.com/task/speech-dereverberation

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

См. https://paperswithcode.com/task/voice-conversion

Базовое описание слоев нейронных сетей и их работы см. в разделе ХХХ.5.2

7

наоборот, сильно возрастает) с течением времени, при переходе к последующим тактам. Для борьбы с этим явлением используют вентильные рекуррентные нейронные сети: LSTM, GRU и подобные.

В вентильных сетях коэффициенты забывания информации с предыдущих тактов времени, равно как и коэффициенты добавления новой информации для текущего такта, регулируются за счет использования вентилей — умножителей. Вентиль забывания получает входную информацию и умножает ее на коэффициент от 0 до 1, тем самым имитируя забывание. Этот коэффициент сам по себе является обучаемым — это выход обычного полносвязного нейрона с функцией активации типа сигмоида. Изменяя в процессе обучения весовые коэффициенты такого нейрона, изменяется (т. е. регулируется) и коэффициент забывания. Если коэффициент получается близким к единице — прошлая информация практически не забывается, градиент будет относительно большим. Аналогично устроены вентили для добавления новой информации с текущего такта34. Различными комбинациями вентилей получают различные вентильные сети, так в классических LSTM сетях используется четыре разных обучаемых нейрона для вентилей, в GRU 3. Существуют тысячи модификаций таких вентильных сетей [1]. Отметим двунаправленные рекуррентные сети, в которых объединяется информация обработки последовательности слева-направо и справа-налево, это позволяет улучшить обработку в случаях, когда есть связь текущих отсчетов с последующими (а для текста или звука речи это, очевидно, так), например Bi-LSTM35 сети.

4.2. Механизм внимания

В рекуррентных сетях влияние отсчетов последовательности друг на друга последовательное, первый влияет на второй, второй на третий и т. д. Но на практике это далеко не всегда так. Некоторые отсчеты не влияют на другие вообще (например, тишина в звуке), некоторые оказывают сильное влияние только на соседние отсчеты, а другие — на далеко отстоящие отсчеты. Хотелось бы моделировать такое влияние. Для этого предложен механизм внимания [2]: для каждого отсчета рассчитывают, насколько сильно он связан со всеми другими отсчетами. Этот механизм обучаемый, поэтому можно регулировать за счет обучения влияние отсчетов друг на друга. Такое влияние отсчетов (внимание, attention) можно устанавливать как между различными последовательностями, так и для отсчетов одной последовательности36 (самовнимание, self-attention). Вариант реализации механизма самовнимания вкратце: элементы входной последовательности (это векторы) путем умножения на обучаемые матрицы преобразуются в три вектора: Ключ,

8

Детальное описание и визуализация архитектуры 1_БТМ и ЭРУ сетей: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ https://towardsdatasclence.com/lUustrated-gulde-to-lstms-and-gru-s-a-step-by-step-explanatlon-44e9eb85bf21

Визуализация bi-LSTM сетей https://analytlcslndlamag.com/complete-gulde-to-bldlrectlonal-lstm-wlth-python-codes/

Визуализация работы механизма самовнимания: https://towardsdatasclence. com/lllustrated-self-attentlon-2d627e33b20a#8481

34

35

36

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

На основе механизма внимания создана архитектура нейронной сети Transformer37, состоящая из двух связанных частей: кодера и декодера. В процессе обучения кодер принимает входную последовательность (например, текст на одном языке), обрабатывает ее механизмом самовнимания, полученная последовательность поступает в декодер. Декодер принимает выходную последовательность (например, текст на другом языке, она известна при обучении), обрабатывает ее механизмом самовнимания, полученную последовательность обрабатывает механизмом взаимного внимания с выходом кодера. Для результирующей последовательности вычисляются уровни уверенности токенов (значений отсчетов), которые при обучении должны иметь максимальное значение для тех токенов, которые действительно встретились в выходной последовательности на текущем отсчете. После обучения такая архитектура может предсказывать наиболее вероятный токен выходной последовательности и тем самым строить ее. Показала эффективную работу в задачах обработки текста, звуков и др.

4.3. Векторные представления речи. Архитектура Wav2Vec

Работа с исходными представлениями речи в виде звуковой волны или спектрограммы напрямую может быть затруднена, требовать довольно сложных архитектур для распознавания и синтеза речи. Возможно создавать новые, векторные представления речи, которые лучше подходят для ее обработки. Один из вариантов — создавать такие представления в процессе самообучения нейронной сети. Такой подход реализован в архитектуре Wav2Vec38 [3].

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

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

37 См. https://medium.com/inside-machine-learning/what-is-a-transformer-d07dd1fbec04

38 См. https://neurosys.com/wav2vec-2-0-framework/

9

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

Таким образом, создается новое векторное представление C для звука речи, которое затем уже используется для решения задач обработки, например распознавания.

5. НЕЙРОННЫЕ СЕТИ ДЛЯ СИНТЕЗА РЕЧИ ИЗ ТЕКСТА

При синтезе звука речи из текста исходными данными является текст — последовательность некоторых символов. Это могут быть символы алфавита, специальные фонетические значки или даже некоторые управляющие символы, описывающие, например, эмоциональную окраску произносимой речи. Часто такие символы переводят за счет обучения в векторное представление, тогда входом для системы синтеза будет последовательность таких векторов. Существует около десятка наборов данных с примерами записанной речи и транскрипцией39 ее, на разных языках, в разных условиях. Результат синтеза — это звуковая волна, описывающая синтезированную речь. На сегодня по качеству синтезируемой речи лидируют два подхода, архитектура Tacotгon и WaveNet40, но исследуются и другие подходы, связанные с использованием генеративно-состязательных сетей или скрытых марковских моделей [4]. Оценка качества синтезируемой речи производится опросом людей о естественности звучания, оцениваемом обычно по пятибалльной шкале. Отметим, что в таких опросах оценка естественной речи более 4.5 балла (для английского языка).

5.1. Архитектура Tacotron

Архитектура Tacotгon [5] для синтеза речи из текста состоит из кодера, декодера на основе механизма внимания и сети постобработки, принимает символы текста и формирует кадры спектрограммы, которые затем трансформируются в звуковую волну.

В кодере входная последовательность (это последовательность унитарных векторов символов текста) проходит несколько полносвязных слоев. Результат — некоторое векторное представление V элементов последовательности. Последовательность V сворачивается набором (банком) одномерных сверток со сдвигом по оси времени 1 (не изменяется временное разрешение) и изменяемой (по оси времени) шириной от 1 до K (показывает количество учитываемых соседних отсчетов). Результаты этого объединяются и дополнительно слоем субдискретизации по оси

10

39 См. https://paperswithcode.com/datasets?task=speech-synthesis

40 См. https://paperswithcode.com/sota/speech-synthesis-on-north-american-english

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

Выходная последовательность (здесь это полосы мел-спектра звука речи, соответствующей произносимому тексту) проходит через декодер. Процесс обучения концептуально похож на работу Transformers. Элементы выходной последовательности сначала проходят через полносвязные слои, формируя скрытое векторное представление. Эти векторы поступают в рекуррентный GRU слой, который формирует последовательность запросов Q, которая проходит через слой взаимного внимания с выходом кодера. Результат слоя внимания вместе с Q поступает на следующие GRU слои. Полученная из них последовательность проходит через блок слоев, похожий на кодер (банк сверток, субдискретизация и др.).

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

Для оценки качества синтеза был проведен опрос [5] носителей языка с целью оценить по пятибалльной шкале естественность синтезированного голоса (100 фраз), получили в среднем 3.82, для сравнения синтезатор на основе скрытых марковских моделей дал оценку в 4.09 балла.

5.2. Архитектура WaveNet

Tacotгon переводит текст в спектрограмму, а уже спектрограмма переводится в звук речи. В этом месте теряется довольно заметная часть естественности звучания, появляются слышимые искажения. В архитектуре WaveNet [6] избавились от промежуточного шага в виде спектрограммы и переводят текст сразу в звук41.

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

41 Анимацию и пояснение работы см.: https://deepmind.com/blog/article/wavenet-generative-model-raw-audio

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

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

Вторая часть сети, блок управления, в котором добавляется управляющая информация.

Этот блок основан на использовании последовательного набора обучаемых вентилей (как в вентильных рекуррентных сетях, но модифицированных для сверточных слоев). Набор состоит из нескольких вентилей, каждый из которых принимает выход х предыдущего (первый вентиль принимает выход преобразователя), пропускает его через два обучаемых сверточных слоя с активациями гипертангенс (изменяется от -1 до 1) и сигмоида (изменяется от 0 до 1), результаты которых умножаются в вентиле. Выход вентиля проходит через свертку с ядром 1 на 1 (т. е. сворачиваются только каналы), результат которой поступает на основной выход набора. Также этот выход складывается с входом х (как в сетях ResNet) и поступает на вход следующего вентиля. Основные выходы всех вентилей проходят через ряд сверточных слоев и в итоге через слой с softmax активацией, который и предсказывает уровень уверенности для квантованных амплитуд звукового фрагмента.

Для управления генератором в блок вентиля добавляют еще один (обучаемый) вход h. Он может быть как локальным — последовательностью чисел такой же частоты дискретизации, что и звуковой сигнал, так и менее локальным, с меньшей частотой. В последнем случае применяют транспонированные свертки, чтобы получить управляющую последовательность той же частоты дискретизации, что и звук. Сама управляющая последовательность может представлять собой различную информацию: текст для его озвучивания; характеристики голоса для его преобразования (клонирования) и др.

В результате получилась довольно точная и быстрая сеть для синтеза речи, в работе [6] опрос по пятибалльной шкале о естественности

12

синтезируемой речи дал 4.21 балла для североамериканского и 4.08 для китайского мандаринского наречий. Для сравнения, запись естественной речи по тому же опросу показала 4.55 и 4.21 соответственно.

Сочетание идей сети Tacotгon, которая синтезирует мел-спектрограмму по тексту, и сети WaveNet, которая использует эту спектрограмму как управляющую последовательность для синтеза звука, привело к появлению сети Tacotгon 2 [7], которая показала качество синтеза в 4.526 балла (опрос по пятибалльной шкале).

6. НЕЙРОННЫЕ СЕТИ ДЛЯ СИНТЕЗА ПЕВЧЕСКОГО ГОЛОСА

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

6.1. Модели на основе процесса диффузии

В [8] предложено использовать модель диффузии для создания певческого голоса, которая показала хорошие результаты42. Модель диффузии предполагает, что мы рассматриваем процесс синтеза как случайный. Исходное распределение входных векторов можно постепенно, небольшими шагами, зашумлять, пока не получится шумоподобное распределение. Здесь используется Гауссовский процесс зашум-ления43. При разумных ограничениях на процесс зашумления возможен обратный процесс — из зашумленных образцов получать очень похожие на исходные. При реализации обратного процесса нам не известна функция для перевода распределений, поэтому ее моделируют некоторой обучаемой моделью, нейронной сетью, подбирая параметры в процессе обучения. Тогда такая модель может выступать как генератор образцов, похожих на настоящие, для нашего примера подстроится под конкретный певческий голос. Добавив в модель управляющий сигнал (что именно петь), получим синтезатор певческого голоса.

Эта модель DiffSinger реализована в [8], она оперирует с мел-спектрограммами в модели диффузии. В процессе работы такой системы сначала получают мел-спектрограмму желаемого голоса каким-либо известным способом (в работе это декодер на основе Transformer архитектуры [9]) из текста и музыкальных характеристик голоса (высота, длительность звучания). Такую мел-спектрограмму можно считать сильно зашумленным образцом, который не обладает достаточным качеством звучания. Затем, начиная с этой мел-спектрограммы, запускают обратный процесс диффузии (который был, разумеется, уже обучен), получая итеративно все более и более качественные мел-спектрограммы для голоса. В качестве нейронной сети для убирания шума на этих шагах используют вариант сети WaveNet (не каузальная и работающая с мел-спектрограммами). Наконец, полученную мел-спектрограмму переводят в звуковую волну (здесь используют предобученную сеть Parallel WaveGAN [10]). В результате получили (опрос по пятибалльной шкале) качество синтеза 3.85 балла. Без процесса диффузии качество было 3.71 балла. Ближайший

Прослушать можно здесь: https://diffsinger.github.io/

Визуализацию см. https://lilianweng.github.io/lil-log/2021/07/1 1/diffusion-models.html

13

42

43

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

6.2. Модели на основе генеративно-состязательных сетей

Синтез речи — это задача генерации. Для генерации объектов из заданного распределения и собственно получения такого распределения хорошо зарекомендовали себя генеративно-состязательные сети. В таких сетях есть две соревнующиеся стороны: Генератор и Дискриминатор. Генератор учится создавать примеры образцов. Дискриминатор же учится различать настоящие образцы и сгенерированные Генератором. Цель Генератора — обмануть Дискриминатор, создать такой образец, что Дискриминатор не сможет его отличить от настоящего. Постепенно и попеременно обучая Генератор и Дискриминатор, можно добиться генерации правдоподобных образцов. Такой подход может быть применен для создания образцов различной природы, в том числе и голоса.

В работе [11] предложена генеративно-состязательная сеть Multi-Singer для реализации певческого голоса, которая обучалась на наборе данных с несколькими певцами.

Генератор сделан на основе модификаций блоков из сети WaveNet, принимает мел-спектрограмму синтезируемого голоса и вектор шума, генерирует звуковые волны, представленные в разных частотных полосах (две высокой и две низкой), и объединяет их в одну звуковую волну.

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

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

Мел-спектрограммы для Генератора берутся из модификации сети Fastspeech 2 [9] на основе Transformers, которая создает мел-спектрограммы из

14

текста и музыкальных характеристик голоса. Характеристики голоса певца берутся из предобученной сети-векторизатора на основе 1_БТМ сети [12].

В результате получилась довольно хорошая архитектура для создания певческого голоса44, опрос по пятибалльной шкале о естественности звучания показал 3.96 для известных и 3.98 для неизвестных певцов, естественные записи оценивались в 4.03 балла.

7. ЗАКЛЮЧЕНИЕ

Сегодня исследователи применений нейронных сетей для синтеза голоса рассматривают совершенно различные подходы, часто комбинируемые вместе. Это и архитектуры на основе рекуррентных сетей, и на основе механизма внимания, и генеративные сети и подходы на основе процесса диффузии и другие. Используют как представление в виде звуковой волны, так и мел-спектрограммы. Качество синтезируемого голоса практически достигло уровня человеческого восприятия. Появились синтезаторы певческих голосов, также с довольно высоким качеством звучания. Однако следует отметить, что такие высокие результаты получены для небольшого набора языков, английского и китайского, для других языков результаты гораздо скромнее. В основном это связано с недостаточным качеством наборов обучающих данных и вычислительными ресурсами, которые необходимо затратить на обучение моделей. Например, для русского языка на наборе данных RUSLAN была получена естественность звучания 3.78 (по пятибалльной шкале) в задаче синтеза голоса по тексту [13].

Литература

1. Jozefowicz, R, Zaremba, W., & Sutskever, I. (2015, June). An empirical exploration of recurrent network architectures. In International conference on machine learning (pp. 2342-2350). PMLR.

2. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L, Gomez, A. N.,... & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998-6008).

3. Baevski, A., Zhou, H., Mohamed, A., & Auli, M. (2020). wav2vec 2.0: A framework for self-supervised learning of speech representations. arXiv preprint arXiv:2006.11477.

4. Tan, X., Qin, T., Soong, F., & Liu, T. Y. (2021). A survey on neural speech synthesis. arXiv preprint arXiv:2106.15561.

5. Wang, Y., Skerry-Ryan, R. J., Stanton, D., Wu, Y., Weiss, R. J., Jaitly, N., ... & Saurous, R. A. (2017). Tacotron: Towards end-to-end speech synthesis. arXiv preprint arXiv:1703.10135.

6. Oord, A. V. D., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A.,... & Kavukcuoglu, K. (2016). Wavenet: A generative model for raw audio. arXiv preprint arXiv:1609.03499.

7. Shen, J., Pang, R., Weiss, R. J., Schuster, M., Jaitly, N., Yang, Z.,... & Wu, Y. (2018, April). Natural tts synthesis by conditioning wavenet on mel spectrogram predictions. In 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4779-4783). IEEE.

8. Liu, J., Li, C., Ren, Y., Chen, F., Liu, P., & Zhao, Z. (2021). DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism. arXiv preprint arXiv:2105.02446.

9. Ren, Y., Hu, C., Tan, X., Qin, T., Zhao, S., Zhao, Z., & Liu, T. Y. (2020). Fastspeech 2: Fast and high-quality end-to-end text to speech. arXiv preprint arXiv:2006.04558.

10. Ryuichi Yamamoto, Eunwoo Song, and Jae-Min Kim. Parallel wavegan: A fast waveform generation model based on generative adversarial networks with multi-resolution spectrogram. In ICASSP

Прослушать: https://multi-singer.github.io/

15

44

2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 6199-6203. IEEE, 2020

11. Huang, R., Chen, F, Ren, Y, Liu, J., Cui, C, & Zhao, Z. (2021, October). Multi-Singer: Fast Multi-Singer Singing Voice Vocoder With A Large-Scale Corpus. In Proceedings of the 29th ACM International Conference on Multimedia (pp. 3945-3954).

12. Wan, L, Wang, Q., Papir, A., & Moreno, I. L. (2018, April). Generalized end-to-end loss for speaker verification. In 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4879-4883). IEEE.

13. Gabdrakhmanov, L., Garaev, R., & Razinkov, E. (2019, August). Ruslan: Russian spoken language corpus for speech synthesis. In International Conference on Speech and Computer (pp. 113-121). Springer, Cham.

NEURAL NETWORKS FOR SPEECH SYNTHESIS OF VOICE ASSISTANTS AND SINGING MACHINES

Pantiukhin D.V., Senior Lecturer, National Research University Higher School of Economics, Moscow, Russia Senior Lecturer, MIREA — Russian Technological University, Moscow, Russia, [email protected]

The paper presents an overview of recent publications on the use of neural network methods for speech synthesis. A brief introduction to neural network architectures for speech synthesis is given. Methods for creating a singing voice for voice assistants and singing machines are considered.

• neural networks • singing machines • voice synthesis.

16

i Надоели баннеры? Вы всегда можете отключить рекламу.