Автоматическое создание музыки с помощью искусственного интеллекта

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

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

Да и сама цель для нас, разработчиков, тоже далеко не очевидна. Пытаемся ли мы создавать музыку из воздуха или на основе какой-либо формы вводных значений? Или мы хотим создать систему, которая могла бы сопровождать человека во время игры?

Я считаю, что в настоящее время для музыкантов нет причин переживать по поводу своих карьерных перспектив. Вряд ли искусственный интеллект полностью автоматизирует эту индустрию в 2021 году. Но создание музыки профессионального качества явно станет проще и дешевле в ближайшем будущем.

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

Jukebox от OpenAI  —  для футуристов

OpenAI  —  одна из компаний, которую основал тот самый любитель оленей, изобретатель ракет и машин по имени Илон Маск. У OpenAI есть несколько творческих проектов, самый заметный из которых GPT-3, посвящённый литературе. Но как меломан я отдал особое место в своём сердце Jukebox.

«Мы представляем Jukebox, нейронную сеть, которая генерирует музыку, в том числе примитивное пение, в виде необработанного звука в различных жанрах и стилях исполнителей».
 — OpenAI

Основная идея состоит в том, что они берут необработанный звук и кодируют его с помощью сверточных нейронных сетей (CNN). Представьте это, как способ сжать большое количество переменных до меньшего. Такая мера необходима, поскольку в звуке 44 100 переменных только в одной секунде, а в песне их много. Затем они производят процесс генерации этого уменьшенного набора переменных и распаковывают обратно до 44 100.

Упрощённая схема процесса с сайта OpenAI

Поп-песня в стиле Рика Эстли от Jukebox

Этот трек сгенерировал искусственный интеллект на основе предоставленных ему 10 секунд оригинальной песни.

ВНИМАНИЕ: сгенерированная часть начинается после 10 секунды.

Хотя в этой песне довольно много шума, очевидно, что это шаг в правильном направлении.

Являются ли перспективы OpenAI многообещающими?

Их самые последние открытия связаны с созданием музыки путём её преобразования в файл MIDI, который можно себе представить как ноты с грубыми инструкциями для музыкантов. Подробнее об этом в конце статьи.

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

AIVA  —  для творцов

Подходы AIVA и Jukebox к созданию музыки очень похожи: они работают с так называемым файлом MIDI (продолжайте представлять файл MIDI как ноты). Различаются они в базовой структуре данных, из которой генерируется музыка. Как мы видели на предыдущем примере, OpenAI берёт файл MIDI и создаёт продолжение этой аудиозаписи. AIVA же генерирует похожий, но совершенно новый фрагмент композиции.

Иными словами, мы загружаем песню в формате MIDI. И она обуславливает процесс создания новой композиции.

Скриншот программы AIVA

Я попробовал поэкспериментировать с двумя песнями: «Never Gonna Give you up» и «Super Mario Theme». После выбора одной композиции для обработки даётся несколько вариантов. К сожалению, на данный момент мы можем ограничиться только одной песней.

Скриншот AIVA: выбор параметров

Я решил создать по 3 композиции для каждой из оригинальных записей с продолжительностью менее 30 секунд. Я обнаружил, что AIVA очень хорошо работает с простой песней «Super Mario Theme» и довольно плохо с «Never Gonna Give you up», как будто её проигнорировали. Возможно, это связано с относительной сложностью трека. Оцените сами то, что вышло с «Super Mario Theme».

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

Amper Music  —  для всех

Совершенно другой подход использует компания Amper Music. Генератор Amper сам создаёт музыку и не позволяет человеку контролировать процесс. Это делается с помощью так называемых дескрипторов.

«Дескрипторы — это музыкальные алгоритмы, которые воспроизводят определенный стиль музыки. Один дескриптор может быть создан для исполнения нью-йоркского панк-рока, а другой  —  для спокойного пляжного фолка». 
 — Amper Music

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

Скриншот Amper Music: выбор параметров

А вот и результат. Получилось круто. Мне кажется, это отличный мотив для документального фильма об игрушках для собак. При повторном выборе одного и того же набора параметров композиции могут оказаться довольно похожими, но только по задумке.

Различие в подходах на примере ленты для механического пианино

Применяемый в Amper подход скорее всего объединяет в себе два первых решения, и мне сложно рассуждать, как именно он работает.

Основная разница между AIVA и Jukebox в природе структуры данных (способе хранения музыки). Чтобы понять разницу между Jukebox и AIVA, сначала надо понять отличие аудиозаписи от стандарта MIDI. В нашем случае MIDI можно понимать как набор из нескольких лент для механического пианино (пианолы), где лента, по сути, представляет собой один инструмент.

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

По оси X отображается время, а по оси Y  —  высота звука, на которой механическое пианино играет в данный момент (может включать несколько одновременно воспроизводимых звуков).

Сравнение: 1986 и сейчас. Изображение 1986 г. из Wikipedia.

Как вы можете себе представить, при таком подходе количество переменных гораздо меньше, чем в полной звуковой волне. Для ленты для пианолы у нас есть:

Высота звука * Количество голосов * Количество шагов квантования

Значит для минутной композиции нужно 4 голоса и высота звука 64, что является обычным параметром для машинного обучения. В результате получится примерно:

(400)*4*64 = 102 400 вероятностей

Отсюда: квантование 1/16, 100 ударов в минуту, все голоса моно, упрощённый расчет.

Для сравнения, оцифрованная звуковая волна с частотой семплирования 44 100 в течение 60 секунд приведет к:

(44 100*60)*16 = 42 336 000 вероятностей

Отсюда: частота семплирования 44 100, длина слова 16 бит и звук моно.

Этот упрощённый расчёт призван проиллюстрировать, что работать непосредственно со звуковой волной намного сложнее, если не вдаваться в подробности. Из-за дополнительных факторов работа со звуковой волной не терпит ошибок. Это хорошо видно на композиции от Jukebox, где присутствовал «шум». Такого бы не возникло при генерации в формате MIDI.

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

Заключение

Все 3 представленных решения имеют право на существование в музыкальной экосистеме искусственного интеллекта. 

AIVA подходит музыкантам, которые хотят творить с помощью искусственного интеллекта и вдохновляться им. 

Amper  —  это решение для создателей видео и специалистов по рекламе, которые стремятся найти простой звук, но при этом подходящий для использования в своих работах.

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

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Sandro Luck: Automatic Music Generation using AI.

Предыдущая статьяНабор инструментов Go для работы с микросервисами
Следующая статья8 частых ошибок в Android-разработке