OPEN MUSIC

♦July 2013 ♦

Open Music — это программная оболочка с открытым кодом, ядром которой является язык визуального программирования, основанный на языке Common Lisp и Common Lisp Object System. Программа была разработана в компании The Ircam's Computer–Aided Composition (CAC).

рабочий интерфейс программы OpenMusic

рабочий интерфейс программы OpenMusic

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

Рассмотрим основные объекты, входящие в стандартную комплектацию программы Open Music, они бывают двух видов: так называемые партитурные объекты (Score Object) и базовые объекты.

Пример программы, составленной из патчей в OpenMusic

Пример программы, составленной из патчей в OpenMusic

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

  • Гармонические объекты включают три класса: ноты, аккорды, и аккордовые последовательности.
  • Ритмические объекты это голоса, группы и такты.
  • Полифонические объекты изначально включают в себя совмещение предыдущих в одном объекте.
  • Каждый гармонический объект опиывается следующими параметрами: нота, громкость, продолжительность, тембр. Помимо этого, аккорды и аккордовые последовательности включают еще несколько значений - время появления, время затухания, легато. Манипуляция партитурными объектами происходит посредством партитурных функций, которые могут объединять объекты, и т.д. Редактирование партитурных объектов можно производить в окне редактирования партитур.

    окно редактирования партитур в программе Open Music

    окно редактирования партитур в программе Open Music

    Базовыми объектами Open Music являются различные математические операции. Можно использовать массивы данных — матрицы, колонки, поля, текстовые формы и многие другие.

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

  • Common Lisp (сокр. CL) — диалект языка Лисп, стандартизированный ANSI. Common Lisp — мультипарадигменный (то есть, поддерживающий несколько парадигм) язык программирования общего назначения.
  • CLOS (англ. Common Lisp Object System — «объектная система Common Lisp’а») — система объектно–ориентированного программирования, являющаяся частью Common Lisp.