Изменения

Перейти к: навигация, поиск

Синтез речи

12 байт добавлено, 19:42, 18 января 2021
м
Нет описания правки
<math> f^{-1}(y_t) = sign(y_t)(1/\mu)((1+\mu)^{|y_t|}-1), -1 < y_t < 1</math>.
В качестве представления звукового сигнала может выступать [https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0/ спектрограмма волны] {{- --}} изображение, показывающее зависимость спектральной плотности мощности сигнала от времени. Спектрограммы отображают частоту и амплитуду сигнала во времени, но не содержат никакой информации о фазе сигнала, из-за чего результат обратного восстановления сигнала по спектрограмме неизбежно отличается от оригинала. Цифровая генерация спектрограммы сигнала <math>s(t)</math> сводится к вычислению квадрата амплитуды [https://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A4%D1%83%D1%80%D1%8C%D0%B5/ оконного преобразования Фурье]:
<math>spectrogram(t, w) = |STFT(t, w)|^2</math>,
В начале работы параметрического синтезатора с помощью вокодера извлекаются параметры
<math>\textbf{o} = \{o_1, \dots, o_N\}</math> звуковой волны и лингвистические данные <math>l</math> из текста, который необходимо озвучить. Конкретный вид вектора <math>\textbf{o}</math> зависит от используемого вокодера {{---}} это может быть как спектрограмма волны, так и некоторое другое представление сигнала, например, дискретные номера интервалов числовой прямой, получаемые с помощью мю-закона. Затем, [[Порождающие модели|порождающая модель]], например, [[Марковская цепь|скрытая марковская цепь]],
[[Нейронные сети, перцептрон#Сети прямого распространения|нейронная сеть прямого распространения]] или [[Рекуррентные нейронные сети|рекуррентная нейронная сеть]], обучается по выделенным параметрам <math>\textbf{o}</math> и <math>l</math>, получая параметры модели <math>\hat{\Lambda}</math> как: , наиболее хорошо описывающие распределение <math>\hat{\Lambda} = \arg\max\limits_{\Lambda}p(\textbf{o} | l, \Lambda)</math>. На этапе синтеза, модель генерирует наиболее правдоподобные параметры звуковой волны, используя найденные на этапе обучения параметры модели <math>\hat{\Lambda}</math> и лингвистическую информацию <math>l</math> текста, который необходимо озвучить:
<math>\hat{\textbf{o}} = \arg\max\limits_{\textbf{o}}p(\textbf{o} | l, \hat{\Lambda})</math>.
Выходная звуковая волна моделируется с помощью вокодера и генерируется вокодером на основе найденных параметров <math>\hat{\textbf{o}}</math>.
Данный подход является самым популярным на сегодняшний момент, в том числе из-за того, что он позволяет использовать подходы, основанные на нейронных сетях. Современными продуктами, использующие основанный на глубоком обучении параметрический синтез являются Amazon Lex и Alexa <ref>[https://www.allthingsdistributed.com/2016/11/amazon-ai-and-alexa-for-all-aws-apps.html Bringing the Magic of Amazon AI and Alexa to Apps on AWS.] </ref>, Google Ассистент <ref name="cnet wavenet">Martin, Taylor (May 9, 2018).[https://www.cnet.com/how-to/how-to-get-all-google-assistants-new-voices-right-now/ "Try the all-new Google Assistant voices right now"]. CNET.</ref> и умные дисплеи Portal от Facebook <ref>[https://venturebeat.com/2020/05/15/facebooks-voice-synthesis-ai-generates-speech-in-500-milliseconds/ Facebook’s voice synthesis AI generates speech in 500 milliseconds.]</ref>.
<math>p(\textbf{x})=\prod\limits_{t=1}^{T} p(x_t | x_1, x_2, \dots, x_{t-1})</math>.
Таким образом, вероятность каждого сигнала <math>x_t</math> зависит только от вероятностей предыдущих сигналов. Во время обучения модель оценивает данное условное распределение вероятностей, принимая на вход сигналы из обучающей выборки одновременно. На этапе генерации модель порождает выходные сигналы с помощью полученной оценки распределения вероятности последовательно {{---}} полученный моделью сигнал в момент времени <math>t</math> подается обратно на вход для генерации последующего сигнала в момент времени <math>t+1</math>. Структура модели позволяет использовать её в широком спектре задач, например, в задачах продолжения музыкального произведения по его началу, порождения голоса конкретного человека или text-to-speech синтеза.
Основной идеей модели является использование причинных сверточных сетей (англ. causal convolution layers) и [[Сверточные нейронные сети#Расширенная свертка (aнгл. Dilated convolution) | расширенных ]] причинных сверточных сетей (англю dilated causal convolution layers).
29
правок

Навигация