Cum se scrie muzică folosind OOP

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

Cum se scrie muzică folosind OOP
fotografie James Baldwin /Unsplash

Что такое OpenMusic

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

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

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

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

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

Cum se scrie muzică folosind OOP

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

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

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

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


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

Cine folosește

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

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

De asemenea, merită remarcat Тристана Мюрая. Он один из крупнейших композиторов, работающих в направлении спектральной музыки. Например, на YouTube есть его работы gondwana и Le partage des eaux, созданные с помощью OpenMusic.


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

analogi

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

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


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

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

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

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

Cum se scrie muzică folosind OOP Как ПК завоевал медиаиндустрию с помощью успешного ПО
Cum se scrie muzică folosind OOP Где взять аудиосемплы для ваших проектов: подборка из девяти ресурсов
Cum se scrie muzică folosind OOP Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии CC
Cum se scrie muzică folosind OOP Innovation SSI-2001: история одной из самых редких звуковых карт для IBM PC
Cum se scrie muzică folosind OOP История аудиотехнологий: синтезаторы и сэмплеры
Cum se scrie muzică folosind OOP Энтузиаст воссоздал звуковую карту Sound Blaster 1.0
Cum se scrie muzică folosind OOP Как менялись музыкальные форматы за последние 100 лет
Cum se scrie muzică folosind OOP Как IT-компания боролась за право продавать музыку

Sursa: www.habr.com

Adauga un comentariu