MAX/MSP

♦July 2013 ♦

Max — это язык визуального программирования для музыки и мультимедиа

Max был разработан в 1986 году как проект для генерации интерактивной музыки в центре IRCAM в Париже профессором Миллером Пакеттом. Max стал коммерческим проектом, когда его распространением в 1991 году занялась компания Opcode Systems в сотрудничестве с Пакеттом и Дэвидом Цикарелли. Компания Cycling’74 стала издателем Max в 2000 году. С тех пор Max был дополнен библиотеками по обработке аудио данных (MSP) и графики (Jitter).

Язык программирования, реализованный в Max относится к языкам потокового программирования, что свойственно многим средам программирования звукового синтеза. Программы, созданные в Max (называемые патч — patch), состоят из определенным образом соединенных между собой строительных блоков объектов внутри патчера (patcher). Данные объекты ведут себя как независимые программы (по факту, объекты — это динамически связанные библиотеки), каждая из которых может принимать входные данные из других блоков (через так называемые визуальные входы), генерировать выходные данные (через визуальные выходы), или и то и другое одновременно. Объекты передают сообщения из своих выходов во входы объектов, с которыми они соединены.

рабочий интерфейс программы Max с открытым окном редактирования нового патчера и блоком выбора объекта

рабочий интерфейс программы Max с открытым окном редактирования нового патчера и блоком выбора объекта

пример связи простого объекта ‘56’ с другим объектом через выход одного объекта во вход другого

пример связи простого объекта ‘56’ с другим объектом через выход одного объекта во вход другого

Max содержит 400 объектов, каждый из которых выполняет одну или несколько задач, MSP — 200 объектов для обработки аудио, а дополнение Jitter — 140 объектов для обработки видео и изображений (например, для синхронизации видеофона с музыкальной композицией во время живого выступления). Некоторые объекты не имеют входов или выходов — например, midiout, который отсылает сигнал непосредственно на MIDI–синтезатор компьютера.

По соединительным проводам объектов проходят сообщения. Сообщения могут быть числами, списками (list) чисел, разделенными пробелами, словами (symbol) или любыми комбинациями чисел и слов. Содержание сообщений определяется их типом (type).

Типы сообщений (messages):

  • int — когда сообщение состоит только из целочисленных значений;
  • float — когда сообщение состоит только из чисел с плавающей точкой;
  • list — список (list) чисел, разделенных пробелами (60 79 1.02);
  • bang — сообщение bang — это особый вид сообщений, обозначающих: «делай то, что ты должен делать». Например, когда объект random получает сообщение bang, он отсылает случайно выбранное число, через свой выход;
  • symbol — символ (symbol) — это слово или другой набор нечисловых символов. Множество символов обозначают какие–либо команды, когда поступают в определенные объекты. Например, объект seq — это секвенсор для записи игры на MIDI. Он реагирует на сообщения типа: start, stop, record, delay и print. Все эти сообщения будут непонятны объекту типа * (умножение), который ожидает поступления в свои входы только чисел (или bang);
  • любые сообщения — сообщение может состоять из любой комбинации слов и чисел.
  • В версии 4.5 и выше, несколько объектов Max\MSP используют атрибуты. Атрибуты — это еще один способ указывать поведение объектам Max. Вы можете использовать атрибуты, чтобы инициировать, изменять и выяснять текущие значения, находящиеся в объекте, а также привязывать каждое значение к фиксированному имени атрибута, поясняя, что вам не нужно помнить порядок вписанных аргументов, или, что конкретно делает каждый вход в комплексном объекте.

    Пример представления алгоритмической композиции на основе Марковских цепей первого порядка

    Пример представления алгоритмической композиции на основе Марковских цепей первого порядка

    ♦ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: ♦

  • IRCAM (фр. Institut de Recherche et Coordination Acoustique/Musique, Институт исследования и координации акустики и музыки) — исследовательская организация, созданная по поручению Жоржа Помпиду композитором Пьером Булезом для современных музыкальных и музыковедческих исследований.