Нейросети уже вошли в нашу жизнь — алгоритмы подсказывают дорогу, рисуют картины, пишут рассказы, программируют и даже поют. При этом, чтобы воспользоваться их умениями, не обязательно быть продвинутым программистом — возможности нейросетей доступны широкому кругу пользователей совершенно бесплатно. Из этого материала вы узнаете, как за несколько минут и без финансовых вложений сгенерировать вокальную дорожку голосом известного исполнителя с помощью популярного алгоритма So-VITS-SVC.
Искусственный интеллект и нейросети захватывают музыкальный мир: пока одни алгоритмы генерируют музыку и подсказывают идеи для текстов, другие — имитируют голоса знаменитых исполнителей. В последние месяцы интернет захлестнула волна новостей о появлении песен Дрейка, The Weeknd и Канье Уэста, в которых сами музыканты не спели ни одной ноты — всю работу за них сделали нейросети. Само собой, без их ведома.
Нейросети и алгоритмы, точно имитирующие голоса людей, — это удивительная разработка, появление которой окажет огромное влияние на музыкальную индустрию. И хотя пока внимание общественности привлекли лишь несколько примеров такой мимикрии, тысячи энтузиастов уже вовсю работают с искусственным интеллектом, переосмысляя новыми голосами популярные песни.
Музыкальный мир, живущий за пределами офисных кабинетов больших лейблов, неожиданно превратился в серию комиксов Marvel «Что, если?..», экспериментирующую с основными фактами выдуманных миров. Что, если бы Пол Маккартни пел «Piano Man» вместо Билли Джоэла? Что, если бы вместо Эминема и Дайдо легендарную «Stan» исполнили Канье Уэст и Рианна? Как звучала бы «Never Gonna Give You Up» Рика Эстли, если бы её пел Майкл Джексон? А что, если бы лидером Blur стал Курт Кобейн?
Благодаря искусственному интеллекту у нас — наконец-то! — появилась возможность ответить на эти вопросы.
Как сгенерировать голос с помощью искусственного интеллекта
Для создания каверов с голосами известных исполнителей большинство авторов используют программу SoftVC VITS Singing Voice Conversion (So-VITS-SVC). Проект с открытым исходным кодом представляет собой модель на базе искусственного интеллекта, обучающуюся на основе аудиофайлов с записью голоса. Модель генерирует вокальные партии с голосом, на котором была обучена, при этом высота, характер и тембр не играют роли — So-VITS-SVC споёт вам так, как вы захотите.
So-VITS-SVC задумывалась как музыкальная нейросеть, направленная на создание вокальных партий в разных жанрах, однако Интернет внёс в планы разработчиков свои коррективы. Алгоритм завирусился в сети в апреле 2023 года, когда YouTube заполонили ролики, в которых известные песни «перепеваются» голосами других исполнителей. Для подобного творчества сразу же придумали оригинальное название — нейромешап.
So-VITS-SVC далеко не единственная доступная модель, способная петь чужими голосами, но точно самая популярная. Для обучения модели пользователи извлекают дорожку вокала из записей известных музыкантов, загружают сэмплы в программу, а затем генерируют вокальные партии заданного исполнителя.
Получить доступ к So-VITS-SVC можно несколькими способами. Самый прямолинейный — посетить страницу проекта на GitHub, скачать файлы программы и запустить их на своём компьютере. Процесс установки довольно запутан и требует от пользователя базовых знаний о написании кода и работы с проектами. К тому же локальная копия алгоритма требовательна к компьютеру — анализ, обработка и генерация голоса происходят на мощностях видеокарты, поэтому чем выше производительность графического адаптера в вашей машине, тем быстрее и эффективнее работает модель.
Как установить So-VITS-SVC
Для установки So-VITS-SVC можно воспользоваться pip (Python) или клонировать проект с GitHub.
Установка через pip
Установка So-VITS-SVC через pip происходит командой в терминале:
pip install -U so-vits-svc-fork
После ввода команды система автоматически установит последнюю версию проекта и создаст необходимые зависимости.
Установка через GitHub
Установить So-VITS-SVC можно и через GitHub путём клонирования репозитория проекта и его ручного запуска в системе. Последнее происходит набором команд:
git clone https://github.com/voicepaw/so-vits-svc-fork.git cd so-vits-svc-fork pip install -e .
Как пользоваться So-VITS-SVC
Использовать модель можно через графический интерфейс или через CLI. Для большинства пользователей графический интерфейс будет более простым и наглядным способом генерации голоса с помощью So-VITS-SVC.
Для запуска интерфейса после установки проекта необходимо ввести в терминале команду:
svc gui
Команда отобразит на экране интерфейс голосового генератора:
В интерфейсе располагаются кнопки и слайдеры для управления генерацией голоса. В частности, пользователи могут:
- Выбрать голос-источник (основу будущей генерации) из списка заранее подготовленных голосов или загрузив собственный файл.
- Выбрать голос-приёмник из списка заранее подготовленных голосов или загрузив собственный файл.
- Настроить высоту звучания генерируемого голоса.
- Настроить динамику генерируемого голоса.
- Настроить длительность звуков и смену темпа в ходе разговора/пения для будущего голоса.
- Послушать пример оригинального голоса.
- Конвертировать один голос в другой.
- Сохранить результаты генерации в WAV-файл.
Интерфейс поддерживает перетаскивание, благодаря чему файлы можно закидывать прямо в окно генератора. Окно программы отображает спектрограммы голосов и поддерживает горячие клавиши: так, например, можно привязать «Пробел» к запуску воспроизведения оригинального голоса, а «Ввод» сделать ответственным за запуск генерации.
Плюс локальной установки So-VITS-SVC заключается в обширной коллекции моделей голосов, предлагающей не только популярные варианты наподобие The Weeknd или Дрейка, но и кое-что посложнее — например, голоса Криса Корнелла, Chief Keef и других исполнителей. Более того, сообщество постоянно пополняет каталог, предлагая новые модели и улучшая старые.
В локальной копии также доступны инструменты для самостоятельного обучения алгоритма на основе любых голосов (отечественные умельцы уже сгенерировали модель иноагента-Моргенштерна). Для заинтересованных в обучении существует подробное руководство, рассказывающее все тонкости процесса моделирования голосов.
Чат-бот всему голова
Для тех, кто не хочет возиться с кодом, существуют альтернативные варианты получения доступа к технологии. Самый простой и быстрый — подключение к Discord-серверу AI World, где собираются экспериментаторы в области искусственного голоса. Для генерации вокала на сервере размещён бот, работающий на основе So-VITS-SVC и функционально идентичный программе, выложенной на GitHub.
Идея бота в том, чтобы предоставить ему исходную вокальную дорожку, а затем на её основе сгенерировать новый аудиофайл с другим голосом. Таким нехитрым способом виртуальная Ариана Гранде запоёт вместо реального Юры Шатунова в «Белых розах», а искусственный Кендрик Ламар сменит живого Джеймса Хетфилда в «Enter Sandman».
Сценарии применения бота не ограничиваются только заменой вокалистов в известной музыке — можно пойти дальше и поработать с собственным материалом. Так, например, загрузив свою вокальную дорожку и поменяв в ней голос, можно обогатить трек бэк-вокалом Тейлор Свифт или Леди Гаги, а затем… рассказывать непосвящённым, как эта самая Леди Гага живёт у вас на подпевках.
После подключения к серверу нужно присоединиться к каналу бота «ai-bot-1» и перетащить в окно чата аудиофайл с голосом, который мы хотим изменить. Для обучения модели понадобится а-капелла — чистая дорожка вокала без фоновых шумов, музыки и прочего аудиоконтента. Изолировать голос от музыки можно как в платных инструментах (RipX), так и в бесплатных наподобие VocalRemover. Бот поддерживает аудио в форматах WAV, MP3, MOV и MP4.
Для обработки аудио используется команда -model @JuiceAI1 — её нужно дописать в чате после имени файла. При этом слово «model» нужно заменить на голос желаемого исполнителя. Указать любого музыканта не выйдет, бот ограничен списком заранее подготовленных голосов, среди которых Канье Уэст, Ариана Гранде, Дрейк, Тейлор Свифт, Джастин Бибер, Кендрик Ламар, Трэвис Скотт и другие исполнители. Полный список доступных голосов на сервере представлен в канале «available-voices» в левом боковом меню.
Для генерации вокальной дорожки с голосом The Weeknd нужно ввести в чате команду filename -weeknd @JuiceAI1, а для использования голоса Канье Уэста — filename -kanye @JuiceAI1.
После определения целевого голоса и загрузки файла, бот обработает аудио и вернёт новый файл с изменённым голосом. Всё, что остаётся — импортировать файл на новую аудиодорожку и уложить голос в микс.
Я музыкант, но умею в таблицы
Получить доступ к So-VITS-SVC можно и без установки локальной копии проекта и регистрации в Discord, используя тематические «голосовые таблицы» в сервисе Google Colab (например, эту, эту или эту). Способ относительно простой и максимально доступный: для мимикрии одного певца под другого достаточно открыть ссылку в браузере, а затем следовать пошаговой инструкции, нажимая кнопки в таблице.
Для использования таблиц понадобится аккаунт Google, который попросит разрешения на доступ к пользовательскому хранилищу в Google Диске. Требование объяснимое: загружаемые и выгружаемые файлы будут сохраняться именно там.
Генерация голоса происходит на серверах Google и не требует от пользователя никаких дополнительных действий. Единственный минус такого способа — некоторая непредсказуемость таблиц. По какой-то причине имитация срабатывает не всегда корректно, из-за чего на выходе можно получить тот же файл, что использовался в качестве источника.
Я музыкант, но с деньгами
Наконец, для тех, кто не хочет ничего устанавливать, ничего обучать и давать куда-либо доступ, существуют несколько платных сервисов генерации голосов посредством нейросетей. Например, Uberduck или Voicify.
Uberduck — одна из самых популярных коммерческих платформ для мимикрии голосов. Одна из отличительных особенностей сервиса — большой выбор голосов, среди которых присутствуют как современные вокалисты (Леди Гага, Граймс), так и те, кого уже давно нет в живых (Дэвид Боуи, Марвин Гэй, Фредди Меркьюри). Сервис также позволяет создавать собственные модели для генерации любых голосов.
Тестирование площадки бесплатное, клонирование — нет. Стоимость использования «Убер Утки» начинается от $9,99 в месяц и растёт по мере расширения функционала.
Основной конкурент Uberduck — Voicify — отличается меньшим количеством доступных голосов, но вместе с тем и более дешёвыми тарифами. Каталог голосов предлагает большой выбор поп, хип-хоп и рэп-исполнителей (Дрейк, Майкл Джексон, Эминем), а также обучается на пользовательских данных. Стоимость использования стартует от $8,99/мес.
Генерируй, мимикрируй
Нейросети уже умеют имитировать голос, подменяя одного человека другим в заранее заданных границах. Следующим шагом станет полная свобода алгоритмов: сети научатся говорить и петь за известных людей самостоятельно, не привязываясь к какому-либо шаблону или источнику. Когда это произойдёт, неизвестно, но, само собой, ждать осталось не долго.
Подводя итог всему вышесказанному, стоит напомнить, что правовой статус таких имитаций посредством ИИ до конца не ясен. Недавняя история с кавером от Ghostwriter, воспользовавшегося голосами Дрейка и The Weeknd, лишнее тому подтверждение: как только песня начала набирать популярность в сети, Universal Music Group удалила композицию, заявив о нарушении своих прав. В общем, создавая кавера с голосами других людей, стоит соблюдать осторожность: никогда не знаешь, чьи права и чувства заденет, казалось бы, безобидная шутка.