Ексклузивното съобщение за системата, носи информация, която е специфична за един от производителите на устройства MIDI. Действието, което това съобщение поражда, може да е каквото и да е.
Устройствата на един производител, като например Lexicon, могат да получат едно съобщение, което се разбира само от устройствата Lexicon и което ще бъде пренебрегнато от други устройства.
Това съобщение принадлежи на категорията от обикновени съобщения за системата в MIDI.
Ексклузивните съобщения за системата в MIDI могат да съдържат практически неограничен брой байтове от данни. Първият байт е статусния байт и има шестнадесетичната стойност 0xF0. Вторият байт е идентификацията на производителя. Различните производители на устройства MIDI имат различни идентификационни байтове и тези байтове се използват от устройствата, за да разпознаят кое ексклузивно съобщение за системата трябва да се вземе предвид (ако съобщението е от техния производител) и кое трябва да се пренебрегне (ако е от друг производител). Списъкът от идентификационни байтове е по-долу. Няколко (неограничен брой) байтове следват идентификационния байт на производителя. Единственото общо нещо в тези байтове е, че най-горният бит на всеки от тези байтове е 0 и следователно тези байтове могат да носят стойности само между 0x00 и 0x7F (десетични стойности между 0 и 127). Последният байт на съобщението е 0xF7 и показва, че това е краят на съобщението. Когато устройството срещне този байт, устройството разбира, че това е краят на съобщението даже и при съобщения, които са от други производители и които устройството не разбира.
Следното е пример на едно "ексклузивно съобщение за системата" в MIDI.
0xF0 0x41 0x01 0x34 0xF7
Статусният байт 0xF0 показва, че това е ексклузивно съобщение за системата. Идентификационният байт на производителя е 0x41, което показва, че това е ексклузивно съобщение за системата на Roland. Данните на това съобщение са 0x01 0x34, което кара устройствата на Roland да направят нещо (това е само пример и едно такова съобщение на Roland най-вероятно не съществува). Байтът 0xF7 показва, че съобщението свършва.
Забележете, че след като всички байтове в съобщението след идентификацията на производителя и преди 0xF7 трябва да имат най-горен бит равен на 0, ако един статусен байт, който и да е, се появи след идентификацията на производителя, ще се счита от устройствата, които не разбират съобщението, като край на съобщението (тъй като статусните байтове имат най-горен бит равен на 1).
Следното е списък с идентификационни байтове за производителите.
Шестнадесетична стойност | Десетична стойност | Производител |
0x01 | 1 | Sequential Circuits |
0x02 | 2 | Big Briar |
0x03 | 3 | Octave / Plateau |
0x04 | 4 | Moog |
0x05 | 5 | Passport Designs |
0x06 | 6 | Lexicon |
0x07 | 7 | Kurzweil |
0x08 | 8 | Fender |
0x09 | 9 | Gulbransen |
0x0A | 10 | Delta Labs |
0x0B | 11 | Sound Comp. |
0x0C | 12 | General Electro |
0x0D | 13 | Techmar |
0x0E | 14 | Matthews Research |
0x10 | 16 | Oberheim |
0x11 | 17 | PAIA |
0x12 | 18 | Simmons |
0x13 | 19 | Gentle Electric |
0x14 | 20 | Fairlight |
0x15 | 21 | JL Cooper |
0x16 | 22 | Lowery |
0x17 | 23 | Lin |
0x18 | 24 | Emu |
0x1B | 27 | Peavey |
0x20 | 32 | Bon Tempi |
0x21 | 33 | S.I.E.L. |
0x23 | 35 | SyntheAxe |
0x24 | 36 | Hohner |
0x25 | 37 | Crumar |
0x26 | 38 | Solton |
0x27 | 39 | Jellinghous Ms |
0x28 | 40 | CTS |
0x29 | 41 | PPG |
0x2F | 47 | Elka |
0x40 | 64 | Kawai |
0x41 | 65 | Roland |
0x42 | 66 | Korg |
0x43 | 67 | Yamaha |
0x44 | 68 | Casio |
0x45 | 69 | Akai |
Един производител може да получи идентификационен байт от Интернационалната MIDI Организация (International MIDI Association). Ако производителите нямат идентификационен байт, те имат два начина да създадат свои собствени ексклузивни съобщения за системата. Първо, те могат да използват идентификационния байт, които е запазен за образователни и изследователски цели. Този идентификационен байт обаче не би трябвало да се използва с цел бизнес. Този байт е 0x7D. Второ, те могат да използват идентификационния байт на който и да е друг производител, стига да не променят структурата на съобщението на другия производител.
Универсални ексклузивни съобщения за системата
В протокола MIDI има два идентификационни байтове, които могат да се използват в ексклузивни съобщения за системата вместо специфичните идентификационни байтове в таблицата по-горе. Тъй като тези два идентификационни байтове не са специфични за един производител, а универсални, всяко устройство MIDI трябва да се съобрази със съответното съобщение. Тези байтове са следните.
Шестнадесетична стойност | Десетична стойност | Описание |
0x7E | 126 | Не в реално време |
0x7F | 127 | В реално време |
С други думи, 0x7F се носи от ексклузивни съобщения за системата, на които всички устройства MIDI трябва да реагират в реално време (веднага), а 0x7E се носи от ексклузивните съобщения за системата, на които всички устройства MIDI трябва да реагират, но не в реално време (не непременно веднага). Съобщението пълен кадър например е едно ексклузивно съобщение за системата с идентификационен байт равен на 0x7F. Това съобщение кара всички устройства MIDI да се подредят – веднага – към някаква позиция в песента.
Първият байт след идентификацията за реално / не реално време се нарича "канал на ексклузивното съобщение за системата". Обикновените ексклузивни съобщения за системата нямат канал, но универсалните такива съобщения имат канал, който може да е между 0x00 и 0x7F (между 0 и 127). Обикновено, този канал всъщност е идентификацията на производителя от таблицата по-горе (т.е., 0x41 за Roland), така, че тези съобщения да могат да се изпращат на специфични устройства MIDI. Ако обаче канала на ексклузивното съобщение за системата е 0x7F, тогава това съобщение е за всички устройства MIDI.
Двата байта след канала на ексклузивното съобщение за системата са суб-идентификациите и определят какво прави съобщението. Ако двата байта са например "0x01 0x01", тогава съобщение е съобщението пълен кадър в MIDI и останалите данни в това съобщение ще показват към кое време в песента устройството MIDI трябва да се подреди.
Примери за универсални ексклузивни съобщения за системата в MIDI включват съобщението главна сила на звука в MIDI, съобщението пълен кадър в MIDI и съобщението позволи / спри протокола General MIDI.
Виж също:
Протокол Musical Instrument Digital Interface (MIDI)
Добави нов коментар