Исследователи из Google представили нейросеть для генерации музыки в реальном времени. Пользователю надо только выбрать музыкальные инструменты, жанр и отрегулировать ползунки интенсивности звуковой дорожки. Всё остальное сделает модель машинного обучения. Разработка получила название Magenta RealTime.
Как это работает
Команда исследователей из Google уже работала над моделями машинного обучения для создания музыки. Эти модели генерировали сразу весь трек, а пользователям приходилось ждать, пока нейросеть закончит генерацию. Благодаря этому способу модель машинного обучения точно следует заданному стилю и пожеланиям пользователя. Но есть и минусы: нейросеть нельзя использовать при потоковой генерации треков, например, для прямых трансляций.
Чтобы решить проблему, инженеры Google реализовали алгоритм создания композиций по частям. Нейросеть получает вводные от пользователя и генерирует небольшие кусочки длительностью около двух секунд. Также модель машинного обучения учитывает предыдущий фрагмент длительностью до десяти секунд, чтобы согласовать новые части треки.
Ещё один плюс этого метода в том, что для локального запуска Magenta RT хватит вычислительных возможностей потребительской видеокарты. Всё опять же из-за того, что нейросеть не обрабатывает сразу весь трек, а разбивает его на части. Например, генерация одного фрагмента при бесплатном тарифе Google Colab занимает всего 1,25 секунды. Это значит, что нейросеть создаёт кусочек музыкального произведения быстрее, чем тот успевает прозвучать. Если уменьшить продолжительность фрагментов, например, до одной секунды, то получится ускорить нейросеть, но в этом случае пострадает качество.
Как обучали Magenta RT
Для обучения нейросети исследователи Google использовали 190 тысяч часов инструментальной музыки, опубликованной на аудиостоках. Этот набор данных позволяет Magenta RT генерировать треки с точным соблюдением особенностей жанра и высоким качеством звучания.
При этом не обошлось без ограничений. Исследователи предупреждают, что в датасете не было вокальных композиций, поэтому Magenta RT не может создавать песни с текстом. Также в обучающих данных была в основном музыка западных жанров, что мешает нейросети справляться с треками редких музыкальных направлений. Например, модель машинного обучения без проблем сгенерирует рок-композицию, но не сможет повторить горловое пение.
Как получить доступ
Разработчики опубликовали код проекта на GitHub, а веса модели можно скачать на Hugging Face. Также в Google Collab развернули демонстрационную версию Magenta RT для тестов.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!