Как программисты пишут музыку с помощью кода

Дима Иванов, диджитал продюсер в Proximity, рассказывает о коллаборации людей и машин... В музыке.

Как программисты пишут музыку с помощью кода
© RB.ru

Машинный интеллект на территорию творчества

Определение термина «творчество» во многом объясняет почему машины до недавнего времени не применялись для решения творческих задач. Ведь типичный способ применения машины — программист задает точный алгоритм, по которому она должна обработать входящие данные и выдать результат.

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

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

Несколько примеров применения машинного интеллекта в творчестве:

В 2016 году нашумел проект Next Rembrandt. Исследовали поставили себе задачу спустя несколько столетий создать новое произведение Рембрандта. Если коротко, у них получилось:

Компания Deep Mind создала систему AlphaGo, которая обыграла лучших игроков в Го. Го - это настольная игра, похожая на шахматы, но в отличие от шахмат в Го невозможно просчитать все возможные ходы, вместо этого игроки больше полагаются на интуицию, поэтому достижения компьютерного алгоритма потрясли Го-сообщество. В интервью после поражения один из лучших игроков в мире называет AlphaGo богом. Полное интервью (на англ.):

В маркетинге специалистам постоянно приходится принимать решения на основе большого объема разрозненной информации и интуиции. И эта деятельность по своей сути также является творческим процесс. В сфере маркетинга технологии обычно применяются для агрегации данных и представлении их в понятном формате, чтобы специалист мог обдумать ситуацию и принять решение. Легко представить реакцию рынка, когда появилась новость о том, что бренд Cosabella отказался от услуг маркетингового агентства в пользу автоматической платформы Albert, которая использует технологии искусственного интеллекта для управления маркетинговыми активностями.

А что с музыкой?

Мы уже успели привыкнуть к разнообразным проектам с применением машинного интеллекта при работе с графикой (например, FaceApp, Prisma, Pikazo, Quick Draw от Google). Гораздо сложнее вспомнить какой-нибудь аналогичный проект в области музыки. Это неслучайно, так как при работе с музыкой возникает ряд нетипичных и достаточно сложных ограничений, которые требуют нестандартных подходов, например,

Отсутствие объективных критериев оценки

Для эффективного обучения алгоритму нужны максимально точные показатели успеха. Например, для вышеупомянутого алгоритма AlphaGo, этот показатель — победа в партии. Или, например, для обучения алгоритмов распознавания объектов на изображениях используются размеченные картинки — вот картинка с котом, а вот с собакой. Таким образом алгоритм всегда сверяется с правильным решением. Но попробуйте определить критерии для музыки. Какой результат для музыки правильный, а какой — неправильный? Работа с критериями оценки результата при работе с музыкой — сложная, объемная задача.

Нестабильное качество на выходе

Например, глитчи (баги) при обработке изображения не всегда выглядят, как баг, скорее как художественный эффект (см. Glitche). В музыке любой баг режет слух — будь то шум илинеправильная нота, так или иначе, это будет воспринято слушателем негативно. По этой причине исследователям, как правило, приходится отбирать из всей сгенерированной музыки отдельные фрагменты с хорошим результатом и вручную компилировать их, чтобы получить на выходе качественный музыкальный трек. Это крайне усложняет создание пользовательских сервисов, с помощью которых можно было, как в Prisma моментально создавать музыку.

Распознавание входящих данных

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

Синтезировать звук сложнее, чем изображение или текст.

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

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

Создание звукового потока с нуля

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

Создание мелодии

Пожалуй, наиболее популярное направление. Исследователи учат алгоритм улавливать мелодию в музыке и воссоздавать тоже только мелодию. Таким образом на выходе получается последовательность нот или дорожка в MIDI-формате. На основе такого подхода, например, сотрудники Яндекса создали алгоритм, который написал музыку в стиле композитора Скрябина.

Создание паттернов

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

Коллаборация людей и машин

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

Искусство

Исследователи из Яндекса в последнее время активно экспериментируют в области музыки. Сначала они выпустили альбомы «Нейронная оборона» (в стиле «Гражданской обороны») и Neurona (в стиле Nirvana), где ИИ написал тексты к песням, а сотрудники Яндекса подобрали аранжировки и записали песни. Спустя некоторое время исследователи создали алгоритм, который уже смог написать непосредственно мелодию в стиле композитора Скрябина. Аранжировки опять же подготовили и сыграли профессиональные музыканты.

Профессиональная сфера

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

Развлекательные проекты

В этой области преуспел Google со своими проектами AI Experiments. К примеру, AI Duet позволяет «сыграть в четыре руки» с искусственным интеллектом. Человек наигрывает любую мелодию, а AI Duet пытается доиграть продолжение. У профессиональных музыкантов получается достаточно неплохо, а обычные пользователи могут поразвлечься, просто перекидываясь с ИИ бессвязным набором нот.

Реклама

Этим летом бренд Miller Alcohol Free, который уже давно закрепился на территории музыки и технологий, запустил рекламный проект в коллаборации с креативным агентством BOOTLEG. В рамках проекта пользователям предлагали поучаствовать в создании бесконечного музыкального трека - Miller Future Music. Для этого пользователь загружает селфи, система анализирует персональные особенности внешности и эмоции и вносит уникальные изменения на основе этих данных в трек. На выходе получается бесконечный, постоянно меняющийся трек в стиле техно, который зависит от эмоций всех людей, принявших участие в проекте.

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