Kaip rašyti muziką naudojant OOP

Говорим об истории программного инструмента OpenMusic (OM), разбираем особенности его устройства, рассказываем о первых пользователях. Плюс к этому — приводим аналоги.

Kaip rašyti muziką naudojant OOP
nuotrauka James Baldwin /Atskleiskite purslą

Что такое OpenMusic

Это — объектно-ориентированная визуальная среда программирования для синтеза цифрового звука. Утилита основана на диалекте языка LISP — Bendrasis Lisp. Стоит отметить, что OpenMusic можно использовать в качестве универсального графического интерфейса для этого ЯП.

Инструмент разработали в 90-е годы инженеры из французского Института исследований и координации акустики и музыки (IRCAM). Всего было представлено семь версий OpenMusic — последнюю выпустили в 2013 году. Тогда инженер из IRCAM Джин Брессон (Jean Bresson) переписал утилиту с нуля, взяв за основу оригинальный код шестой версии (OM6). Сегодня OM7 распространяется по лицензии GPLv3 — её исходники можно найти на GitHub.

Как с ней работать

Программы в OpenMusic создаются путем манипулирования графическими объектами вместо написания кода. В итоге получается некое подобие блок-схемы, которая называется «патчем». По аналогии с модульными синтезаторами, в которых для соединений использовались патч-корды.

Čia пример программы OpenMusic, взятый из репозитория на GitHub:

Kaip rašyti muziką naudojant OOP

В OpenMusic есть объекты двух видов: базовые и партитурные (Score Object). Первые представляют собой различные математические операции для работы с матрицами, колонками и текстовыми формами.

Партитурные объекты необходимы для работы со звуком. Их также можно разбить на две группы:

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

Пример мелодии, сгенерированной OpenMusic, можно послушать в этом видео:


Чтобы познакомиться с инструментом и его возможностями, рекомендуем обратиться к документации. Справочник для OM7 пока находится в разработке. Но можно посмотреть справочник по OM6 — нужно пройти по ссылке и в окне слева развернуть пункт User Manual.

Кто использует

По замыслу разработчиков, OpenMusic можно использовать для создания и редактирования аудиодорожек, генерации математических моделей произведений и анализа записанных музыкальных отрывков. Инженеры из ITCAM применили инструмент в нескольких научных исследованиях. Например, для kūryba системы искусственного интеллекта, распознающей музыкальные жесты на аудиозаписи.

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

Taip pat verta dėmesio Тристана Мюрая. Он один из крупнейших композиторов, работающих в направлении спектральной музыки. Например, на YouTube есть его работы Gondvana и Le partage des eaux, созданные с помощью OpenMusic.


Английский композитор и педагог Брайан Фёрнихоу использовал OpenMusic для работы с ритмом. Сегодня его музыка входит в репертуар крупнейших современных ансамблей и исполнителей — Квартета Ардитти и Пьера-Ив Арто.

Analogai

Существует несколько систем, аналогичных OpenMusic. Пожалуй, наиболее известным будет коммерческий инструмент Max/MSP. Его разработал Миллер Пакетт (Miller Puckette) в конце 80-х, когда работал в IRCAM. Система позволяет синтезировать цифровой звук и видеоряд в реальном времени.

На видео ниже представлена инсталляция на одном из зданий в итальянском городе Кальяри. Цвет экранов меняется в зависимости от шума проезжающих автомобилей. Управляется инсталляция связкой из Max/MSP и Arduino.


Стоит отметить, что у Max/MSP есть аналог с открытым исходным кодом. Он называется Pure Data, и его разработчиком тоже выступил Миллер Пакетт.

Также стоит выделить визуальную систему ChucK, которую придумал Перри Кук (Perry Cook) с коллегами из университета Принстон в 2003 году. Она поддерживает параллельное выполнение нескольких потоков, плюс в программу можно вносить изменения прямо во время исполнения. Распространяется по лицензии GNU GPL.

На этом список инструментов для синтеза цифровой музыки не заканчивается. Еще есть Kyma и Pertvara, который позволяет программировать миксы прямо на сцене. О них мы постараемся рассказать в следующий раз.

Дополнительное чтение — из нашего «Мира Hi-Fi» и Telegram-канала:

Kaip rašyti muziką naudojant OOP Как ПК завоевал медиаиндустрию с помощью успешного ПО
Kaip rašyti muziką naudojant OOP Где взять аудиосемплы для ваших проектов: подборка из девяти ресурсов
Kaip rašyti muziką naudojant OOP Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии CC
Kaip rašyti muziką naudojant OOP Innovation SSI-2001: история одной из самых редких звуковых карт для IBM PC
Kaip rašyti muziką naudojant OOP История аудиотехнологий: синтезаторы и сэмплеры
Kaip rašyti muziką naudojant OOP Энтузиаст воссоздал звуковую карту Sound Blaster 1.0
Kaip rašyti muziką naudojant OOP Как менялись музыкальные форматы за последние 100 лет
Kaip rašyti muziką naudojant OOP Kaip IT įmonė kovojo už teisę parduoti muziką

Šaltinis: www.habr.com

Добавить комментарий