Цифровой интерфейс музыкальных инструментов
Рефераты >> Программирование и компьютеры >> Цифровой интерфейс музыкальных инструментов

Простые синтезаторы используют скорость нажатия для управления громкостью извлекаемого звука, более сложные - также для управления фильтрами (более громким звукам соответствует более звонкое звучание) либо выбора разных самплов, пропорции смешивания нескольких самплов, и т.п.

При поступлении повторного сообщения Note On для уже нажатой ноты различные инструменты ведут себя по-разному: одни автоматически отрабатывают перед этим Note Off, прекращая звучание "зависшей" ноты; другие запускают отдельный генератор, оставляя зависшую ноту звучать. Звучание зависшей ноты в этом случае может быть прекращено только командами All Sounds Off или Reset.

Channel Pressure (pp - величина давления) Key Pressure (nn - номер ноты, pp - величина давления)

Cообщает об изменении силы давления (After Touch - после прикосновения (нажатия)) на всю клавиатуру или отдельную клавишу. Наиболее простые клавиатуры не имеют датчика давления; клавиатуры средней сложности имеют общий датчик для всех клавиш, посылая сообщения Channel Pressure по результатам усреднения давления на все нажатые клавиши; наиболее сложные клавиатуры имеют отдельные датчики для каждой клавиши, посылая изменения в состоянии каждого датчика.

Поведение синтезатора в ответ на эти сообщения стандартом не определено. Обычно синтезаторы с поддержкой Aftertouch имеют команды для привязки сообщений к выбранным параметрам синтеза (громкости, модуляции, фильтрам, эффектам и т.п.).

Control Change (cc - номер, vv - значение контроллера)

Сообщает об изменении состояния органов управления (контроллеров). MIDI-контроллеры делятся на непрерывные (continuous) - рукоятки, движки, имеющие диапазон непрерывного изменения, и переключатели (switches) - педали, кнопки, тумблеры, имеющие два дискретных состояния (On/Off - включено/выключено). Значения 0 63 означают выключенное состояние переключателя, значения 64 127 - включенное.

Обычно, когда непрерывный контроллер используется для плавного управления каким-либо параметром звука, этот параметр пропорционально зависит от значения контроллера. Используются два основных способа управления параметрами звука: абсолютный и относительный. При абсолютном способе параметр полностью зависит от установленного значения контроллера; при относительном способе имеется некоторое стандартное значение параметра, соответствующее "нейтральному" значению контроллера - 64. Изменение значений контроллера вверх или вниз пропорционально изменяет значение выбранного параметра относительно стандартного значения, которое, вообще говоря, может быть различным для разных режимов, тембров и т.п. Для глобальных параметров, таких, как громкость или панорама в канале, используется абсолютный способ управления; для локальных - глубина реверберации, частота среза фильтра и т.п. - относительный, хотя интерпретация различными инструментами может не совпадать.

Program Change (pp - номер тембра)

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

Pitch Bend Change (ll - младший, mm - старший байт значения)

Задает смещение высоты тона для всех нот в канале - как звучащих, так и последующих. Значение, образованное двумя 7-разрядными величинами, изменяется в диапазоне 0 16383; среднее значение - 8192 - принимается за относительный нуль, что дает условный диапазон изменения -8192 8191. Чувствительность Pitch Bend может изменяться при помощи RPN 0; по умолчанию принимается предельное смещение на два полутона в любую сторону.

Описание системных сообщений:

System Exclusive (SysEx)

Служат для передачи специальной информации определенным устройствам. В сообщении SysEx может передаваться любое количество байтов. Признаком конца сообщения служит байт F7. Первые три байта SysEx обычно содержат идентификатор производителя устройства (присваивается Ассоциацией Производителей MIDI-устройств - MMA), номер устройства в сети (задается с пульта) и код модели устройства (присваивается производителем). В остальном формат сообщений определяется производителем - это могут быть команды, параметры, оцифрованные инструменты, партитуры и т.п.

Song Position Pointer (ll - младший, mm - старший байт)

Служит для установки позиции в партитуре для устройств, имеющих встроенный секвенсор, автоаккомпанемент или ритм-блок. Задается номером четвертной (quarter) ноты с начала партитуры.

Song Select (ss - условный номер партитуры)

Определяет, какая из существующих партитур будет проигрываться при получении сообщения Start.

Start

Запускает прогрывание или запись выбранной партитуры с начала.

Stop

Останавливает проигрывание или запись партитуры.

Continue

Запускает проигрывание или запись партитуры с прерванного места, либо с позиции, установленной с помощью Song Position Pointer.

Timing Clock

Служит для синхронизации устройств и передается с частотой 6 сообщений на четвертную ноту. Генерация этого сообщения не является обязательной для передающего устройства.

Active Sensing

Используется для проверки наличия связи внутри MIDI-сети. Генерация сообщения не является обязательной для передающих устройств. В случае получения этого сообщения каждое приемное устройство переходит в режим слежения за MIDI-потоком, и в случае отсутствия любых сообщений в течение 300 мс автоматически отрабатывает контроллеры All Notes Off, All Sounds Off и Reset All Controllers. Это позволяет прекратить работу в случае нарушения связи в сети. Однако до первого прохождения этого сообщения по сети устройства не следят за длительностью пауз между сообщениями.

Стандарты MIDI-систем.

Стандарт General MIDI (MMA)

Стандарт General MIDI (единый MIDI, GM) разработан ассоциацией MIDI-производителей (MMA) в 1991 году в целях обеспечения частичной совместимости выпускаемых MIDI-устройств и облегчения переноса партитур между устройствами различных производителей. Устройство, совместимое с GM Level 1, должно удовлетворять следующим требованиям:

  • полифония не менее 24 голосов;
  • наличие 128 мелодических и 47 ударных тембров;
  • раздельный выбор тембров по всем 16 MIDI-каналам;
  • выделение канала 10 для ударных тембров, остальных каналов - для мелодических тембров.

Мелодическим и ударным тембрам присвоены постоянные номера. Мелодические тембры распределены по 16 группам с 8 тембрами в каждой и выбираются сообщением Program Change в каналах 1-9 и 11-16.

Стандарт General Synthesis (Roland)

Стандарт General Synthesis (единый синтез, GS) разработан фирмой Roland в 1991 году, практически одновременно с GM. Целью создания стандарта было обеспечение совместимости не только базового набора тембров и способов управления, но и более тонких методов воздействия на звук. Требования к устройству, поддерживающему GS:

  • поддержка 98 дополнительных тембров и 8 наборов ударных;
  • приоритетное назначение голосов каналам - вначале 10, далее с 1;
  • назначение дополнительных ударных каналов через SysEx;
  • резервирование голосов в канале через SysEx;
  • наличие управляемого резонансного фильтра в каждом канале;


Страница: