ComputerBooks.ru - Электронные книги, самоучители.

 
Электронные кники доступные для скачивания
На главную Добавить в избранное Форма отправки почты Если книг читать не будешь - скоро грамоту забудешь!

Программирование MIDI сообщений

(дополнительные сведения к предыдущей главе)

Для начала определимся, зачем это нужно. Ни для кого не секрет, что год от года любые из создаваемых человечеством приборов становятся все лучше и совершенней. Музыкальные приборы не исключение. Они, как и все в этом мире, множатся и развиваются. На сегодняшний день (молчу про клавишников и работников студий) даже самый, что ни на есть "живой" музыкант, нет-нет да и столкнется с MIDI, иногда даже сам того не подозревая. Большинство более-менее современных "примочек", ревербератор или другой какой-нибудь прибор имеют MIDI вход, как минимум для управления извне. Скажу больше: если вы человек, имеющий хоть какое-нибудь отношение к музыке, вас обязательно окружает разнообразное MIDI оборудование,хотите вы этого или нет. Я мог бы вам еще страниц десять рассказывать, что такое MIDI, как оно появилось, развивалось, с чем его едят и зачем оно вам нужно. Но я этого делать не буду. Не хотите развиваться - не надо. Для тех же, кто хочет быть со своим MIDI оборудованием "на ты" и до конца использовать его возможности, мои советы и мысли на этот счет.

На самом деле, на мой взгляд, нет очень уж большой необходимости знать MIDI в совершенстве, но представлять, что там происходит, и уметь этим пользоваться далеко не лишне. Я прочитал достаточное количество литературы, и вся она была похожа на доклады из области кибернетики по вопросу создания искусственного интеллекта. Да простят меня программисты и другие умные люди, но я не хотел знакомиться ни с битами, ни с байтами, ни с их разнообразными состояниями. Вы видели когда-нибудь MIDI сообщение, расписанное до самых своих корней? Это никак не меньше, чем формула лекарства от рака, да нет, глобальнее. Сейчас я скажу еще одну кощунственную вещь для всего прогрессивного человечества, нодля того, чтобы программировать MIDI сообщения, многого знать и не нужно. Не верите? Читайте дальше.

Я не буду вам рассказывать ни про бит состояния, ни про систему десятеричного исчисления. Дочитав главу до конца, вы будете в состоянии послать своему MIDI оборудованию команду, не приводящую, во всяком случае, к его зависанию, а получив, по возможности, ответ, представлять, что ваш прибор от вас хочет.

В 1,07,00. Перед вами набор символов. С первого взгляда они кажутся непонятными, хотя ничего сложного в них нет. Надо лишь знать

общие законы MIDI сообщений и уметь считать до шестнадцати. Первая из этих цифр или букв (в нашем случае - В) показывает вашему прибору, что вы конкретно от него хотите (изменить номер программы, контроллера, нажать ноту и т.п.). Т.е. первым знаком в MIDI сообщении вы задаете как бы тему, область, в которой хотите работать. Вторая (1) - номер MIDI канала, на котором должны происходить изменения. Следующие две цифры (07) определяют, что именно делать. Если менять контроллер, то на какой. Если нажимать ноту, то какую именно. И наконец последние две цифры (00) определяют, так сказать, оставшиеся нюансы. Например, значение динамики нажатой ноты. Все эти цифры в данном примере являются абстрактными и приведены здесь лишь для наглядности восприятия и понимания основ процесса. Теперь поговорим более конкретно. В руководстве по эксплуатации модулей, MIDI сообщения могут описываться в десятеричном (раз, два, три и т.д.) или двоичном (1001 0111), что вообще загадка для простого человека, форматах, но в подавляющем большинстве случаев выписываться где-либо для последующей посылки их в ваш прибор они должны в шестнадцатеричном. Что есть шестнадцатеричный формат? Да ничего особенного. Идея состоит в том,'что мы можем посчитать до 255, но самое главное - записать это одним или двумя символами. Так, если в десятеричной системе число шестнадцать представлено двумя символами - символ 1 и символ 6 - 16, то в шестнадцатеричной это будет выглядеть как - F. Или 127 в десятеричной и 7F в шестнадцатеричной. Существуют специальные таблицы соответствия двух систем, но это лишнее. Простая арифметическая операция позволит вам перевести любое десятичное число в шестнадцатеричную систему. С первыми десятью цифрами ничего делать не нужно. В двух этих форматах они выглядят одинаково. Ноль равен нулю, единица равна единице и т.д. Но вот после девяти в десятеричной системе число десять будет записано как 10, а в шестнадцатеричной числа начинают подменятся буквами. Выглядит это так:

0=0; 1=1; 2=2; 3=3; 4=4; 5=5; 6=6; 7=7;

8=8; 9=9; 10=A; 11=B; 12=C; 13=D; 14=E; 15=F. С этим, я думаю все ясно. А как записать число, например, 45, в шестнадцатеричной системе? Нет ничего сложного. Если вы хотите перевести число из десятеричной системы в шестнадцатеричную надо:

разделить имеющееся число на 16 (в нашем случае 45 :16), получим 2 и остаток 13. Два в шестнадцатеричной системе так и будет выглядеть как два, а 13 как D. Вот и все. Число 45 в шестнадцатеричной системе будет выглядеть как 2D. Все еще непонятно? Примеры:

78 в десятичной-78 :16=4и остаток 14,4=4 14=Е-4Ев шестнадцатеричной

• 127 вдесятичной-127 : 16 =7 и остаток 15,7=7 15=F-7F

в шестнадцатеричной.

Больше половины вы уже знаете, а сейчас еще чуть-чуть теории и примеры.

Если вы еще не заметили этого, то я вам сообщу, что каждые два символа в MIDI сообщении (не в самом сообщении, а в его написании) отделяются запятой. В других программах, подобных MixerMap, вместо запятых могут использоваться пробелы или еще что-нибудь, но по MIDI стандарту принято отделять запятыми. Считайте, что это традиция. Каждый символ здесь (из пары символов отделенных запятой) называется битом, а каждая пара циферок - байтом. Вот они-то (байты) и отделяются запятыми. Часто где-нибудь в середине или в конце MIDI сообщения можно повстречать значки - XX (опять же только в написании MIDI сообщения. При посылке же оного, XX заменяется реальным значением положения ползунка), например ВЕ,01,ХХ. Эти два крестика люди сведущие называют - переменная.

Предположим, что у вас есть ползунок (пусть это будет колесо модуляции). Посылая MIDI сообщение, вы должны записать его примерно так: ВЕ,01 ,ХХ. В - с этой буквы начинаются все сообщения стандартных контроллеров (модуляция, громкость и т. п.). Е - Номер MIDI канала. Это число (не забудьте, система исчисления шестнадцатеричная) может быть любым от 0 до F (15). В нашем случае он - четырнадцатый. 01 - эти два числа определяют конкретный контроллер. В нашем случае, это модуляция. 07, например, это MainVolume (громкость). 08 - Balance (панорама). И наконец, переменная XX. Вы впечатываете ее и перемещаете движок фейдера. Вместо XX ваше MIDI оборудование начнет передавать новые конкретные данные - 01; 02; 03... В зависимости от типа передаваемых данных MIDI сообщение может быть длиннее или короче, чем три двойных цифры, отделенных запятыми. Так, например, в случае смены программы (пэтча, тембра) достаточно сообщения СО,4В или СО,ХХ. С - означает тип сообщения (изменение программы), 0 - номер MIDI канала (0 в шестнадцатеричной системе - первый MIDI канал, 1 - второй MIDI канал и т.д.), 4В - конкретный номер программы (пэтча, тембра). Можно поставить XX, тогда номер программы определится, когда вы переключите его в другом месте. Вы, наверное, уже заметили, что первые две цифры существуют как бы отдельно друг от друга. Первая из них определяет тип сообщения, вторая - номер MIDI канала, тогда как другие пары - это лишь одно число, выписанное (разумеется как и первые) в шестнадцатеричном формате. Если вы дочитали до этого места, То могу вас поздравить. Вы уже в состоянии послать или принять MIDI сообщения нажатия\снятия нот, изменения высоты тона, изменение программы и другие сообщения контроллеров. В подавляющем большинстве случаев вам это понадобится для управления параметрами ваших модулей и микшерских систем. В них обязательно предусматривается возможность привязки той или иной функции к изменению желаемого контроллера.

ИСКЛЮЧИТЕЛЬНЫЕ СООБЩЕНИЯ СИСТЕМЫ
(SYSEX).

Исключительные сообщения системы - единственные MIDI сообщения, не имеющие конкретного стандарта. Есть лишь некоторые общие правила. Так, например, сообщения данного типа всегда начинаются с FO. Данная пара символов показывает, что сообщение имеет статус SysEx. Далее идет номер, который представляет изготовителя. Так, Roland имеет номер 41, Yamaha - 43 (не забывайте, все цифры в шестнадцатеричной системе). После этой пары цифр идет все то, что, как считает изготовитель, имеет смысл для их изделий. Где-то (у всех по-разному) в этой каше проставляется и номер MIDI канала. Заканчивается SysEx всегда цифрами - F7. Выглядит это примерно так: FO,30,B2,05,56,38,F7 (выделено то, что имеет стандарт). SysEx - самые длинные MIDI сообщения. Они могут быть во "много, много, много раз" длиннее стандартных. Послать их невозможно, пользуясь общими правилами составления MIDI сообщений, но есть надежда, что в руководстве по эксплуатации модулей будет присутствовать информация о том, как это сделать, и слава богу, что состоит оно все из тех же стандартных "кирпичиков", байтов и битов.Т.е. из пар каких-либо символов, отделенных друг от друга запятыми. Так что, если вы научились посылать стандартные MIDI сообщения, то вам не составит труда послать и SysEx, пользуясь, конечно, руководством по эксплуатации вашего модуля.

В заключение отмечу, что те из вас, кто будет пользоваться программой MixerMap в Cubase,имеет возможность расшифровки (по возможности) MIDI сообщений. Для этого необходимо выбрать в типах треков - Mix Track, создать часть, создать в части новый ползунок и в его редакторе в модуле MIDI Message в верхней из двух строк напечатать MIDI сообщение, которое вы желаете расшифровать. После того как вы напечатали MIDI сообщение, нажмите Enter и в строке которая находится непосредственно под строкой с напечатанным MIDI сообщением, появится его расшифровка. Метод довольно надежен, но к SysEx это не относится.

Электронные Книги по компьютерным программам
На правах рекламы:
хостинг Эскхостинг предоставляются услуги хостинга с поддержкой mysql, поддержка php|Футболка супермен. Футболки супергероев.|Ищешь Запчасти: запчасти спектра . Магазины запчастей для Kia.|Московский транспорт: реклама на транспорте москва . Заметки о Москве.| куда можно пойти вечером выпускникам 2007 |Доска объявлений Москвы: продать кинары .
-->

Для добавления страницы электронной книги в избранное нажмине Ctrl+D

Книги | Статьи | Скачать

Правовая информация   

  © ComputerBooks.ru,
  При копировании материалов со страницы обязательно разместите ссылку на источник.