Копируем и воспроизводим голос другого человека: ультимативный гайд по DeepFake Voice
Здравствуйте, уважаемые читатели портала 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. На открывшейся странице переходим в раздел «Тренировка» и последовательно следуем шагам, как показано на картинке.
- Задаём название будущей голосовой модели. (Не используйте кириллицу).
- Указываем количество ядер CPU. (Всегда ставьте на 1-2 меньше от макс. доступного числа ядер).
- Запускаем обработку датасета (Записей копируемого голоса).
- Выбираем алгоритм копирования тона. (Советую поставить, как показано на картинке выше).
- Задаём настройки частоты сохранения, максимальное число эпох (качество будущей модели) и нагрузки на GPU.
- Копируем индивидуальные черты голоса человека.
- Запускаем обучение голосовой модели.
Создание качественной голосовой модели может занять продолжительное количество времени. Например, на RTX 3060 Ti и Intel Core 12400F обучение с датасетом длинной 15-20 минут и 500 эпох занимает 3-4 часа реального времени. В консоли сmd вы можете отслеживать текущий прогресс обучения вашей голосовой модели. Перейдём к наглядному использованию.
Использование голосовой модели
Есть множество вариантов задействовать чужой голос: от шутливого поздравления с днём рождения голосом именинника до создания полноценной озвучки. Рассмотрим варианты применения технологии DeepFake Voice подробней.
Музыкальное произведение
Самое простое, что можно придумать с чужим голосом, — это заставить его спеть известную музыкальную композицию. Заставим Виталия Казунова спеть популярную песню «Ведьмаку заплатите чеканной монетой».
1. Находим в глобальной паутине выбранную музыкальную композицию в формате mp3/wav или конвертируем её сами. Помещаем её в любую удобную папку, не содержащую в пути или названии кириллицы.
2. Скачиваем бесплатную программу для отделения вокала (голоса) от инструментала (музыкальных инструментов).
Зеркало программы для отделения вокала от инструментала.
- Выбираем аудиотрек.
- Выбираем папку, куда будут распакованы файлы вокала и инструментала.
- Все настройки выставляем, как на скриншоте выше, и жмём кнопку Start.
В итоге у вас должны получиться два отдельных музыкальных файла. Переносим файл вокала оригинального аудиотрека в новую папку Vokal.
3. В панели нейронной сети переходим в раздел «Обработка модели».
- Выбираем обученную голосовую модель.
- Обновляем список (Если не видно модели).
- Указываем путь до папки Vokal, содержащую файл записанного голоса на замену.
- Выбираем файл модели голосовых черт.
- Запускаем замену голоса.
- Скачиваем обработанный файл.
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.
- Выбираем устройство ввода звука (микрофон).
- Выбираем виртуальный микрофон, добавленный Virtual Audio Cable (VAC) или его аналогом Virtual Cable.
- Выставляем оптимальные настройки выбора алгоритма обработки голоса, как на картинке выше.
- Добавляем профиль обученной голосовой модели.
- Настраиваем громкость, тон голоса, повторение тембра. (Услышать свой изменённый голос можно, выставив устройством вывода колонки/наушники).
- Выбираем виртуальный микрофон в игре или ПО и жмём Start.
Наслаждаемся результатом.
Получилось весьма натурально.
Заключение
Вот и настало «тёмное» цифровое будущее, когда знакомый голос по телефону или в мессенджере уже не является 100% гарантией узнаваемости человека на другом конце провода. Однако не стоит волноваться и бежать удалять записи своего голоса из интернета. Ведь нейронные сети — это всего лишь инструмент, использование которого зависит от человека, а человек — существо наказуемое. Уважайте свободу, используйте только проверенное ПО и ни в коем случае не позволяйте компаниям диктовать вам свои условия. С вами был Павел. Ещё увидимся!