Как написать музыку, используя ООП

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


    Фото James Baldwin / Unsplash

    Что такое OpenMusic


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

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

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


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

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



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

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


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

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


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

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


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

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

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


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

    Аналоги


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

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


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

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

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



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

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

    Аудиомания
    266,25
    Одна из крупнейших Hi-Fi, High End компаний в СНГ
    Поделиться публикацией

    Комментарии 4

      0
      Пардоньте, а при чём тут ООП?

      Да, я какое-то время игрался с чаком. Он прикольный, но очень сырой. И это грустно.
        0
        OpenMusic — это объектно-ориентированная визуальная среда программирования. Инструмент построен на Common Lisp, который реализует объектно-ориентированность. Доп. информация — на сайте IRCAM — про создание классов и работу с объектами.
        +1
        Один из наших коллег сделал вот такой прекрасный генератор музыки в стиле техно: www.youtube.com/watch?v=X9_mu5EaLYM

        Ну, а в целом, софта много, но с точки зрения музыканта, толку больше от старичков позволяющих удобно редактировать MIDI, или Band In Box, который позволяет отслушать гармонию в том, или ином стиле и генерирующего иногда очень толковые фразы, на пару пунктов меню которого как раз и похож Open Music
          +1
          Несколько лет подумывал о существовании подобного софта, а оказывается это уже есть %)

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое