MIDI (Musical Instrument Digital Interface) – это протокол, содержащий набор стандартных команд для взаимодействия между звуковыми устройствами. В конце 70-х годов индустрия уже имела в арсенале множество инструментов и устройств обработки, но они никак не были связаны между собой. Со стороны производителей было предложено несколько вариантов взаимодействий, но общей стандартизации не было.
Толку от того, что вы можете подключить две или три модели - этого мало. Причем такие варианты коммутаций обычно делались на заказ. На выставке NAMM 1981 года между Икутаро Какехаши (Roland), Томом Оберхеймом (Oberheim) и Дэйвом Смитом (президент Sequential Circuits) состоялся первый разговор на эту тему. В результате, общими усилиями был разработан интерфейс MIDI. Официальной датой его возникновения считается 1982 год. Для поддержки этого стандарта в 1983-1984 гг были сфомированы комитет по MIDI стандартам (JMSC), Ассоциация MIDI Производителей (MMA) и Международная MIDI Ассоциация (IMA), задачей которых было осуществление скоординированных действий между производителями, а также пользователями.
|
|
За прошедшее время в стандартизацию MIDI 1.0 было добавлено несколько новых полезных команд и функций, но сейчас мы пользуемся в основном тем, что было разработано в начале 80-х. При этом за прошедший период было выпущено столько аппаратуры, поддерживающей Musical Instrument Digital Interface, что уход этого стандарта видится невозможным. Его постоянно пытаются заменить и придумать что-то новое, но изобретаемые стандарты должны обязательно быть совместимыми с MIDI - иначе их не примет рынок.
Поэтому, сейчас в рамках использования инструментов и компьютерных устройств MIDI воспринимается как простейшая командная система и все надстройки над этим стандартом, разработанные ранее просто теряются. Командная система MIDI уникальна и сейчас используется не только в музыке, но и в реализации программного управления любыми техническими процессами. Например, в робототехнике довольно известна фирма MediaMation (http://mediamat.com/), которая производит оборудование для обеспечения дистанционного программного управления с помощью MIDI-интерфейсов. Помимо этого протокол MIDI использовался для обеспечения интерактивности в системах виртуальной реальности. Всему виной простота, распространенность и низкая стоимость этих устройств.
Что же такое MIDI? Стандартный интерфейс MIDI позволяет передавать сообщения по 16 каналам для одного порта (в современных аппаратных решениях портов может использоваться несколько, а интерфейсы называются мультипортовыми). В числе таковых сообщений можно перечислить информацию о ноте, инструменте и его смене, повороте колеса питча (изменения тона), скорости нажатия клавиши, длительности нажатия и т.п. Передача данных по MIDI протоколу осуществляется в одном направлении со скоростью 31250 б/с в шестнадцатеричном коде. Каждый байт данных начинается стартовым и заканчивается стоповым битом, так что фактически скорость передачи получается равной 3125 байт/с. MIDI-данные содержат только набор команд и не подразумевают наличие непосредственно аудиоданных. В стандартной клавиатуре встроен специальный контроллер, который обрабатывает информацию о нажатой ноте и т.п. и преобразует ее в стандартный шестнадцатеричный код. Этот код поступает на принимающее устройство (в частности, синтезатор), расшифровывается им и воспроизводится (сообщения преобразовываются в события). MIDI-файлы (файлы с расширением.MID) и модули секвенсоров, также содержат в себе набор этих команд, распределенный относительно времени.
|
|
С внедрением MIDI музыканты получили как плюсы, так и минусы. Бесспорно, положительная сторона этого протокола - небольшой объем данных по сравнению с тем же аудио. Это активно использовалось на заре развития компьютерных игр, когда аппаратные мощности и физические объемы памяти просто не позволяли вращать большим объемом аудиоинформации. Гейм композиторы того времени активно пользовались MIDI-синтезаторами для создания музыки. Теперь это же MIDI-информация активно используется в портативных устройствах и мобильных телефонах.
Второй плюс MIDI состоит в том, что в этом стандарте изначально закладывалась полифония. То есть можно было без труда использовать несколько инструментов.
Наверняка многие из вас видели гнезда MIDI In, MIDI Thru и MIDI Out (стандартные пятиштырьковые разъемы DIN-5) на коммутационных панелях синтезаторов, сэмплеров, эффект-процессоров и т.п. В идее использовать три потока была заранее заложена возможность сложной коммутации, ведь MIDI Thru - это тоже самое, что и MIDI Out. Таким образом, можно было подключать сразу несколько устройств как это показано на рисунке. Варианты коммутации могут быть различными.
Сейчас возможности сложной аппаратной MIDI коммутации используются довольно редко, в основном в больших аппаратных студиях. Распайка MIDI-кабелей в данном случае выглядит следующим образом:
Контакты 4 и 5 являются сигнальными, а 2 - экранный. При этом 4 - это "+", а 5 - "-". Для коммутации подойдет обычный двухжильный кабель, ограничение по длине - до 15 метров.
MIDI-сообщения
Под цифрой 1 показано устройство, которое является независимым инструментом (таким как аналоговые синтезаторы 60-х - 70-х), и пусть это будет аналоговый синтезатор. При нажатии клавиши клавиатуры, датчики фиксируют это событие и блок преобразования превращает его в сообщение для блока синтеза, который в свою очередь, получает необходимую информацию и воспроизводит необходимый результат.
При этом между блоком преобразования сигнала с датчиков и блоком синтеза существует свой поток данных (если мы говорим об аналоговых синтезаторах, то это будет аналоговый сигнал, созданный определенным образом). Теперь обратим внимание на устройство 2. Допустим, что это современная MIDI-клавиатура. В этом устройстве информация с датчиков преобразуется и поступает в MIDI-интерфейс, который конвертирует аналоговый сигнал в цифровой поток, включающий набор команд и передает его на любое MIDI-совместимое устройство (сэмплер, РС, цифровой синтезатор). В результате получается универсальная модель коммутации. Обратите внимание на то, что наш аналоговый синтезатор тоже можно подключить к MIDI, для этого достаточно перевести MIDI-сообщения в аналоговые сигналы управления, понятные для аналогового блока синтеза.
С внедрением MIDI ситуация на рынке синтезаторов изменилась. Получили распространения устройства, именуемые звуковыми модулями, а, по сути, они представляли собой синтезатор или сэмплер, но без клавиатуры. Такие модули управляются по MIDI.
|
|
Со временем развился еще один специальный класс устройств - MIDI-датчики, который мог транслировать в MIDI-сообщения сигналы от обычной гитары либо ударной установки. Это также виток развития MIDI-технологии, который не прижился.
Обычной коммутации оказалось мало - необходимо было обеспечить инструментальную совместимость различных устройств. То есть, если вы играете на тембре пианино, то желательно, чтобы все устройства воспринимали и воспроизводили этот же тембр. Поэтому следующим шагом в развитии MIDI было создание стандартного протокола General MIDI, который являлся ничем иным как стандартизированным набором из 128 инструментов (программ) плюс один банк из 44 звуков (пэтчей) ударных. При этом за мелодическими инструментами осталось 15 каналов, а за ударными был закреплен один, идущий под номером 10.
Стандартный банк General MIDI предусматривал практически все инструменты, использующиеся в реальной индустрии, начиная от скрипок и заканчивая некоей эмуляцией современных органов.
Piano
0 Acoustic Grand Piano
1 Bright Acoustic Piano
2 Electric Grand Piano
3 Honky-tonk Piano
4 Electric Piano 1
5 Electric Piano 2
6 Harpsichord
7 Clavinet
Chrom Percussion
8 Celesta
9 Glockenspiel
10 Music Box
11 Vibraphone
12 Marimba
13 Xylophone
14 Tubular Bells
15 Dulcimer
Organ
16 Drawbar Organ
17 Percussive Organ
18 Rock Organ
19 Church Organ
20 Reed Organ
21 Accordion
22 Harmonica
23 Tango Accordion
Guitar
24 Acoustic Guitar (nylon)
25 Acoustic Guitar (steel)
26 Electric Guitar (jazz)
27 Electric Guitar (clean)
28 Electric Guitar (muted)
29 Overdriven Guitar
30 Distortion Guitar
31 Guitar Harmonics
Bass
32 Acoustic Bass
33 Electric Bass (finger)
34 Electric Bass (pick)
35 Fretless Bass
36 Slap Bass 1
37 Slap Bass 2
38 Synth Bass 1
39 Synth Bass 2
Strings
40 Violin
41 Viola
42 Cello
43 Contrabass
44 Tremolo Strings
45 Pizzicato Strings
46 Orchestral Harp
47 Timpani
Ensemble
48 String Ensemble 1
49 String Ensemble 2
50 Synth Strings 1
51 Synth Strings 2
52 Choir Aahs
53 Voice Oohs
54 Synth Voice
55 Orchestra Hit
Brass
56 Trumpet
57 Trombone
58 Tuba
59 Muted Trumpet
60 French Horn
61 Brass Section
62 Synth Brass 1
63 Synth Brass 2
Reed
64 Soprano Sax
65 Alto Sax
66 Tenor Sax
67 Baritone Sax
68 Oboe
69 English Horn
70 Bassoon
71 Clarinet
Pipe
72 Piccolo
73 Flute
74 Recorder
75 Pan Flute
76 Bottle Blow
77 Shakuhachi
78 Whistle
|
|
79 Ocarina
Synth Lead
80 Lead 1 (square)
81 Lead 2 (sawtooth)
82 Lead 3 (calliope)
83 Lead 4 (chiff)
84 Lead 5 (charang)
85 Lead 6 (voice)
86 Lead 7 (fifths)
87 Lead 8 (bass + lead)
Synth Pad
88 Pad 1 (new age)
89 Pad 2 (warm)
90 Pad 3 (polysynth)
91 Pad 4 (choir)
92 Pad 5 (bowed)
93 Pad 6 (metallic)
94 Pad 7 (halo)
95 Pad 8 (sweep)
Synth Effects
96 FX 1 (rain)
97 FX 2 (soundtrack)
98 FX 3 (crystal)
99 FX 4 (atmosphere)
100 FX 5 (brightness)
101 FX 6 (goblins)
102 FX 7 (echoes)
103 FX 8 (sci-fi)
Ethnic
104 Sitar
105 Banjo
106 Shamisen
107 Koto
108 Kalimba
109 Bagpipe
110 Fiddle
111 Shanai
Percussive
112 Tinkle Bell
113 Agogo
114 Steel Drums
115 Woodblock
116 Taiko Drum
117 Melodic Tom
118 Synth Drum
119 Reverse Cymbal
Sound Effects
120 Guitar Fret Noise
121 Breath Noise
122 Seashore
123 Bird Tweet
124 Telephone Ring
125 Helicopter
126 Applause
127 Gunshot
Ударные на 10 канале
35 Acoustic Bass Drum
36 Bass Drum 1
37 Side Kick
38 Acoustic Snare
39 Hand Clap
40 Electric Snare
41 Low Floor Tom
42 Closed High-Hat
43 High Floor Tom
44 Pedal High Hat
45 Low Tom
46 Open High Hat
47 Low-Mid Tom
48 High-Mid Tom
49 Crash Cymbal 1
50 High Tom
51 Ride Cymbal 1
52 Chinese Cymbal
53 Ride Bell
54 Tambourine
55 Splash Cymbal
56 Cowbell
57 Crash Cymbal 2
58 Vibraslap
59 Ride Cymbal 2
60 High Bongo
61 Low Bongo
62 Mute High Conga
63 Open High Conga
64 Low Conga
65 High Timbale
66 Low Timbale
67 High Agogo
68 Low Agogo
69 Cabasa
70 Maracas
71 Short Whistle
72 Long Whistle
73 Short Guiro
74 Long Guiro
75 Claves
76 High Wood Block
77 Low Wood Block
78 Mute Cuica
79 Open Cuica
80 Mute Triangle
81 Open Triangle
Помимо этого, предусмотрен ряд стандартных эффектов, таких как реверберация, хорус, вибрато и т.п.
Таким образом, предполагалось, что музыкант создав аранжировку на своем синтезаторе, сможет без труда перенести ее на устройство от другого производителя и прослушать в нормальном качестве. Но не тут-то было. Производители отказывались делать однотипные по звучанию устройства, и, к тому же со временем набора GM стало просто не хватать. Остановимся сейчас на первом моменте.
Дело в том, что синтезированные модели инструментов у каждой фирмы является практически самостоятельно созданным ноу-хау. И скрипка на Korg N-1 отличается от той же скрипки на YAMAHA PSR-520. Они отличаются не только по вложенным алгоритмам, но главным образом по динамике и частотному наполнению. В результате, аранжировка сделанная с помощью N-1 будет слушаться совершенно по другому на других синтезаторах. Некоторые инструменты могут исчезнуть в силу слабой динамики, а некоторые зазвучат громче. Это касается и реализаций эффектов. В результате под каждое устройство нужно было делать пересведение. И в данной ситуации мог быть только один странный выход - монополизации рынка GM-устройств одним производителем, для того, чтобы обеспечить полноценную совместимость. К счастью этого не произошло.
Теперь перейдем к другой проблеме - недостаточности количества инструментов. Все мы живем в современном мире и знаем, как меняется индустрия звукозаписи. От звуков и их тембров зависит очень многое. Поэтому мы так любим экзотические инструменты, старые аналоговые синтезаторы, с любопытством рассматриваем новые эффект-процессоры. Так вот, ничего нового стандарт GM не предлагал. В результате производители пошли по двум путям:
1. Стали создавать несколько параллельных банков из 128 инструментов.
2. Занялись производством собственных уникальных звуков, предусматривая MIDI как основной вариант управления блоками синтеза и не более того.
В 1999 году появился стандарт GM2, имеющий большее количество инструментов, но это не спасло ситуацию. Параллельно с этим, раньше или позже появились стандарты GS, XG, XS, DLS, которые расширили возможности как непосредственно управления по MIDI, так и по улучшению качества звучания и увеличения набора инструментов. Но, развитие сэмплерных технологий, а также появление виртуальных программных инструментов VSTi и DXi поставило над всеми этими попытками жирную точку. И этот факт показал, что стандартизации такого глобального уровня в индустрии быть не может.
Таким образом, MIDI нас может сейчас интересовать только с двух позиций - рассмотрение информации, вложенной в MIDI-сообщения, и реализация синхронизации.
MIDI-сообщения - это управляющие сигналы, которые передаются по MIDI интерфейсу. Таковые бывают двух основных типов:
1. Канальные Event и Controllers. Сообщения о ноте, ее длительности и динамике нажатия клавиши, номеру канала и банка, уровню громкости и эффектов, панорамном положении и т.п. MIDI предусматривает наличие 127 контроллеров, каждый из которых может менять параметры в пределах от 0 до 127. Но в реальности всего их задействовано около 20.
2. Системные. Общая информация для воспроизводящих устройств, такая как их идентификация, специфические команды от производителей, синхронизация и т.п.
Второй тип явно иллюстрирует недостаток MIDI, поскольку, по сути, является надстройкой, говорящей о том, что каждый производитель может использовать MIDI-сообщения по своему усмотрению, исходя из специфичности своего оборудования. Например, если синтезатор от одного производителя имеет эффект дисторшна и это зафиксировано в файле, то модель от другого разработчика может не понять или проигнорировать это сообщение. Поэтому любители MIDI, сами перепрограммируют SysEx (системные эксклюзивные сообщения) для того, чтобы добиться максимальной совместимости. К каждому устройству поставляется руководство MIDI Implementation, в котором производитель указывает на особенности построения SysEx-сообщений. Для всех верно одно, что эти сообщения начинаются с символа F0, следующим символом будет код фирмы-производителя, после этого идет идентификационный номер устройства в сети (устанавливается системой) и код самого синтезатора, который присваивается производителем. После этого идут команды и значения, количество символов в строке может быть каким угодно. Все данные берутся из того же руководства MIDI Implementation от производителя. SysEx сообщение заканчивается символом F7.
Вашему вниманию представлен список стандартных кодов основных производителей стандартизированный Ассоциацией MIDI Производителей (MMA).
Sequential Circuits - 01
Big Briar - 02
Octave / Plateau - 03
Moog - 04
Passport Designs - 05
Lexicon - 06
Kurzweil - 07
Fender - 08
Gulbransen - 09
Delta Labs - 0A
Sound Comp. - 0B
General Electro - 0C
Techmar - 0D
Matthews Research - 0E
Oberheim -10
PAIA - 11
Simmons - 12
DigiDesign -13
Fairlight -14
Peavey - 1B
JL Cooper - 15
Lowery - 16
Lin - 17
Emu - 18
Bon Tempi - 20
S.I.E.L. - 21
SyntheAxe - 23
Hohner - 24
Crumar - 25
Solton - 26
Jellinghaus Ms - 27
CTS - 28
PPG - 29
Elka - 2F
Cheetah - 36
Kawai - 40
Roland - 41
Korg - 42
Yamaha - 43
Casio - 44
Akai - 45
Например, строка эксклюзивного сообщения для Roland XP30 будет выглядеть следующим образом: F0 41 1n 6A ……………..F7, где 41- это код Roland, n - номер устройства в сети, а 6A - код XP30.
Но, вместе с тем, SysEx дает и множество плюсов, поскольку с его помощью можно описать любые возможности любого MIDI-устройства. Например, с современными моделями синтезаторов и в новом ПО поставляется просто огромное количество SysEx-банков. По сути их можно считать неким аналогом драйверов, действующих в рамках MIDI-систем. При этом для каждой аранжировки можно создавать, изменять и сохранять собственный поток SysEx-сообщений. Это могут делать практически все программные редакторы, работающие с MIDI (Cubase, SONAR, Nuendo…). Помимо этого стоит отметить, что такие стандарты как DS или XG являются в своей основе не более чем SysEx-надстройкой, использующей за основу стандартизацию MIDI и документированные особенности небольшого количества оборудования от нескольких производителей.
С приходом программных виртуальных инструментов все стало намного проще, и мы оперируем только канальными MIDI-сообщениями, программными пресетами и внутренним наполнением файлов.
Во всех секвенсорах и их аппаратных и/или программных реализациях существуют генераторы временного кода, которые производят MIDI-сообщение под названием MIDI Clock. Оно служит для синхронизации аппаратных устройств и программного обеспечения. Группа MIDI-сообщений, использующихся для синхронизации, называется MIDI Time Code или MTC и является одним из основных современных стандартов в синхронизации. MTC поддерживают не только MIDI-устройства, но и обычные цифровые магнитофоны и большинство современного ПО.
Выводы о MIDI
Стандарт MIDI выживает за счет своей распространенности. При этом со временем мы получили огромное количество надстроек над ним, часть из которых уже превратилось в историю.
Вопросы.
1. Расшифровка и перевод MIDI.
2. Как осуществляется передача данных по MIDI протоколу?
3. Какие стандартные эффектоы вы знаете?
4. Что такое MIDI-сообщения? Их типы.
Ответы (эталон).
1. MIDI – Musical Instrument Digital Interface, цифровой интерфейс музыкальных инструментов.
2. Передача данных по MIDI протоколу осуществляется в одном направлении со скоростью 31250 б/с в шестнадцатеричном коде.
3. Реверберация, хорус, вибрато и т.п.
4. MIDI-сообщения – это управляющие сигналы, которые передаются по MIDI интерфейсу. Канальные Event и Controllers, системные.