Архитектура Tacotron 2. В нижней части иллюстрации показаны модели предложение-к-предложению, которые транслируют последовательность букв в последовательность признаков в 80-мерном пространстве. Техническое описание см. в научной статье
Синтез речи — искусственное воспроизводство человеческой речи из текста — традиционно считается одной из составляющих частей искусственного интеллекта. Раньше такие системы можно было увидеть только в фантастических фильмах, а сейчас они работают буквально в каждом смартфоне: это системы Сири, Алиса и тому подобные. Вот только они не очень реалистично произносят фразы: голос неживой, слова отделены друг от друга.
Компания Google разработала продвинутый синтезатор речи нового поколения. Он называется Tacotron 2 и основан на нейросети. Для демонстрации его возможностей компания выложила примеры синтеза. Внизу странички с примерами можно пройти тест и попробовать определить, где текст произносит синтезатор речи, а где человек. Определить разницу практически невозможно.
Несмотря на десятилетия исследований, синтез речи по-прежнему остаётся актуальной задачей перед научным сообществом. За прошедшие годы в этой области преобладали разные методики: самыми продвинутыми в последнее время считались конкатенативный синтез с выбором фрагментов — процесс соединения воедино маленьких заранее записанных звуковых фрагментов, а также статистический параметрический синтез речи, в котором плавные траектории произношения синтезировал вокодер. Второй способ решал многие проблемы конкатенативного синтеза с артефактами на границах между фрагментами. Однако в обоих случаях синтезированный звук звучал невнятно и неестественно по сравнению с человеческой речью.
Затем вышел звуковой движок WaveNet (генеративная модель волновых форм во временнóй области), который впервые смог показать качество звука, сравнимое с человеческим. Он сейчас используется в системе синтеза речи Deep Voice 3.
Ранее в 2017 году компания Google представила архитектуру Tacotron типа «предложение-к-предложению». Она генерирует спектрограммы амплитуд из последовательности символов. Tacotron упрощает традиционный конвейер работы звукового движка. Здесь лингвистические и акустические признаки генерирует единственная нейросеть, обученная только на данных. Фраза «предложение-к-предложение» означает, что нейросеть устанавливает соответствие между последовательностью букв и последовательностью признаков для кодирования звука. Признаки генерируются в 80-мерной аудиоспектрограмме с кадрами по 12,5 миллисекунд.
Нейросеть обучается не только произношению слов, но и специфическим голосовым характеристикам, таким как громкость, скорость и интонация.
Затем непосредственно звуковые волны генерируются с применением алгоритма Гриффина-Лима (для фазовой оценки) и обратное кратковременное преобразование Фурье. Как отмечали авторы, это было временное решение для демонстрации возможностей нейросети. На самом деле движок WaveNet и ему подобные создают звук лучшего качества, чем алгоритм Гриффина-Лима, и без артефактов.
В доработанной системе Tacotron 2 специалисты из компании Google всё-таки подключили к нейросети вокодер WaveNet. Таким образом, нейросеть создаёт спектрограммы, а затем модифицированная версия WaveNet генерирует звук на 24 кГц.
Нейросеть самостоятельно обучается (end-to-end) на звуке человеческого голоса, который сопровождается текстом. Хорошо обученная нейросеть затем читает тексты так, что практически невозможно отличить от звучания человеческой речи, как можно убедиться на реальных примерах.
Исследователи обращают внимание, что система Deep Voice 3 использует схожий подход, но качество её синтеза всё-таки не может сравниться с человеческой речью. А вот Tacotron 2 может, см. результаты тестов Mean Opinion Score (MOS) в таблице.
Есть ещё один синтезатор речи, который тоже работает на нейросети — это Char2Wav, но у него совсем другая архитектура.
Учёные говорят, что в целом нейросеть работает отлично, но всё-таки испытывает сложности с произношением некоторых сложных слов (таких как decorum или merlot). А иногда случайным образом выдаёт странные шумы — причины этого сейчас выясняются. Кроме того, система не способна работать в реальном времени, а авторам пока не удаётся взять движок под контроль, то есть задать ему нужную интонацию, например, счастливый или грустный голос. Каждая из этих проблем интересна сама по себе, пишут они.
Научная статья опубликована 16 декабря 2017 года на сайте препринтов arXiv.org (arXiv:1712.05884v1).
Источник