Фото Pixino / PD
Краткая история компьютерной музыки
Первым компьютером, который использовали для создания музыки, был CSIRAC. Его спроектировала группа австралийских инженеров в конце 40-х годов. Тогда математик Джеф Хилл (Geoff Hill) разработал специальную алгоритмическую программу для синтеза музыкальных произведений. В 1951 году CSIRAC успешно исполнил популярный «Марш полковника Боги» («Colonel Bogey March»). Но на этом его музыкальные достижения закончились.
Поэтому первым «компьютерным музыкантом» считают Макса Мэтьюса (Max Mathews). Он начал воспроизводить музыку с помощью мейнфрейма IBM. Пример такой композиции:
С тех пор музыкальное программирование проделало большой путь. Под этим термином чаще всего понимают процесс создания треков с помощью секвенсоров, синтезаторов и специального ПО. Но некоторые инженеры-музыканты считают такой подход моветоном. Сторонники этой точки зрения используют программный код и специализированные ЯП для создания своих композиций.
Кто программирует музыку
В качестве примера можно привести инженера Эндрю Соренсена (Andrew Sorensen). Он доктор компьютерных наук и обладатель степени бакалавра в сфере джаза. Эндрю пишет музыку с 2005 года. Примеры треков можно найти на его Vimeo-канале. Вот одна из его работ (музыка начинается со второй минуты). Такие музыканты часто устраивают live-сессии и пишут треки перед живой аудиторией. Например, этим занимается Эллисон Уокер (Allison Walker) — саунд-дизайнер в игрострое из Мельбурна. По её словам, на таких выступлениях аудитория лучше понимает, насколько сложную работу проделывает композитор цифровой музыки.
К слову, на подобные перформансы можно попасть и в России. Например, в минувшие выходные в Екатеринбурге прошел алгорейв — дискотека, на которой диджеи в реальном времени писали код. Слушатели могли наблюдать, как наборы переменных и цифр превращаются в мелодию.
Некоторые авторы не просто программируют цифровую музыку. Они создают системы машинного обучения, которые помогают составлять музыкальные композиции и даже пишут их самостоятельно.
В этом направлении работает композитор Дэвид Коп (David Cope) из Университета Калифорнии. Он разработал и запатентовал алгоритм, генерирующий музыкальные треки на основе существующих. Например, на видео выше представлена композиция, основанная на творчестве Баха.
На чем пишут
Для создания музыки такого рода используют специальные языки программирования. Их число довольно обширно, поэтому дальше мы приведем лишь некоторые из них.
Примером может быть ORCA — это эзотерический ЯП для создания процедурных секвенсоров, в котором каждая буква алфавита представляет собой отдельную операцию. Один из резидентов Hacker News отметил, что написание мелодии с помощью операторов ORCA напоминает сборку пазла. Исходники и подробную инструкцию можно найти в репозитории на GitHub.
Вот пример мелодии, сгенерированной на ORCA:
Некоторые музыканты создают собственные языки. Например, уже упомянутый Эндрю Соренсен представил Extempore. Он разработан специально для проведения живых выступлений.
В 2014 году Эндрю выступил на конференции для разработчиков OSCON. Там он продемонстрировал возможности своего языка и написал мелодию с нуля. Запись есть на YouTube.
Также стоит выделить язык ChucK, который разработали инженеры из Принстонского университета еще в 2003 году. Он поддерживает параллельное выполнение нескольких потоков и дает возможность изменять программу прямо во время её исполнения. Подробная документация с примерами есть на сайте проекта.
Считать ли программную музыку искусством
Есть мнение, что программно-сгенерированные треки — это не настоящая музыка («искусственная»). В прошлом многие музыканты отказывались играть мелодии, сгенерированные программой Дэвида Копа, когда он просил их об этом. По словам Дэвида, они считали, что это негативным образом повлияет на их профессиональный имидж. Но ситуация изменилась.
Все больше людей и композиторов считает, что компьютеры и вычислительные системы созданы для расширения человеческих возможностей и развития творческих способностей. И все чаще музыканты экспериментируют с новым ПО, техникой и звуками — подбирают и создают необычные семплы. Едва ли музыкальное программирование станет массовым. Но это определенно то явление на стыке сразу нескольких областей знаний и культур, на которое стоит обратить внимание.
Дополнительное чтение в нашем «Мире Hi-Fi»:
Каков юридический статус систем ИИ, создающих музыку
Рождение и смерть альбома: как менялись музыкальные форматы за последние 100 лет
Как IT-компания боролась за право продавать музыку
От критиков к алгоритмам: как демократия и технократия пришли в музыкальную индустрию
Исследование: музыка вредит творческому мышлению — обсуждаем альтернативные мнения
На IT-фестивале представили первый «гендерно-нейтральный» голосовой помощник
Комментарии (14)
FForth
03.08.2019 21:37Вот ещё один музыкальный язык программирования
HMSL — Hierarchical Music Specification Language
P.S. Wikipedia: List of audio programming languages
VladSavitsky
04.08.2019 08:38+1Я послушал — очень тяжелая для восприятия музыка. Я больше склоняюсь к тому, что это набор звуков, чем музыка. Я что-то подобное еще на синклере пробовал, то никакой музыки не получалось — только звуки. Вот тут тоже самое…
brrr
04.08.2019 09:36+1Это все на любителя. Есть целое направление Intelligent Dance Music, которое можно в целом описать как набор звуков. В целом там есть что послушать, но эта музыка действительно в большинстве случаем сложна для восприятия.
grt_pretender
04.08.2019 17:22Есть еще Pure Data, весьма любопытный язык, в том числе и для чисто саунд-дизайна.
oosavu
04.08.2019 18:10+1пытался когда-то разобраться с этим extempore — здоровская идея с дополнением лиспа низкоуровневым языком, но на практике документации практический нету, проект полудохлый и разбирается в нём только сам автор.
Очень не хватает при написании реальной музыки разделить часть которую ты программируешь и часть которую ты крутишь мышкой или контроллером, как в обычном DAW. Когда в каком-нибудь условном аблетоне появится девайс в котором можно процедурно писать некий код (банально задать кривую автоматизации формулой) — вот тогда алгорейвы выйдут из подполья и будут новым словом в музыке. А пока — наслаждайтесь механистическими небалгозвучными мелодиями.
ps: Autechre наверное единственное исключение, у них действительно что-то музыкальное, а не демонстрация «смотрите как можно писать буквы и будет что-то похожее на музыку». Впрочем они не лайвкодингом занимаются, а всего лишь пишут часть секвенций на визуальном max, что не очень то по теме статьи
015z
04.08.2019 21:13Как слушатель, не вижу большой разницы между алгомузыкой и музыкой, создаваемой с помощью аналоговых модульных секвенсоров (пример). Просто еще один инструмент производства.
AlexTOPMAN
05.08.2019 13:18Согласен. В этой статье стоило также упомянуть, что до начала «эпохи программирования» музыки, была ещё «эпоха конструирования» (дальше пишу на примере самого яркого представителя этой эпохи — треккерной музыки с пиками её успехов на демосцене), когда музыку сочиняли уже не наигрывая её традиционно на муз. инструментах, а в специальном муз. редакторе для каждого семпла/инструмента, наподобие нотной записи задаются нужные высоту, длительность, эффекты и пр., тем самым полностью моделируя всё муз. произведение, а потом его воспроизводя и по результатам прослушивания итерационно корректируя до требуемого финального состояния. Огромным плюсом получается очень компактный размерчик итогового музыкального файла в таком формате, т.к. каждый уникальный семпл в музыке сохранён в файле лишь единожды и просто воспроизводится плеером нужное число раз в нужное время «по нотам», вместо многократного кодирования всей этой повторяемости, как в обычных wav, mp3, flac и т.п., на протяжении всего муз. файла.
DrunkBear
05.08.2019 10:42Больше похоже на создание демок: «ух ты, какой красивый глюк получился, давайте придумаем, как его использовать!»
Не любитель IDM, а тех же самых Voodoo People или Propane Nightmares, написанных на музыкальных языках, в гугле не нашёл.
PS с другой стороны, возможно, ещё нет того самого увлечённого чувака, который из хобби для некоторых сделает штуку, интересную многим, как Dub FX с битбоксом.
Symsym
Надеялся прочитать что-то про Autechre