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

После того как мы наигрались с графическими нейросетями Midjourney, Dall-E 2 и Stable Diffusion, возник вопрос, когда появятся подобные музыкальные сервисы. Пишешь: «хочу что-то в стиле калифорнийского серф-рока, но чтобы на гитаре играл Джими Хендрикс, на барабанах – Джон Бонэм, а вокал был от Сэм Браун» – и тебе нейросеть генерит персональный хит. Первый же запрос в Google «text-to-music» выдал в поиске Mubert – проект с российскими корнями, который стал одним из лидеров в мире генеративной музыки. И я отправился к сооснователю Mubert Павлу Згордану, который отвечает в компании за это направление.
Слова вместо нот: как нейросети научились генерировать музыку по текстовому запросу
Создано ИИ

В основе технологии генеративной музыки лежит огромная база семплов – небольших музыкальных партий размером от 1 до 64 тактов, из которых алгоритм, как из кирпичиков, строит музыкальную композицию. В 2019 году коллекция Mubert исчислялась сотнями тысяч семплов, сегодня счет идет на миллионы, и каждый месяц добавляются новые. Mubert покупает их через собственную биржу.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

«Сейчас мы платим около 50 центов за семпл, и музыканты, которые сотрудничают с нами, зарабатывают на этом в среднем по 500–600 долл. в месяц. Фрагменты необязательно должны сильно отличаться друг от друга – могут быть просто вариации».

Собственно, семплы – единственное, что осталось от старого Mubert: все алгоритмы и движки были кардинально переработаны. Старый алгоритм на основе лайков/дизлайков считал так: «если вам понравилось это сочетание звуков, то послушайте теперь вот такое – оно понравилось кому-то с аналогичными предпочтениями». Сейчас результаты выбора прогоняются через нейросеть и преобразуются в некий вектор в многомерном пространстве. Mubert изучил множество данных по трекам в разных жанрах, и музыка стала четче совпадать с ожиданиями пользователей.

«А еще мы сделали драм-машину – она играет барабанные партии, которые уже научилась сама придумывать, – рассказывает Павел Згордан. – Когда запускается трек из присланных семплов, мы вырезаем из них небольшие кусочки, а драммашина создает новый ритм».

Раньше музыкант при загрузке семплов должен был их тегировать; сейчас этого делать не надо: нейросеть по спектральному анализу определяет, что за звук перед ней, какой играет инструмент и пр., и сама маркирует его. Еще внедрили систему автоматического сведения треков – выстраивание баланса громкости, чем обычно занимаются звукорежиссеры. А в финале – автоматический мастеринг, шлифовка трека эквалайзерами и компрессорами. Все это уже работает в генераторе музыки для создателей контента Mubert Render.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Mubert Render – музыка будущего

Сколько раз мы в редакции сталкивались с проблемами подборки нужного музыкального трека для нашего видео. Чуть что не так с авторскими правами – и тот же YouTube блокирует ролик. Приходится обращаться к знакомым композиторам, а это лишние траты и времени, и денег.

Между тем в голове вполне может крутиться подходящая мелодия. Тут-то и пригодится Mubert Render. Выбираешь категорию (жанр, настроение или активность), уточняешь (например, neurofunk, или «новогоднее настроение», или «бег, темп 140»), задаешь продолжительность трека, затем нажимаешь кнопку Generate Track – и готово. Более того, здесь, как и при работе с графическими нейросетями, можно потом улучшать результат. Не хотите возиться с настройками? Просто загрузите ссылку на любое музыкальное видео в YouTube, и Render подберет вам новый трек, вдохновившись «прослушанным» фрагментом. Я, например, за десять минут сгенерил вполне приличную мелодию, ничем не хуже тех, что обычно слушаю в машине по пути на работу. И при скачивании получил от Mubert Render лицензионный сертификат: теперь я имею право использовать этот трек в своем творчестве – нужно лишь добавить в описание «музыка от mubert.com».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Что-то похожее

Есть и другой вариант использования Mubert Render – функция Search By Reference. Допустим, вы сделали ролик, нашли для него подходящую мелодию, а прав на нее у вас нет. Раньше это стало бы проблемой, но не теперь. Загружаете в программу YouTube-ссылку на музыку – и Render мгновенно подбирает что-то похожее. Почему именно ссылку, а не mp3-файл, например?

«Потому что YouTube – наиболее простой и этичный способ получить любой трек. В нем идеально работает система Content ID, так что правообладатели практически гарантированно получают роялти от прослушивания, – говорит Павел. – Раньше мы подбирали мелодии по запросу вручную, но теперь процесс автоматизировали нейронкой. Приходит человек с каким-нибудь модным хаусом для своего показа коллекции одежды, добавляет ссылку на него и получает похожий хаус, который может использовать без нарушения копирайта».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
«Люди спрашивают, насколько генеративна наша музыка на самом деле. Каждый раз, когда вы отправляете запрос, наш api генерирует уникальную комбинацию звуков. Музыка не берется из базы данных готовых треков, она создается во время запроса».
Люди спрашивают, насколько генеративна наша музыка на самом деле. Каждый раз, когда вы отправляете запрос, наш api генерирует уникальную комбинацию звуков. Музыка не берется из базы данных готовых треков, она создается во время запроса.
Создано ИИ

Text-To-Music

Но больше всего меня интересовала технология Text-to-music, тем более что на YouTube уже есть ролики с работой прототипа от Mubert.

«В августе мы с друзьями неделю сидели у меня, непрерывно создавая картинки в Midjourney, – были в неописуемом восторге от новой технологии, – вспоминает Павел. – Потом появилась возможность попробовать Stable Diffusion и DALL-E. В одном из чатов AI-художников кто-то спросил: "А где музыку брать такую же генеративную?" – и получил ответ: "На Mubert". И мы действительно в тот момент уже думали, как сделать нечто похожее с музыкой. Чтобы не искать на Render жанры, активности и все остальное, а просто ввести тот же промпт, который использовался для генерации изображения, и создать саундтрек. У нас есть база референсов, все звуки размечены – и не только по музыкальным категориям, но и по настроению».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

На словах все было просто: надо взять исходное промпт-описание, наложить на векторное пространство музыки, в котором находится облако тегов, получить векторную точку, которая соответствует референсу, и исходя из этого сгенерировать нужный трек. Однако в реальности оказалось, что создать музыку гораздо сложнее, чем статичную картинку. Картинка – один кадр. А если трек делается с частотой, например, 44 кГц, то в одной секунде 44 100 таких кадров.

«Чтобы написать музыку, нужно обработать в сотни тысяч раз больше данных, причем не просто обработать, а найти закономерность между, допустим, первым битом и стотысячным, и трехсоттысячным, и пятимиллионным. В музыке есть такие сложные вещи, как гармония, бит, грув, композиция. Процесс из одномерного пространства переходит в многомерное. Здесь нужен целый каскад нейросетей, одна из которых будет следить за генерацией похожих тембров, другая – за тем, чтобы тембр не "плавал" по тональности и попадал в нужные ноты, чтобы эти ноты попадали в ритм, чтобы ритм держался в одном груве, чтобы все остальные инструменты, которые есть в треке, подходили ко всему этому, чтобы через четыре такта на пятый начинало что-то еще добавляться», – объясняет Павел.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Кроме того, и генерация картинок, и визуальное искусство в целом проще в восприятии и коммерчески более интересно. Количество фотографов несопоставимо с количеством музыкантов: визуалов гораздо больше. Поэтому крупные компании сначала занялись изображениями, затем переключились на видео и только потом примутся за музыку. Технология Text-to-music пока очень далека от графических генераторов.

«Если вы напишете: "Хочу трек, как у Бейонсе, но с саксофоном, как в Romantic Collection 25, и с гитарой, как у Джими Хендрикса", нейросеть не сможет предложить вариант, – улыбается Павел. – Но это первый шаг к тому, чтобы получать музыку из текста».

Павел Згордан, сооснователь стримингового сервиса генеративной музыки Mubert, саунд- дизайнер и продюсер. Окончил Алтайский государственный университет.
Павел Згордан, сооснователь стримингового сервиса генеративной музыки Mubert, саунд- дизайнер и продюсер. Окончил Алтайский государственный университет.
Динара Девлет-Кильдеева
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Проблемы обучения

Серьезные ограничения накладывают и датасеты, на которых обучаются нейросети: они могут выдавать вариации на знакомые вещи. Например, чтобы обработать запрос «хочу техно с Майлзом Дэвисом и балалайкой», нужно, чтобы в исходном датасете была народная музыка всех стран, весь джаз, поп, фьюжн и техно и чтобы все это было описано.

«Почему мы до сих пор используем семплы и у нас не такие сложные алгоритмы, как у OpenAI? – спрашивает Павел и тут же сам отвечает. – Потому что музыка лучше получается. Мы не делаем продукт ради продукта – мы стремимся к хорошему звучанию. Как только современные технологии начнут давать хорошее звучание, мы станем их применять».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Вкалывают роботы

Нейросети обучаются на примере музыки, которую до них писали композиторы. Которые тоже обучались музыке, слушая мелодии других композиторов. И никто не предъявлял претензий к коллегам, вдохновившимся их творчеством (если, конечно, не было плагиата), – наоборот, радовались. Именно так рождаются новые жанры, которых просто не существовало бы, если бы музыканты не копировали друг друга.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

«Но когда музыка загружается на сервер и используется для обучения искусственного интеллекта, люди сразу пугаются, что роботы скоро отберут у них работу, – делится сомнениями Павел Згордан. – Когда технология разовьется, музыканты рано или поздно начнут предъявлять претензии AI-разработчикам. Поэтому мы не стали исключать музыкантов из уравнения, а сразу предоставили им возможности для нового заработка и необычного применения своих навыков».

«В нашем детстве Электроник пел: "Вкалывают роботы, а не человек"», – улыбается Павел. Но в итоге именно люди вкалывают. Мы думали, что ИИ избавит нас от рутины, роботы освободят от физического труда и люди будут заниматься искусством. Однако сегодня роботы пишут стихи и рассказы, сочиняют музыку и создают картины, а люди по-прежнему работают на заводах, в шахтах и офисах. Жизнь оказалась немного не такой, о какой мы мечтали.