Cистемные сообщения
Миди содержит два типа сообщений, сообщения каналу и системные сообщения. Системные сообщения можно разделить на три группы: эксклюзивные системные сообщения, системные сообщения реального времени и системные сообщения общего назначения. Все три группы имеют одну общую характеристику, которая состоит в том, что все они относятся не к отдельному каналу, а ко всей миди-системе в целом.
Они могут восприниматься либо только одним из устройств системы, в том случае, если это эксклюзивные сообщения, либо всеми устройствами, которые умеют реагировать на системные сообщения, в том случае если это системные сообщения общего назначения.
Очень близки к системным сообщениям общего назначения те сообщения, которые входят в группу системных сообщений реального времени. С их помощью осуществляется синхронизация миди с другим оборудованием. Системные сообщения передаются на дополнительный (ненумерованный) миди-канал, тем не менее, ваш секвенсер может автоматически пронумеровать этот канал в списке событий, присвоив ему значение 1. В каком бы виде сообщения каналу или системные сообщения ни были представлены в списке событий или в руководстве к секвенсеру, они передаются между устройствами вашей системы в виде двоичного кода.
Эксклюзивные системные сообщения
Как вы могли видеть на примере различных типов сообщений каналу и их функционирования, миди как язык обеспечивает музыканту возможность управления всеми параметрами, которые ему могут понадобиться при работе.
Производители каждый месяц выводят на рынок новое оборудование, включая в него все новые возможности и способы управления. Для того чтобы использовать все эти новшества на практике, внутри миди-спецификации должна присутствовать определенная гибкость.
Эта необходимая гибкость предоставляется пользователю двумя способами: во-первых, с помощью неопределенных контроллеров и незарегистрированных номеров параметров, которым производители присваивают свои собственные способы использования, а во-вторых, с помощью эксклюзивных системных сообщений.
Достоинства и недостатки SysEx
Эксклюзивные системные сообщения (SysEx) — это сообщения, которые адресуются определенному устройству в вашей миди-системе. Наличие SysEx в миди-спецификации означает, что производители имеют возможность предоставлять доступ к различным функциям своих устройств, которыми нельзя управлять с помощью сообщений каналу.
Таким образом, когда какой-то производитель создает новое оборудование, обладающее новыми хорошими возможностями, ему просто нужно написать эксклюзивное системное сообщение, с помощью которого этими возможностями можно управлять.
Однако, поскольку системные сообщения посылаются всей миди-системе, должен быть какой-то метод, позволяющий удостовериться в том, что на эксклюзивное сообщение отвечает лишь то устройство, которому оно адресовано, а все другие его игнорируют.
Чтобы добиться этого, производители получают от Ассоциации производителей миди-оборудования свой собственный идентификационный номер, который они должны включать в сообщения SysEx, написанные для их устройств. Таким образом, только устройства с определенным идентификатором будут способны отвечать на данное сообщение. Многие производители включают в SysEx так же и идентификатор устройства, для того чтобы исключить возможность ответа на системное сообщение устройств того же производителя, которые могут входить в вашу систему, но которым это сообщение не предназначено.
На многих секвенсерах, особенно высокого уровня, сообщения SysEx могут быть записаны в режиме реального времени, то есть посланы с устройства (например, синтезатора) и сохранены в миди-файле. Набор установок, которые вы иначе бы писали не менее получаса, может быть записан или послан в секвенсер буквально за считанные секунды. Кроме этого, вы можете самостоятельно написать эксклюзивное системное сообщение в секвенсере.
Очень удобно, не так ли? И если вам всего лишь нужно пересылать пакеты данных с одного устройства на другое, вы можете с полным правом сказать: «SysEx — это великолепная и очень удобная штука!» Однако если вам потребуется самостоятельно написать такое сообщение, вам понадобятся знания «языка» таких сообщений, а так же их устройства. Вы без сомнения найдете достаточно источников, в которых можно получить необходимую информацию.
Однако следует предупредить, что тем читателям, которые никогда не сталкивались с шестнадцатеричны-ми и двоичными числами, потребуется довольно много времени и усилий для ее усвоения. Если набор функций вашего оборудования, к которому вы получите доступ в результате такого труда, оправдывает затраты времени и сил, вам несомненно стоит изучить этот вопрос. Мы не станем останавливаться на нем подробнее.
Использование SysEx
Полезный способ использования сообщений SysEx состоит в том, что вы записываете его на отдельный трек, посылая его из тон-генератора. Это сообщение содержит все изменения звуков и все настройки параметров, которые вы сделали. Если эта записанная порция данных будет воспроизведена прежде, чем начнутся данные вашей партитуры, то все нужные звуки и установки параметров окажутся загруженными в ваш тон-генератор автоматически при каждом воспроизведении файла.
Набор сообщений SysEx, таким образом, может заменить хедер вашего файла, о котором мы рассказывали в главе 2 в разделе «Вступительный такт партитуры». При этом.вам нужно помнить, что никакие другие данные не должны передаваться одновременно с этим системным сообщением. Убедитесь, что порция данных партитуры расположена после того, как заканчиваются данные системного сообщения. Не забывайте и о том, что, несмотря на то, что SysEx может быть представлен вашим секвенсе-ром как одно единственное событие, это довольно длинное сообщение, и оно может передаваться значительно дольше, чем сообщение каналу.
Другой способ использования сообщений SysEx предназначен для управления двумя тон-генераторами, соединенными в цепь. Посылая сообщение каналу, например сообщение об изменении программы, вы производите изменения в работе обоих устройств. Чтобы выбрать различные тембры в тон-генераторах (или различные значения контроллеров), можно использовать отдельные сообщения SysEx для каждого из них.