Копируем и воспроизводим голос другого человека: ультимативный гайд по DeepFake Voice

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Здравствуйте, уважаемые читатели портала IXBT. live! С вами, как всегда, на связи скучный Павел и в этой небольшой инструкции вы узнаете, как с помощью нейронной сети скопировать и воспроизвести голос любого человека. Мы последовательно, шаг за шагом разберём такие сложные вопросы, как подготовка датасета (сбора данных), создание модели голоса, значение параметров конфигурации нейронной сети, разделение вокала и инструментала, а также приведём наглядные примеры использования технологии DeepFake Voice.


Внимание!

Вся инструкция представлена только в ознакомительном виде. Автор не несёт никакой ответственности за её использование.

Системные требования

  • ОС: Windows 10/11
  • CPU: Intel Pentium G4560/AMD Athlon 3000G
  • GPU: Nvidia GTX 960/AMD RX 470 (Частичная поддержка)
  • RAM: 16 ГБ/ 8ГБ (с файлом подкачки на SSD)

Инструкция

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

Подготовка данных

Чтобы качественно скопировать голос любого человека, нам необходимо подготовить датасет с 10-30 минутным примером звучания копируемого голоса. Для этого идеально подойдут аудиокниги, подкасты, обзоры и файлы локализации видеоигр. Я же выбрал голос главного редактора портала IXBT. Games Виталия Казунова с его старого видеообзора на YouTube технологии Nvidia RTX Voice.

1. Скачиваем видеоролик и открываем его в любом удобном видеоредакторе. Лично я предпочитаю использовать Shotcut.

П.С. Удобный способ скачивать видео с YouTube.


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

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

Установка и обучение нейросети

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

1. Скачиваем портативный вариант нейросети. Она не требует установки сторонних библиотек, а благодаря энтузиасту, скрывающимся под ником Ba1yya, ещё и полностью переведена на русский язык.

Зеркало установщика нейросети.

2. Распаковываем файлы архива в любое удобное место и запускаем нейронную сеть через двойной клик по файлу go-web.bat.


Если всё прошло успешно, то вас автоматических перенесёт в вашем веб-браузере на страницу панели управления нейросетью по адресу localhost:7897. На открывшейся странице переходим в раздел «Тренировка» и последовательно следуем шагам, как показано на картинке.

  1. Задаём название будущей голосовой модели. (Не используйте кириллицу).
  2. Указываем количество ядер CPU. (Всегда ставьте на 1-2 меньше от макс. доступного числа ядер).
  3. Запускаем обработку датасета (Записей копируемого голоса).
  4. Выбираем алгоритм копирования тона. (Советую поставить, как показано на картинке выше).
  5. Задаём настройки частоты сохранения, максимальное число эпох (качество будущей модели) и нагрузки на GPU.
  6. Копируем индивидуальные черты голоса человека.
  7. Запускаем обучение голосовой модели.

Создание качественной голосовой модели может занять продолжительное количество времени. Например, на RTX 3060 Ti и Intel Core 12400F обучение с датасетом длинной 15-20 минут и 500 эпох занимает 3-4 часа реального времени. В консоли сmd вы можете отслеживать текущий прогресс обучения вашей голосовой модели. Перейдём к наглядному использованию.

Использование голосовой модели

Есть множество вариантов задействовать чужой голос: от шутливого поздравления с днём рождения голосом именинника до создания полноценной озвучки. Рассмотрим варианты применения технологии DeepFake Voice подробней.

Музыкальное произведение

Самое простое, что можно придумать с чужим голосом, — это заставить его спеть известную музыкальную композицию. Заставим Виталия Казунова спеть популярную песню «Ведьмаку заплатите чеканной монетой».

1. Находим в глобальной паутине выбранную музыкальную композицию в формате mp3/wav или конвертируем её сами. Помещаем её в любую удобную папку, не содержащую в пути или названии кириллицы.

2. Скачиваем бесплатную программу для отделения вокала (голоса) от инструментала (музыкальных инструментов).

Зеркало программы для отделения вокала от инструментала.

  1. Выбираем аудиотрек.
  2. Выбираем папку, куда будут распакованы файлы вокала и инструментала.
  3. Все настройки выставляем, как на скриншоте выше, и жмём кнопку Start.

В итоге у вас должны получиться два отдельных музыкальных файла. Переносим файл вокала оригинального аудиотрека в новую папку Vokal.

3. В панели нейронной сети переходим в раздел «Обработка модели».

  1. Выбираем обученную голосовую модель.
  2. Обновляем список (Если не видно модели).
  3. Указываем путь до папки Vokal, содержащую файл записанного голоса на замену.
  4. Выбираем файл модели голосовых черт.
  5. Запускаем замену голоса.
  6. Скачиваем обработанный файл.

4. Сводим полученную дорожку изменённого вокала со старым инструменталом с помощью видеоредактора.

Наслаждаемся результатом.

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

Замена голоса в реальном времени

Заменим свой голос, передаваемый напрямую через микрофон в режиме реального времени. Такая шалость идеально подойдёт для онлайн игр и сетевых мессенджеров по типу Discord и Skype.

1. Скачиваем бесплатную утилиту для подмены голоса в режиме реального времени.

Зеркало утилиты для подмены голоса.

2. Скачиваем и устанавливаем драйвер ретранслятора звука Virtual Audio Cable (VAC) или его аналог Virtual Cable. У некоторых пользователей одна из двух программ может не работать. Лично я использую Virtual Audio Cable 4.67. Если всё в порядке, то после установки ПО и перезагрузки ПК в звуковом микшере Windows появится новое звуковое устройство.

3. Запускаем программу для подмены голоса через двойной клик по start_https.bat (Может не работать). В дальнейшем достаточно будет запускать ПО через MMVCServerSIO.exe.

  1. Выбираем устройство ввода звука (микрофон).
  2. Выбираем виртуальный микрофон, добавленный Virtual Audio Cable (VAC) или его аналогом Virtual Cable.
  3. Выставляем оптимальные настройки выбора алгоритма обработки голоса, как на картинке выше.
  4. Добавляем профиль обученной голосовой модели.
  5. Настраиваем громкость, тон голоса, повторение тембра. (Услышать свой изменённый голос можно, выставив устройством вывода колонки/наушники).
  6. Выбираем виртуальный микрофон в игре или ПО и жмём Start.

Наслаждаемся результатом.

Получилось весьма натурально.

Заключение

Вот и настало «тёмное» цифровое будущее, когда знакомый голос по телефону или в мессенджере уже не является 100% гарантией узнаваемости человека на другом конце провода. Однако не стоит волноваться и бежать удалять записи своего голоса из интернета. Ведь нейронные сети — это всего лишь инструмент, использование которого зависит от человека, а человек — существо наказуемое. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!