Проблема синтеза речи из текста (Text-to-Speech, TTS) представляет собой одну из классических задач для искусственного интеллекта. Цель ИИ – автоматизировать процесс чтения текста, основываясь на наборах данных, содержащих пары «текст – аудиофайл».
Одной из важных проблем синтеза речи является задача создания образа голоса со всеми его характерными особенностями. Соответствующие наборы методик называют технологией клонирования голоса (англ. voice changing, voice cloning).
Решение указанной проблемы имеет множество практических приложений:
- адаптация голосов актёров при локализации фильмов
- озвучивание персонажей игр
- голосовые поздравления
- начитка аудиокниг, в том числе клонирование голосов родителей для сказок, прочитанных профессиональными дикторами
- создание аудио- и видеокурсов
- рекламные видеоролики и аудиореклама
- голоса ботов и умных устройств, персонализированных голосовых помощников
- синтез устной речи естественного звучания для немых людей, в том числе для людей, утративших возможность говорить из примеров их собственной речи
- адаптация устной речи под модель местного акцента
Очевидно, что подобные технологии могут применяться с преступными целями: мошенничество, телефонное хулиганство, компрометирование в результате совмещения с технологией DeepFake. Поэтому кроме методов клонирования голоса важно разрабатывать средства для предотвращения незаконного использования технологии.
Для обучения системы необходимо иметь большое количество сопоставленных аудиозаписей и текстов. В случае голосов знаменитостей можно прибегать к помощи записей публичных выступлений, интервью, результатам творческой деятельности и т. п. В качестве текстовых пар могут применяться стенограммы или тексты, полученные в результате коррекции автоматически распознанной речи.
Отличительной особенностью последних разработок является то, что для создания правдоподобного образа «голосовой мишени» достаточно всё меньших интервалов звучащей устной речи.
Современное состояние
В сфере создания инструментов для клонирования голоса работают множество команд, стремящихся к коммерциализации программных продуктов. По приведённым ниже ссылкам вы можете оценить текущее состояние технологии:
- Resemble.AI (предоставляется демоверсия программы).
- iSpeech (есть демо для 27 языков, включая русский).
- Lyrebird AI (можно загрузить демоверсию на 3 часа речи).
- Vera Voice, созданный компанией Screenlife Technologies Тимура Бекмамбетова и командой проекта «Робот Вера». Недавно команда показала пример адаптации голосов русских знаменитостей:
Другие компании стараются обойти стороной этический вопрос за счёт использования вместо клонирования голоса нейросетевых систем синтеза-смешения множества голосов. Таким коммерческим продуктом является, например, Yandex SpeechKit.
В связи с тем, что данная технология представляет конкурентный интерес для множества IT-компаний, проекты с открытым исходным кодом крайне редки. В этой статье мы остановимся на редком свободном проекте Real-Time Voice Cloning. Этот открытый репозиторий является результатом применения технологии переноса обучения SV2TTS, описанной в научной публикации (сэмплы, полученные в результате применения подхода).
Автор библиотеки с июня 2019 участвует в упомянутом выше коммерческом проекте Resemble.AI и уделяет репозиторию меньше времени, но ничто не мешает вам сделать собственный форк проекта.
Алгоритм клонирования голоса
Чтобы компьютер мог читать вслух текст, ему нужно понимать две вещи: что он читает и как это произнести. Поэтому в проекте Real-Time Voice Cloning система клонирования принимает два входных источника: текст, который необходимо озвучить, и образец голоса, которым этот текст должен быть прочитан.
С технической точки зрения система разбита на три компонента:
- Переданный аудиофайл с образцом речи, записанным в виде звуковой дорожки, преобразуется кодером речи (speaker encoder) в векторное представление фиксированной размерности.
- Переданный текст также кодируется в векторное представлении кодером текста (text encoder). Объединение речевого вектора и вектора текста декодируется в спектрограмму. Кодер текста, конкатенатор векторов и декодер (на схеме объединены синим цветом) представляют собой структуру синтезатора речи.
- Вокодер (vocoder, виртуальное устройство синтеза речи) преобразует спектрограмму в звуковую форму.
Модели трёх выделенных компонентов обучаются независимо друг от друга.
Где взять данные?
Объёмы информации, необходимой для качественного обучения системы клонирования, составляют десятки и сотни Гб. В рассматриваемой библиотеке для хранения датасетов служит одна общая директория. Все сценарии предварительной обработки данных выводят результаты в новый каталог SV2TTS, создаваемый в корневом каталоге датасетов. Внутри этой директории появится каталог для каждой модели: кодера, синтезатора и вокодера.
Для обучения кодера речи можно обратиться к следующим библиотекам:
- LibriSpeech (зеркало): набор данных
train-other-500(извлеките какLibriSpeech/train-other-500). - VoxCeleb1: наборы данных
Dev A–D,в том числе набор метаданных (извлеките какVoxCeleb1/wavиVoxCeleb1/vox1_meta.csv). - VoxCeleb2: наборы данных
Dev A–H(извлеките какVoxCeleb2/dev).
Для обучения синтезатор и вокодера:
- LibriSpeech: наборы данных train-clean-100 (зеркало) и train-clean-360 (зеркало) – извлеките как
LibriSpeech/train-clean-100andLibriSpeech/train-clean-360 - LibriSpeech alignments (только если у вас уже есть LibriSpeech): объедините структуру каталогов с загруженными вами наборами данных LibriSpeech
Официальным хостингом наиболее популярных наборов данных LibriSpeech служит openslr.org, который из-за популярности темы постоянно находится под существенной нагрузкой. Поэтому выше мы приложили ссылки на «зеркала» архивов.
Если вы решили с головой погрузиться в данную тему, обратите внимание на библиотеку Python для работы с аудиодатасетами audiodatasets:
pip install audiodatasets
Будьте осторожны: при установке библиотека загружает более 100 Гб данных трех наборов:
- Librispeech (60 Гб)
- TEDLIUM_release2 (35 Гб)
- VCTK-Corpus (11 Гб)
Перечислим также другие датасеты, которые не проверялись в рассматриваемой библиотеке, но применимы для обучения, в том числе корпуса русскоязычной устной речи:
- Корпус речи англоговорящих людей CSTR VCTK
- Набор данных M-AILABS: имеются примеры речи на русском, украинском, немецком, английском, испанском, итальянском, французском и польском языках
- Корпуса звучащей русской речи
- Мультимедийный корпус русского языка: преимущественно фрагменты кинофильмов с распознанным текстом
- Подборка различных речевых датасетов
Использование предобученных моделей
Имеется инструкция по переносу проекта с помощью Docker, здесь мы рассмотрим установку на локальной машине. Учтите, что наличие GPU является обязательным. Клонируем репозиторий:
git clone https://github.com/CorentinJ/Real-Time-Voice-Cloning.git
В качестве языка программирования используется Python 3, автор рекомендует версию 3.7. В связи с тем, что репозиторий предполагает привлечение вполне конкретных версий библиотек, рекомендуем питонистам пускать в ход виртуальное окружение.
Переходим в папку и устанавливаем необходимые зависимости:
pip3 install -r requirements.txt
Также потребуется фреймворк глубокого обучения PyTorch (версия не ниже 1.0.1).
Далее необходимо загрузить предобученные модели (архив на Google drive, зеркало). Согласно с вышеописанной схеме загруженный архив содержит три директории для трех моделей. Их нужно слить вместе с соответствующими директориями корневого каталога библиотеки.
Проверить правильность конфигурации можно ещё до загрузки датасетов:
python3 demo_cli.py
Если все тесты пройдены (вы увидите строку All tests passed), можно двигаться дальше. Скрипт предложит указать пути к файлам примеров, но для работы удобнее обратиться кграфическому интерфейсу:
python3 demo_toolbox.py
Если у вас уже загружены датасеты, то можно сразу указать путь к директории:
python3 demo_toolbox.py -d <путь_к_директории_датасетов>
Чтобы просто поиграть с программой, достаточно наименьшего по объёму датасета LibriSpeech/train-clean-100 (см. выше).
Пример результата вызова интерфейса:
Для первой пробы вы можете нажать под каждым разделом кнопки Random , чтобы выбрать случайный аудиопример, затем Load, чтобы загрузить голосовой ввод в систему. Выпадающий список Dataset служит для выбора набора данных, Speaker – для выбора персоны, Utterance – для произносимой фразы. Чтобы услышать как звучит отрывок, просто нажмите Play. Для запуска алгоритма нажмите Synthesize and vocode. С помощью кнопки Record one можно записать свой собственный сэмпл.
Пример работы с интерфейсом без обучения нейросетей представлен в следующем видеоролике:
Процесс обучения
Вместо предобученных моделей можно также задействовать модели, обученные на других примерах. Процесс обучения происходит посредством последовательного запуска скриптов той же библиотеки. Для того, чтобы узнать дополнительную информацию о каждом из скриптов, при используйте запуске из командной строки добавляйте аргумент -h.
Начинаем с подготовки данных для обучения кодера:
python3 encoder_preprocess.py <datasets_root>
Для обучения кодер использует окружение visdom. Инструменты окружения выглядят следующим образом:
При необходимости вы можете отключить окружение с помощью аргумента --no_visdom .
Обучаем кодер:
python3 encoder_train.py my_run <datasets_root>
Далее запускаем два скрипта, генерирующих данные для синтезатора. Начинаем с аудиофайлов:
python3 synthesizer_preprocess_audio.py <datasets_root>
Затем вложения:
python3 synthesizer_preprocess_embeds.py <datasets_root>/synthesizer
Теперь вы можете обучить синтезатор:
python3 synthesizer_train.py my_run <datasets_root>/synthesizer
Синтезатор будет выводить сгенерированные аудио и спектрограммы в каталог моделей. Используем синтезатор для генерации обучающих данных вокодера:
python3 vocoder_preprocess.py <datasets_root>
Наконец, обучаем вокодер:
python3 vocoder_train.py <datasets_root>
Вокодер выводит сгенерированные аудиофайлы в директорию модели.
При возникновении вопросов относительно работы библиотеки мы также рекомендуем ознакомиться с диссертацией автора. Там же приведены ссылки на научные работы, посвящённые теме клонирования и изменения голоса.
Интересны ли вам проекты, связанные с дипфейками лиц и голоса? Будем рады вашим ответам в комментариях.
Способов идентифицировать человека по голосу появляется все больше. И параллельно исследователи придумывают, как обойти эти механизмы — и для защиты собственной персональной информации, и для взлома защищенных таким образом систем. Я решил разобраться в самых последних достижениях ученых в этой сфере, чтобы об этом рассказать вам.
Содержание
- Генерация голоса
- Текст в речь
- Звуки в речь
- Речь в речь
- Создание поддельного голоса
- Принцип работы имитатора голоса
- Кодирование голоса
- Создание спектрограммы
- Синтез звука
- Тестирование метода
- Выводы
Генерация голоса
Голос человека — результат движения связок, языка, губ. В распоряжении компьютера только числа, изображающие записанную микрофоном волну. Как же компьютер создает звук, который мы можем услышать из динамиков или наушников?
РЕКОМЕНДУЕМ:
Как с помощью нейронной сети предсказывать успешность постов в социальных сетях
Текст в речь
Один из самых популярных и исследованных методов генерации звуков — прямое преобразование текста, который нужно воспроизвести, в звук. Самые первые программы такого рода склеивали отдельные буквы в слова, а слова — в предложения.
С развитием программ-синтезаторов набор заранее записанных на микрофон букв стал набором слогов, а затем и целых слов.
Преимущества таких утилит очевидны: они просты в написании, использовании, поддержке, могут воспроизводить все слова, какие только есть в языке, предсказуемы — все это в свое время стало причиной их коммерческого использования. Но качество голоса, созданного таким методом, оставляет желать лучшего. Все мы помним отличительные черты такого генератора — бесчувственная речь, неправильное ударение, оторванные друг от друга слова и буквы.
Звуки в речь
Этот способ генерации речи относительно быстро заменил собой первый, поскольку лучше имитировал человеческую речь: мы произносим не буквы, а звуки. Именно поэтому системы, основанные на международном фонетическом алфавите — IPA, более качественны и приятны на слух.
В основу этого метода легли заранее записанные в студии отдельные звуки, которые склеиваются в слова. По сравнению с первым методом заметно качественное улучшение: вместо простого склеивания аудиодорожек используются методы смешивания звуков как на основе математических законов, так и на основе нейронных сетей.
Речь в речь
Относительно новый подход полностью основан на нейронных сетях. Рекурсивная архитектура WaveNet, построенная исследователями из DeepMind, позволяет преобразовывать звук или текст в другой звук напрямую, без привлечения заранее записанных строительных блоков (научная статья).
Ключ к этой технологии — правильное использование рекурсивных нейронов Long Short-Term Memory, которые сохраняют свое состояние не только на уровне каждой отдельной клетки нейронной сети, но и на уровне всего слоя.
В целом эта архитектура работает с любым видом звуковой волны, вне зависимости от того, музыка это или голос человека.
На основе WaveNet есть несколько проектов.
- A WaveNet for speech denoising — уничтожение шумов в записи голоса;
- Tacotron 2 (статья в блоге Google) — генерация звука из мел-спектрограммы;
- WaveNet Voice Enhancement — улучшение качества голоса в записи.
Для воссоздания речи такие системы используют генераторы звуковой нотации из текста и генераторы интонаций (ударения, паузы), чтобы создать натурально звучащий голос.
Это самая передовая технология создания речи: она не просто склеивает или смешивает непонятные машине звуки, но самостоятельно создает переходы между ними, делает паузы между словами, меняет высоту, силу и тембр голоса в угоду правильному произношению — или любой другой цели.
Создание поддельного голоса
Для самой простой идентификации, про которую я рассказывал в своей предыдущей статье, подойдет практически любой метод — особенно удачливым хакерам может хватить даже необработанных пяти секунд записанного голоса. Но для обхода более серьезной системы, построенной, например, на нейросетях, нам понадобится настоящий, качественный генератор голоса.
Принцип работы имитатора голоса
Для создания правдоподобной модели «голос в голос», основанной на WaveNet, потребуется множество усилий: нужно записать большое количество текста, сказанного двумя разными людьми, причем так, чтобы все звуки совпадали секунда в секунду, — а сделать это сложновато. Однако есть и другой метод.
Основываясь все на тех же принципах, что и технология синтеза звука, можно достичь не менее реалистичной передачи всех параметров голоса. Так, была создана программа, которая клонирует голос на основе небольшой записи речи. Именно ее мы с тобой и используем.
Сама программа состоит из нескольких важных частей, которые работают последовательно, поэтому разберемся поэтапно.
Кодирование голоса
Голос каждого человека обладает рядом характеристик — их не всегда можно распознать на слух, но они важны. Чтобы точно отделять одного говорящего от другого, будет правильным создать специальную нейронную сеть, формирующую свои наборы признаков для разных людей.
Этот кодировщик позволяет в дальнейшем не только переносить голос, но и сравнивать результаты с желаемыми.
Создание спектрограммы
На основе этих характеристик можно из текста создать мел-спектрограмму звука. Этим занимается синтезатор, в основе которого лежит Tacotron 2, использующий WaveNet.
Сгенерированная спектрограмма содержит всю информацию о паузах, звуках и произношении, и в ней уже заложены все заранее вычисленные характеристики голоса.
Синтез звука
Теперь другая нейронная сеть — основанная на WaveRNN — будет постепенно создавать из мел-спектрограммы звуковую волну. Эта звуковая волна и станет воспроизводиться как готовый звук.
Все характеристики основного голоса сохраняются в синтезированном звуке, который, пусть и не без трудностей, воссоздает исходный голос человека на любом тексте.
Тестирование метода
Теперь, зная, как создать правдоподобную имитацию голоса, давайте попробуем применить это на практике. В прошлой статье я рассказывал про два очень простых, но рабочих метода идентификации человека по голосу: с использованием анализа мел-кепстральных коэффициентов и с помощью нейронных сетей, специально обученных определять одного человека. Давайте узнаем, насколько хорошо мы можем обмануть эти системы поддельными записями.
Возьмем пятисекундную запись голоса мужчины и создадим две записи с помощью нашего инструмента.
Сравним эти записи с помощью мел-кепстральных коэффициентов.
Разница в коэффициентах также видна и в числах:
|
Синтез_1 — оригинал: 0.38612951111628727 Синтез_2 — оригинал: 0.3594987201660116 |
Как же отреагирует на такую хорошую подделку нейронная сеть?
|
Синтез_1 — оригинал: 89.3% Синтез_2 — оригинал: 86.9% |
Убедить нейросеть оказалось возможно, но не в совершенстве. Серьезные системы безопасности, которые установлены, например, в банках, скорее всего, смогут детектировать подделку, но человек, тем более по телефону, вряд ли сумеет отличить настоящего собеседника от его компьютерной имитации.
Выводы
Подделать голос сейчас уже не так сложно, как было раньше, а это открывает большие возможности не только для хакеров, но и для создателей контента: инди-разработчики игр смогут сделать качественную и дешевую озвучку, аниматоры — озвучить своих персонажей, а режиссеры фильмов — снять достоверную документалку.
И пусть технологии качественного синтеза речи еще только развиваются, но их потенциал уже сейчас захватывает дух. В скором времени все голосовые помощники обретут свой личный голос — не металлический, холодный, а наполненный эмоциями и чувствами; чат с техподдержкой перестанет раздражать, а вы сможете заставить свой телефон отвечать на неприятные звонки вместо себя.

Загрузка…
Как с помощью нейросети в Интернете можно изменить свой голос

Компания Dwango Media Village , занимающаяся исследованиями и разработками, а также применением сервисных приложений, ориентированных на машинное обучение, анонсировала систему преобразования голоса, которая может изменить звучание любого человека, переформатировав его голос в чужой.
Вот пример работы искусственного преобразования голоса, которое может изменить любой голос в голоса сотни других человек — Dwango Media Village (dmv)
Демонстрация работы системы преобразования голоса, названная Dwango Media Village «Seiren Voice», доступна на следующих сайтах: Seiren Voice (AI Voice Changer) . Стоит отметить, что существуют и отечественные аналогичные проекты, с гораздо более интересным подбором тембров голосов, привычных слуху соотечественников, например технологии на основе методики DeepFake .
Видео взято с YouTube-канала «Vera Voice»
Но что отличает продукт от Dwango Media Village, так это возможность опробовать его собственным голосом. По крайней мере, попытаться это сделать, поскольку сайт японский и может неверно распознавать иностранную речь, да и не со всеми браузерами и платформами он «дружит». Например, с iPhone может не воспринимать речь через любой из браузеров, а с десктопа через браузер Firefox сработает. Как бы то ни было, в компании обещают, что технология будет развиваться и сайт будет также улучшен, а значит, и функционал будет расширен.
Вы можете записать собственный голос, нажав «Запись» (для удобства элементы управления выделены на скриншотах)

Появится всплывающее окно с запросом разрешения на использование микрофона. Нажмите «Разрешить», чтобы немедленно начать запись (для этого компьютер должен быть оборудован микрофоном).

Пишем любую фразу, но ее лучше не растягивать более чем на 5 секунд.

Когда запись будет завершена, справа от кнопки Записи/ Воспроизведения (на скриншоте она выделена) появится тембр вашего голоса в форме волны.

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

В программе существует 100 типов тембров, от высокого до низкого, а преобразование голоса может выполняться для восьми человек одновременно. Нажмите «Начать преобразование» (кнопка выделена).

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

После переформации, которая продлится порядка 40 секунд, в окне результата преобразования появится видео с записанным голосом. Если проиграть его, то можно услышать собственный голос и 8 типов результатов конвертации.
Качество конвертации будет зависеть от качества записи. Если все удалось, то вы услышите следующий результат, только со своей озвучкой:
Видео взято с YouTube-канала «gigazine»
Файл можно скачать в формате MP4.

А у вас получилось поменять свой голос?
Нейросети обрабатывают и изменяют голос в реальном времени.
- Испанская компания Voicemod, известная одноимённой утилитой для изменения голоса в реальном времени, представила AI Voices — технологию, которая использует нейросети для преобразования речи пользователя.
- AI Voices даёт возможность говорить голосом одного из нескольких персонажей, среди которых актёр Морган Фримен, пилот самолёта, астронавт и ИИ-ассистент HAL-9000 из цикла произведений «Космическая одиссея» Артура Кларка.
- Для преобразования утилита использует технологии машинного обучения, при этом проводя все расчёты на компьютере пользователя.
- Авторы нескольких зарубежных изданий, включая The Verge и VentureBeat, опробовали демоверсию утилиты и написали, что она действительно позволила им говорить прямо как Морган Фримен, без заметных искажений в звучании.
- В будущем разработчики планируют обучить нейросеть имитации голосов других известных персонажей.
- 15 июня Voicemod запустила закрытое бета-тестирование AI Voices. Подать заявку на участие может любой желающий на сайте программы. Авторы обещают предоставить доступ к утилите в течение нескольких недель.
- Когда состоится релиз AI Voices, неизвестно.

Теперь говорить голосом мужчины тридцати лет, детским голоском или даже звучать как Барак Обама сможет каждый: благодаря американскому стартапу Modulate любой желающий сможет трансформировать свой голос в режиме реального времени.
Разработка проекта началась ещё в 2017-м (по крайней мере, официальный Twitter-аккаунт был зарегистрирован в августе того года), а ровно через год появилось первое видео, демонстрирующее возможности данной технологии.
Видимо, проект приобрёл завершенный вид лишь сейчас, поскольку на днях журналист MIT Technology Review Уилл Найт (Will Knight) решил лично протестировать эффективность новой нейросети. Для этого он прочёл стих в звукоизолированной комнате, после чего его запись его голоса была трансформирована в женский с сохранением всех акцентов, ударений и интонаций.
Однако самое удивительное в данной нейросети – это возможность модуляции голоса в режиме реального времени. И если по началу он звучит несколько искусственно, то с каждой фразой становится всё более правдоподобным. Таким образом, любой человек сможет изменить свой голос до неузнаваемости так, что никто не сможет почувствовать (или услышать?) подвох. Кстати, испытать возможности аудиофильтров и записать 10-секундный трэк может кажый желающий с микрофоном и веб-камерой на официальном сайте нейросети Modulate.ai.
Если не позаботиться об этическом аспекте такой технологии, то телефонные розыгрыши (и не только они) могут создать ряд неудобств или даже спровоцировать подсудное дело. Однако автор идеи и глава проекта Майк Паппас (Mike Pappas) уверяет, что нейросеть создана исключительно для благих целей: например, для поддержания имиджа игрока в онлайн-играх, дополнительной защиты при общении в Сети и т.п., но отнюдь не для каких-то нелицеприятных действий вроде запугивания, шантажа или тех же розыгрышей. Кроме того, искусственный голос будет иметь некоторые отличительные признаки (по типу «водяных знаков» для защиты авторского права), по которым можно будет сразу определить, что голос не настоящий.
Очевидно, что проект будет лишь набирать обороты, судя по объявлению о поиске новых сотрудников, размещённом на официальной странице стартапа в Linkedin. Качество искусственных голосов будет улучшаться и, вполне вероятно, что спустя недолгое время кто-то из больших компаний, например, Google, захочет присоединить нейросеть Modulate к своей империи.
Источник(и)
Ещё по теме

Anton Avdyushkin — Редактор русскоязычной версии Notebookcheck — 2967 статей на Notebookcheck c 2018 года
Мой карьерный путь начался в салоне по продаже ноутбуков, а спустя пару лет я уже занимался их ремонтом в авторизованном сервисном центре, проводя долгие вечера за паяльной станцией. Я — сторонник научного прогресса, потому сейчас, годы спустя, пишу про мобильные технологии, посвящая свободное время игровому миру, конференциям и событиям, помогающим мне расти профессионально. На отдыхе люблю читать фантастику — она помогает заглянуть в будущее.
‘
Alina Bakhvalova, 2019-03- 1 (Update: 2019-03- 1)







