- midi-технология в картинках и таблицах
- Павел Живайкин
- Не учиться, не учиться и еще раз не учиться
- Назначение midi и подключение midi-устройств
- Что такое midi-технология
- Какая информация передается с помощью midi
- midi-разъемы
- Соединение midi-устройств между собой
- midi-сообщение
- Как записывается midi-сообщение
- Типы midi-сообщений
- midi-каналы
- Типы сообщений из группы Channel
- midi-сообщения группы System
- Структура midi-сообщения
- Как определяется тип midi-сообщения
- А на практике?
midi-технология в картинках и таблицах
Павел Живайкин
Появившаяся в начале восьмидесятых годов midi-технология вскоре получила новый импульс в связи с широким распространением персональных компьютеров. И хотя еще в 1991 году мне попалась какая-то статья, где почти со злорадством перечислялись ее недостатки и предсказывалась скорая кончина, до настоящего времени альтернативной идеи и альтернативной технологии создано не было.
Основными недостатками midi считаются низкая скорость передачи информации, узкий диапазон изменения параметров и ограниченная сфера применения. В то время как одно из главных ее достоинств — небольшой объем файлов — в последнее время уже потеряло решающее значение: цены на пишущие CD-приводы и “болванки” для записи становятся все доступнее. А с появлением широких возможностей по использованию при создании музыки готовых, заранее записанных музыкальных фраз с CD-качеством (всякие “лупы”, “сэмплы” и т.п.) многие “артисты” вообще решили, что таких проблем, как обучение нотной грамоте, владению инструментом, midi-технология и пр. для них не существует.
Следуя этой логике, запись музыки банальными нотами и диезами должна была уйти в небытие с появлением фонографа Эдисона. Вот когда настоящий прогресс пришел на смену устаревшей технологии и беспросветному консерватизму! Как подумаешь, что и Бах, и Шнитке пользовались одними и теми же пятью нотными линейками, то такие понятия, как “секвенсор” или “контроллер” уже не кажутся столь древними.
Однако если принять во внимание, что midi-технология изначально предназначалась не для записи или воспроизведения музыки, а только лишь для управления на некоем расстоянии (в пространстве и времени) синтезаторами, звуковыми модулями и прочими “железными” ящиками, то многие претензии к ней будут сняты. Это все равно, что упрекать виолончель за плохое звучание во флейтовом регистре. Научись правильной аранжировке, а иначе и Ростропович не поможет!
Итак, чтобы закончить мысль о достоинствах и недостатках midi, сделаем несколько предварительных выводов. Во-первых, midi-технология остается ведущей в компьютерной и аппаратно-студийной области. Во-вторых, она совершенствуется, учитывает новые требования и новые технические возможности. Об этом говорит последовательное появление стандартов GM, GS и XG. В-третьих, идея оказалась настолько удачной, что midi-технология вовлекает в сферу своего влияния все новые и новые области, для которых она и не предназначалась, — управление магнитофонами, устройствами звуковой обработки, микшерскими пультами (не говоря уже о мультимедийных продуктах и компьютерных играх).
Здесь же хочу затронуть еще одну близкую мне тему. В музыкальном обучении качество звучания уже не играет столь значительной роли, как в звукозаписи или концертной деятельности. Зато возможность воспроизводить изучаемый опус в любом темпе и (тут вокалисты и духовики должны затаить дыхание) в любой тональности делают midi-технологию незаменимой в музыкальных школах и училищах. Смешно сказать, но для этого достаточен 286-й компьютер со звуковой картой за 40 долл. Я думаю, недалеко то время, когда некий аппарат, подобными характеристиками станет распространенней метронома. А вместо толстых нотных сборников люди будут покупать дискеты с этюдами Черни или Шопена.
Не учиться, не учиться и еще раз не учиться
Здесь его подстерегают первые неприятности. В течение многих лет разные наши авторы пишут о midi в различных журналах, а иногда и в книгах. Это по-настоящему хорошо, потому что никакого другого учебника или пособия нет. Трудно судить о зарубежных изданиях, которые усиленно рекламируются в американских и английских музыкальных журналах. Переводить их — сплошное мучение из-за горючей смеси компьютерных, музыкальных и “жаргонно-тусовочных” терминов. Вполне возможно, что такой переводчик еще не родился.
О второй очереди неприятностей многие сразу и не догадываются. Дело в том, что эти пособия пишут не музыканты и преподаватели, а инженеры, программисты и дилеры. Не кажется странным, что учебник по теории музыки написан не Полом Маккартни или Владимиром Спиваковым, а скромным профессиональным педагогом. Я не думаю обижать или обвинять кого-нибудь из авторов. Спрос есть, и писать об этом надо. Но, к сожалению, и логика изложения, и форма, и прочие невинные педагогические приемы во всех материалах отсутствуют.
Рано или поздно об этом догадывается любой читатель. Он прочитывает страницу за страницей один раз, потом второй, третий… И, наконец, приходит к одному из трех выводов.
“Мне никогда этого не одолеть”, — решает он, и это порой справедливо. Сведения не систематизированы, изложены в произвольном порядке, отрывочны, и не все термины объяснены.
“Ну и черт с ним, проживу без этих премудростей”, — может подумать уставший читатель. И здесь я соглашусь — о смертельных исходах от незнания midi что-то пока не слыхать!
А если ему совсем не повезет, он решит, что нечего тратить время и деньги на книги и журналы, благо у всякой программы есть руководство и хэлп. И хотя я знаю книгу об одной популярной музыкальной программе, содержащую по пять-шесть ошибок на страницу в логике, фактах, в английском, а иногда и в русском языке — тут я с ним не соглашусь никогда.
Во-первых, эти руководства и хэлпы создают те же программисты с их “особенным” видением мира. Если бы этих руководств было достаточно, компьютерные отделы книжных магазинов не сияли бы такой глянцевой пестротой.
Во-вторых, ни в одном руководстве я не видел ничего похожего на фразу: “Здесь наша программа должна сделать то-то, но почему-то она этого не делает”. Столько полезного можно найти в журналах, что порой кажется, будто производители заранее договариваются с журналистами о том, какие они наделают “бяки” в программах, а уж писатели на радость читателям будут их на этом ловить.
На основании всего вышесказанного хочу обратиться к любому человеку, будь он музыкант, звукорежиссер, разработчик мультимедийных программ или простой любитель покопаться в музыкальных программах: midi-технология не устарела, не так уж и сложна и не будет тормозом в вашем творчестве — смелее!
В этом материале будут рассмотрены самые первые, и, пожалуй, самые главные темы — назначение midi и типы midi-сообщений.
Назначение midi и подключение midi-устройств
Что такое midi-технология
midi — Musical Instrument Digital Interface — компьютерный протокол (иногда говорят — язык), предназначенный для связи одного музыкального устройства с другим. Оба эти устройства должны обладать любого вида микропроцессором или программой, которые поддерживают midi-протокол.
Рис. 1. Пример использования midi. На синтезаторе вы можете играть ноты, выбирать новый тембр инструмента, менять громкость, но сам он сейчас не звучит. Все перечисленные действия передаются по midi-кабелю (красного цвета) в виде команд на звуковой модуль. Последний выполняет все эти действия (звучат сыгранные ноты, меняется тембр и громкость) и выдает звук через обычные динамики. Красная стрелка показывает направление потока midi-сообщений |
Какая информация передается с помощью midi
Примечание 1. midi-сообщение передает не сам звук (аудиоинформацию) или какие-то его характеристики, а только управляющие команды, которые выполняются устройством-получателем.
Примечание 2. Сам процесс передачи midi-сообщения может осуществляться в реальном времени (во время исполнения или воспроизведения музыки), но может быть и разорванным во времени. В этом случае midi-сообщение записывается в виде файла на дискету или хард-диск компьютера, а потом считывается устройством-получателем.
Какие музыкальные устройства могут получать и принимать информацию по midi
Технология midi с самого начала была предназначена для связи между самыми различными устройствами (синтезаторами, звуковыми модулями, компьютерами, устройствами цифровой обработки звука и многими другими).
midi-устройство должно иметь:
- внутри — программу или микропроцессор, который понимает midi-информацию;
- снаружи — разъемы, к которым подсоединяется midi-кабель.
midi-разъемы
Таблица 1. Виды midi-разъемов.
midi Out | midi-выход. Через этот разъем устройство посылает midi сообщение на другое устройство |
midi In | midi-вход. Через этот разъем устройство получает midi сообщение от другого устройства |
midi Thru | Сквозной. Через этот разъем посылается точная копия любого midi-сообщения, которое поступило на разъем midi In |
Рис. 2. midi-разъем. Контакт 2 — земля, контакты 4 и 5 — сигнальные, контакты 1 и 3 — не используются. |
midi-кабель соответственно должен иметь три провода, которые соединяют контакты 1, 4 и 5 на обоих его концах.
Соединение midi-устройств между собой
Рис. 3. По одному IDI-кабелюсинтезатор передает midi-сообщение на звуковой модуль. Затем (но не одновременно) по другому midi-кабелю этот модуль может послать свое midi-сообщение на синтезатор
У любого устройства имеется только один midi-выход. Поэтому, если с него нужно посылать команды на два или несколько других устройств, используется разъем midi Thru. Тогда подключение устройств-приемников происходит последовательно (рис. 4). Но имеются, конечно, и специальные приборы, которые способны разветвлять midi-сообщения. Тогда нет необходимости в последовательном подключении midi-устройств.
Рис. 4. Компьютер посылает midi-сообщения для синтезатора и звукового модуля через свой midi-выход. Они оба поступают на midi-вход синтезатора, оба выходят через его разъем midi Thru. Синтезатор не может добавить никакую свою информацию, поэтому эти midi-сообщения в неизмененном виде поступают на midi-вход звукового модуля. Каждое из устройств-получателей само определяет, какие команды, находящиеся в midi-сообщениях, ему следует выполнять. Кривые линии красного цвета изображают midi-кабели, прямые линии красного цвета — схематический путь midi-информации |
midi-сообщение
Как записывается midi-сообщение
midi-сообщение — это управляющая команда, использующая особый язык (протокол) midi.
midi-сообщение (как и любое компьютерное сообщение) записывается в битах, то есть выглядит как последовательность цифр 1 или 0 — 10011010 00101110… Но так как такая запись выглядит очень громоздкой, то для чтения и редактирования midi-сообщений применяется шестнадцатеричный способ записи иединица измерения — байт.
Записать число | ||
В байтах (в шестнадцатеричном виде) | В байтах (в двоичном виде) | В байтах (в десятичном виде) |
00 | 0000 0000 | 0 |
01 | 0000 0001 | 1 |
02 | 0000 0010 | 2 |
03 | 0000 0011 | 3 |
04 | 0000 0100 | 4 |
05 | 0000 0101 | 5 |
06 | 0000 0110 | 6 |
07 | 0000 0111 | 7 |
08 | 0000 1000 | 8 |
09 | 0000 1001 | 9 |
0A | 0000 1010 | 10 |
0B | 0000 1011 | 11 |
0C | 0000 1100 | 12 |
0D | 0000 1101 | 13 |
0E | 0000 1110 | 14 |
0F | 0000 1111 | 15 |
10 | 0001 0000 | 16 |
11 | 0001 0001 | 17 |
12 | 0001 0010 | 18 |
… | … | … |
FF | 1111 1111 | 127 |
Типы midi-сообщений
Все типы midi-сообщений делятся на две большие группы (рис. 5). Системные midi-сообщения (System message) передают команды, которые воздействуют на общие параметры и режимы работы всех устройств-получателей.
Рис. 5. Разделение всех типов midi-сообщений на две группы |
Канальные midi-сообщения (Channel message) включают в себя номер midi-канала и передают сообщения на каждый midi-канал индивидуально. Всего для одного (и каждого) устройства midi-технология предусматривает 16 midi-каналов.
midi-каналы
midi-каналы предназначены для того, чтобы один синтезатор или звуковой модуль мог играть несколькими разными тембрами одновременно, причем каждый тембр (инструмент) исполняет свою независимую партию.
Когда одно устройство передает канальные midi-сообщения на другое, внешне это выглядит так, как если бы они были соединены шестнадцатью кабелями (и по каждому следуют указания о том, какие ноты каким тембром играть).
Типы сообщений из группы Channel
Канальные midi -сообщения можно разделить по типам их структуры и по их целям. В последнем случае имеются две группы midi-сообщений: голосовые (Voice message) и режимные (Mode message).
Рис. 7. midi-сообщения из группы Channel. Все режимные сообщения по типу (а не по функциям, как они разделены на этом рисунке) являются midi-сообщениями типа Control Change, поэтому изображены одним цветом и обведены пунктиром |
Режимные сообщения тоже делятся на две группы. Первая группа воздействует на конкретный midi-канал (эти сообщения устанавливают канал в состояние по умолчанию — сбрасывают все ноты, настраивают канал на стандартную высоту звука и пр.).
Сообщения второй режимной группы воздействуют на все midi-устройство в целом, другими словами, устанавливают режим его работы.
midi-сообщения группы System
Но по своему функциональному назначению их делят на три подгруппы (рис. 8). К первой из них (System Real Time) относятся сообщения, связанные с синхронизацией работы двух midi-устройств.
Сообщения третьей группы (System Exclusive) являются одними из самых важных и самых неформализованных в midi-технологии. Они носят название “эксклюзивные”, потому что содержание данных определяется для каждого midi-устройства своей фирмой-производителем и не может быть распознано устройством другой модели или фирмы. Среди этих сообщений могут быть команды о настройке всего устройства целиком или отдельных его модулей. Другие сообщения управляют процессом передачи данных сэмплов или каких-то специальных файлов (Sample Dump, File Dump).
Структура midi-сообщения
Некоторые midi-сообщения (например, Program Change) не имеют второго байта данных.
Если midi-сообщение является канальным, то его первый байт (кроме статуса) содержит номер midi-канала. Второй и третий байты midi-сообщения называются Байт данных 1 (Data byte 1) и Байт данных 2 (Data byte 2). Байты данных содержат конкретную информацию, которую несет это midi-сообщение. Например, для сообщения “Взять ноту” Байт данных 1 указывает, какую именно ноту, а Байт данных 2 — с какой громкостью.
Рис. 10. Возможные виды midi-сообщений типа System message |
Как определяется тип midi-сообщения
Итак, midi-информация, которую одно устройство передает другому, может быть в форме какого-либо из этих восьми типов. Некоторые из них понятны без комментариев (нажатие и снятие ноты), другие нуждаются в небольших пояснениях.
Любое midi-устройство не обязано посылать или отрабатывать обязательно все типы сообщений. Каждая фирма-производитель исходит из соображений целесообразности. Из этого следует, что различные midi-устройства, например синтезаторы, в одинаковых условиях могут вести себя по-разному (хотя с этим идет борьба). Самые простые домашние синтезаторы (с уменьшенными клавишами) не воспринимают, например, силу удара по клавише — громкость можно менять только ручкой и для всего инструмента сразу. Это напоминает игру на аккордеоне, только у него громкость зависит от величины разведения мехов.
А на практике?
Знания нужны или потому, что что-то не работает (а может быть оно, кстати, и не должно работать), или для того, чтобы применить их в каком-то творческом процессе. Во втором случае вам придется подробней разобраться в тонкостях midi-технологии, но, конечно, в рамках необходимости. Абсолютно сведущих специалистов, возможно, вообще нет, так как процессом развития этой области занимаются многие фирмы в разных концах земного шара.
Для иллюстрации же первого случая разберем простой пример. Посмотрите еще раз на рис. 1. Вы правильно соединили проверенным midi-кабелем два устройства (то есть midi Out синтезатора с midi In звукового модуля), а звука в колонках нет, хотя демонстрационные пьесы самого модуля играют. И сам по себе синтезатор тоже играет. Налицо факт отсутствия понимания между устройствами.
Проверяем у синтезатора:
- включен ли режим посылки midi-сообщений (по умолчанию — включен, но вдруг вы что-то перепутали);
- какой midi-канал установлен для посылки midi-сообщений (установите, например, midi Channel=1);
- есть ли фильтр для посылки midi-сообщений (вдруг там, например, отсеиваются взятия нот).
Некоторые midi-устройства и компьютерные программы имеют кнопку Reset или Panic, которая устанавливает все параметры в значения по умолчанию. Если она имеется, воспользуйтесь ею.
Проверяем у звукового модуля:
- включен ли режим приема midi-сообщений (по умолчанию должен быть включен);
- какой режим приема включен (он может быть разным в зависимости от устройства: возможно, включен режим Mono, и тогда ваш звуковой модуль будет играть, но одним тембром независимо от midi-канала) —необходимо установить режим Poly;
- какой midi-канал установлен для приема midi-сообщения (если установлен режим Poly, то сообщения будут приниматься по всем шестнадцати каналам одновременно);
- есть ли фильтр для приема midi-сообщений (а вот приемный фильтр у всех уважающих себя устройств имеется), и что у него выставлено.
Возможна еще одна причина непонимания. Поиграйте в середине клавиатуры. Возможно, какой-нибудь тембр звукового модуля и не должен звучать очень высоко или очень низко.
Все это верно и при подключении синтезатора к компьютеру, только в роли звукового модуля будет выступать установленная на компьютере программа.
И последнее. На стандартном синтезаторе колесико или рычажок слева от клавиатуры посылает midi-сообщения типа Pitch Bend (изменение высоты звука). Колесико или рычажок, называемый Modulation, посылает сообщение Control Change (см. рис. 9, первый байт данных равен единице, что и означает модуляцию, второй байт равен глубине модуляции). Ручка или движок громкости тоже посылает сообщение Control Change (первый байт данных равен семи, что означает громкость, второй байт сообщает о силе громкости).
Кнопки или ручки, меняющие громкость, посылают midi-сообщение типа Program Change (оно имеет только первый байт данных — номер тембра).
Источник