Музыка, которую пишут алгоритмы. Что послушать и какой софт попробовать
Изучили разные источники и узнали, что такое алгоритмическая музыка и кто ее создает.
Алгоритмическая музыка и компьютер
Алгоритмической называется музыка, которая создана при помощи математических моделей, правил и алгоритмов. Звучание при этом достигается за счет сочетания аналогового и цифрового звука.
При написании такой музыки используют сложные ритмические фигуры: меняется темп или микротоновые интервалы. Все эти изменения можно описать математическими моделями. Алгоритм способен анализировать их и применять нужные в нужный момент.
Компьютеру задают параметры произведения, программа генерирует один или более готовых вариантов. При этом авторство принадлежит человеку, ведь именно он выбирает конечную версию произведения.
Первое музыкальное произведение, полностью написанное искусственным интеллектом, — «Сюита Иллиака для струнного квартета». Для его создания в 1957 американский композитор, теоретик музыки и химик Лежарен Хиллер в сотрудничестве с Леонардом Исааксоном запрограммировал компьютер ILLIAC I.
Прошло более полувека. В январе 2020-го Warner Music впервые подписала контракт с создающим музыку алгоритмом. Endel — приложение, которое генерирует индивидуальный звуковой фон, ориентируясь на погоду, время суток, местонахождение пользователя, его пульс и шаги.
А в феврале этого года программисты Дамьен Риль (Damien Riehl) и Ноа Рубин (Noah Rubin) заявили, что при помощи алгоритма впервые сгенерировали «все возможные» музыкальные мелодии в MIDI. Программа записала все комбинации из восьми нот и 12 тактов. Алгоритм создавал 300 тысяч мелодий в секунду — всего получилось 68 миллиардов. Разработчики защитили их авторским правом и сделали «общественным достоянием». Цель — прекратить разбирательства и войны между музыкантами за авторские права.
Инструменты для алгоритмической музыки
CSound — появился на свет в 1985. Создатель — композитор Барри Веркоу (Barry Vercoe). По большей части текстовый, в оболочке традиционной командной строки DOS. Для входных аргументов используют два текстовых файла — orchestra (описывает природу инструментов) и score (описывает ноты и их параметры). Кроме компилятора, CSound имеет дополнительную программу Cabbage, в которой можно создавать собственные аудиоэффекты или Vst–плагины.
Max — язык потокового программирования для музыки и мультимедиа. Разработан в 1986 году Миллером Пакеттом (Miller Puckette), сотрудником центра IRCAM в Париже. Использует модульный подход, связывает все компоненты друг с другом и визуализирует результат. В программе есть редактор патчей. Может перемешивать, деформировать и фильтровать звуковые дорожки, собранные из разных источников. У Max есть аналог с открытым исходным кодом — Pure Data.
OpenMusic — объектно-ориентированная визуальная среда программирования для синтеза цифрового звука. Инструмент разработали в 90-е годы инженеры из французского Института исследований и координации акустики и музыки (IRCAM). Утилита основана на диалекте языка LISP — Common Lisp. Существует семь версий OpenMusic — последнюю выпустили в 2013 году.
ORCA — язык параллельного программирования. Был разработан в 1989 году Генри Балом (Henri Bal) в Амстердамском Vrije Universiteit. Используется для создания процедурных секвенсоров, где каждая буква алфавита — это отдельная операция.
Мелодия, сгенерированная ORCA.
Extempore — язык системного программирования, предназначенный для программирования систем реального времени в режиме реального времени. Представлен Эндрю Соренсеном (Andrew Sorensen) в 2011. Состоит из двух интегрированных языков: Scheme (с расширениями) и Extempore Language. Язык использует кросс-компилятор LLVM.
Что послушать
Создатель стохастической музыки, один из лидеров современной Новой музыки и концептуализма в архитектуре Янис Ксенакис (Iannis Xenakis) в начале 1960-х годов начал экспериментировать с музыкой, сгенерированной ЭВМ и программами на языке Fortran.
Его произведение «Morsima-Amorsima» основано на математической теории марковских цепей, а «GENDY3» — создано с помощью им же разработанной программы GENDYN (использует динамический стохастический синтез).
Австрийский музыкант и разработчик программ Карлхайнц Эссль (Karlheinz Essl) написал программу Lexikon-Sonate. Алгоритм анализирует музыку известных композиторов (Бетховена, Шенберга, Сесила и др) и на ее основе создает свои варианты композиций.
67-летний уроженец Лос-Анджелеса, выпускник Калифорнийского художественного института Карл Стоун (Carl Stone) создает компьютерную музыку с 1986 года. Стоун заимствует звуковой ряд из коммерческой музыки, разрывает и склеивает музыкальные дорожки разными, порой нелогичными способами, изменяя и искажая ритм и звучание. Мелодия у него, к примеру, может проигрываться задом наперед. Свою работу он сравнивает с созданием анаграмм. Для написания произведений использует язык Max. Его свежий альбом Stolen Car (анаграмма имени Стоуна) вышел 25 сентября.
Стокгольмский лейбл XKatedral использует язык с открытым кодом SuperCollider (разработан в 1996 году, развивается как проект с открытым кодом с 2002). Артисты выступают вживую через MIDI-контроллеры.
Послушать больше музыки от XKatedral можно здесь:
- Maria W Horn — Epistasis
- Daniel M Karlsson — A loss of self
- David Granström — A distant color, secluded
42-летний музыкант Уильям Филдс (William Fields) из Филадельфии создал систему FieldsOS. Разработанная им программа запускается на лэптопе с использованием REAPER для звука и собственного языка JSFX REAPER. Управление происходит с iPad, на котором установлен пользовательский интерфейс, разработанный с помощью приложения Lemur.
Читать на dev.by