Thriving Machine — как мы учим нейросети быть персональными композиторами и зачем выпустили альбом

Нейросети могут создавать не только картинки и тексты, но и музыку. На прошлой неделе в стриминговом сервисе СберЗвук появился альбом Thriving Machine, который мы в Управлении R&D ML SberDevices создали с помощью нейросетей. Сейчас расскажем, как происходит процесс создания генеративной музыки и какие задачи можно решать с помощью таких технологий.

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

Идея выпустить полноценный альбом с генеративной музыкой пришла к нам примерно полгода назад. Тогда в SberDevices уже вовсю велась исследовательская работа в этом направлении. Мы проводили эксперименты, изучали работы других команд и пытались их воспроизвести, разрабатывали собственные решения. С какого-то момента количество переросло в качество, и мы стали получать интересные результаты. Вот тогда мы и решили создать нечто большее.

В альбоме Thriving Machine 15 треков разных жанров — мы постарались сделать музыку разнообразной, чтобы продемонстрировать возможности алгоритмов. Музыку, обложку и названия композиций мы сгенерировали с помощью целого набора нейросетей. Чтобы это стало возможным, наша команда проделала большую работу.

Почему для генерации музыки нужен целый ансамбль нейросетей

Существует два основных подхода к рассмотрению музыки: в качестве звукового сигнала (колебательный процесс в амплитудном или частотном представлении) и в качестве нотного текста. Как успешный пример реализации первого подхода можно назвать, например, JukeBox.

Во втором случае не учитываются нюансы звукоизвлечения, зато нужно меньше вычислительных ресурсов благодаря более компактному представлению музыки — в виде потока музыкальных событий. Мы решили двигаться по пути максимально рационального использования ресурсов и рассматривали музыку как нотный текст. В таком тексте каждый инструмент играет (или не играет) определённую ноту или аккорд в каждом отдельно взятом такте музыкальной композиции. Вот как выглядит представленная в таком виде музыка.

Партитура — пример традиционной нотной записи музыки

Для создания музыки мы используем ансамбль нейросетей SymFormer. Это наша собственная разработка на основе открытой модели Performer, которая была изначально предназначена для работы с текстом. И именно рассмотрение музыки как нотного текста позволило применить её для решения нашей задачи.

Разработанную модель нужно было обучить, для этого мы собрали датасет из 160 тысяч уникальных композиций. Это были треки в самых разных жанрах — рок, эмбиент, джаз, рэп, классика и другие. Такой богатый датасет был нужен для того, чтобы иметь возможность создавать разнообразную музыку. В общем, нам нужна была универсальная модель. Вот как она работает.

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

Потом начинается магия. Нейросеть генерирует структуру композиции. Точнее, несколько структур на выбор. Для нас это выглядит как вектор. Пример можно увидеть на картинке ниже.

Сильно упрощённое и сведённое в двухмерный формат отображение n-мерного вектора

Далее модель-ранжировщик выбирает, какие из вариантов максимально соответствуют описанию стиля и структуры композиции. Чтобы научить нейросеть отбирать композиции, мы отдавали примеры сгенерированной музыки разметчикам и просили людей голосовать за лучшие. Вот пример таких музыкальных сэмплов. Больше всего голосов разметчики отдали четвёртому варианту.

На выходе мы получаем музыкальную композицию в формате MIDI (Musical Instrument Digital Interface). На самом деле это формат обмена данными между электронными музыкальными инструментами, ставший де факто стандартом музыкальной индустрии. Файл такого формата может содержать все музыкальные события — тембр, темп, тональность, названия инструментов, нажатие клавиш, их длительность и так далее.

Запись нотного текста в виде музыкальных событий (MIDI) — скриншот GarageBand

Затем наш файл с набором музыкальных событий превращается в музыку. На этом этапе нейросетям пока помогают люди — саунд-дизайнеры. Они подбирают инструменты и придают сгенерированным мелодиям более благозвучное звучание. На выходе получается трек в привычном формате, например mp3 или wav.

Кстати, вот так выглядит рабочее место нашего саунд-дизайнера.

Как мы создавали названия и обложку

Наша модель ruGPT-3 помогла нам сгенерировать названия треков. Для этого мы «скормили» ей описания треков и жанров, а она выдала несколько вариантов названий для каждого. Мы выбрали те, которые показались нам наиболее подходящими.

Варианты названия для трека Keep On Movin, сгенерированные нейросетью:

What Everyone Needs to Know

Back On Duty

Chorus of the Dragon

First Sweet Funk

Обложку создал наш нейросетевой «художник» — модель ruDALL-E по запросам «процветающая вселенная» и «струнный оркестр галактики». Мы сгенерировали несколько картинок, а графический дизайнер собрал получившиеся изображения в коллаж.

Готовая обложка

Можно сказать, что над созданием Thriving Machine трудился целый творческий коллектив из нейросетевых моделей, а люди им помогали. И это только первые результаты, пусть и очень хорошие — на самом деле технологии могут гораздо больше.

Треки под настроение и экономия для бизнеса. Что ждёт генеративную музыку

Thriving Machine — наш первый шаг в направлении генеративной музыки. Мы создали его, чтобы показать, на каком этапе развития находится технология и на что способны нейросети сегодня. В будущем пользователи смогут сами генерировать треки с помощью алгоритмов. Это будет персонализированная музыка: нейросети будут учитывать настроение пользователя и ситуацию, в которой он находится. Для учёбы подойдет одна композиция, для фитнеса — другая, для романтического свидания — третья. Разумеется, всё это должно происходить в режиме реального времени и будет доступно на любом устройстве. Например, смартфоне.

Генеративная музыка хороша не только для персонального использования. Рестораны, гостиницы, салоны красоты и другие бизнесы платят большие деньги за возможность ставить музыку для гостей. Возможность генерировать музыку с помощью нейросетей позволит им сэкономить, а ограничивать себя при этом не придётся — модели способны создавать самые разные композиции. В салоне красоты может играть ненавязчивая электронная музыка, а в винном баре — джаз.

Возможно, вы слышали о AI Song Contest — музыкальном конкурсе для нейросетей. Это своего рода Евровидение для алгоритмов, в котором есть свои победители. Довольно скоро алгоритмы научатся генерировать полноценные композиции, в которых нейросетями будет создано всё — от музыкальной композиции до текстов и вокала. Наша команда тоже работает в этом направлении.

Генеративная музыка — невероятно интересное направление. У нас в команде почти нет людей с музыкальным образованием, но даже технические специалисты, которых привлекает в первую очередь сложность задачи, интересуются музыкой и любят её. Поэтому новости о новых продуктах по этому направлению не заставят себя долго ждать.

Источник: vc.ru

Понравилась новость? Поделитесь с друзьями:
AdMarket News