Существует множество самых разных музыкальных устройств, отличающихся назначением и внутренней архитектурой. Учесть особенность каждого инструмента и внести их в стандарт — задача нереальная, но MIDI к этому и не стремится. Стандартизированы (в виде сообщений канала) только наиболее характерные черты большинства устройств. Необходимая гибкость в управлении достигается с помощью контроллеров General Purpose или незарегистрированных параметров (NRPN, см. предыдущую статью). А наиболее удобным вариантом, позволяющим использовать все заложенные в устройство возможности, являются системные эксклюзивные сообщения (SysEx). Каждый производитель может определять свои собственные сообщения SysEx, даже под конкретное устройство.
Изначально сообщения SysEx предназначались исключительно для производителей, но скоро обнаружилось, что есть целая группа команд, которые используются одинаковым образом и которые неплохо бы внести в стандарт. Типичным примером является общая громкость звучания (Master Volume) и панорама (Master Pan). Кроме того, возникла потребность расширения начальной спецификации дополнительными протоколами (первое такое расширение, MIDI Time Code, появилось в 1987 году). Но практически все статус-байты на тот момент были заняты, поэтому единственным способом расширения оказались сообщения SysEx.
Таким образом, эксклюзивные сообщения были разделены на два типа: предназначенные для производителей (Manufacturer Specific SysEx) и универсальные (Universal SysEx). В последнюю группу вошли все расширения протокола, а также общие команды для управления устройствами, не отраженные в голосовых сообщениях.
Для того, чтобы сопоставить SysEx с конкретным производителем, в заголовке сообщения передается идентификатор производителя (Manufacturer ID). Получив чужой идентификатор, устройство обычно пропускает все сообщение, так как просто не понимает его формат. Выдачей идентификаторов занимаются организации MMA и JMSC.
Общая структура сообщения SysEx такова: сначала идет статус-байт 0xF0, затем идентификатор производителя, затем какое-то количество байт данных, и признак завершения — байт EOX (End Of Exclusive, 0xF7), рис. 5. Каждый производитель применяет собственный формат и волен использовать в сообщении любое число байт данных. В принципе, устройство, для которого предназначено сообщение SysEx, само знает, сколько байт данных содержится в том или ином сообщении. Поэтому EOX нужен, в основном, для тех устройств, которые получили порцию SysEx, им не предназначенную; количество байт данных им неизвестно, поэтому они и ориентируются по ограничивающему байту EOX.
Рис. 5
С другой стороны, сообщение SysEx содержит только байты данных (не считая начального 0xF0), поэтому появление какого-либо статус-байта (отличного от категории Real Time) будет также означать конец SysEx. Так что, строго говоря, завершающий байт EOX не обязателен. Такой подход иногда встречаются в продукции некоторых фирм. Например, инструмент Yamaha DX 7 не передает EOX, поэтому с теми устройствами, которые ожидают его в обязательном порядке, могут возникнуть проблемы.
Идентификаторы производителей находятся в диапазоне от 0x01 до 0x7C (от 1 до 124), по 31 идентификатору на регион мира: с 0x01 по 0x1F — для американских производителей, с 0x20 по 0x3F — для европейских, с 0x40 по 0x5F — для японских и с 0x60 по 0x7C — для производителей из остальных регионов. Оставшиеся три значения (0x7D, 0x7E и 0x7F) зарезервированы: 0x7D является некоммерческим идентификатором (Non-Commercial ID), применяется при разработке и тестировании оборудования и не должен использоваться в устройствах, поставляемых на рынок. Группу универсальных сообщений SysEx поделили на две части: Universal Non-Real Time (сообщения, не критичные к времени передачи) и Universal Real Time (соответственно, критичные). Первой присвоили идентификатор 0x7E, второй — 0x7F.
Конечно, 31 производитель на регион — это несерьезно, и практически сразу все идентификаторы были заняты. Организации MMA и JMSC это предвидели и зарезервировали нулевой идентификатор (0x00) в качестве префикса, за которым передаются два байта, пара MSB:LSB, содержащие расширенный номер производителя, от 1 до 16383 (первым передается LSB). Сказанное иллюстрирует рисунок 6.
Рис. 6
В таблице 1 приведены идентификаторы по состоянию на сегодняшний день. Политика MMA и JMSC такова: выделенные однажды идентификаторы остаются за производителем навсегда, даже если он прекращает торговую деятельность или ликвидируется. Что вполне логично, поскольку выпущенные приборы могут быть "в ходу" неограниченное время. В таблице несуществующие сегодня производители отмечены звездочкой.
Америка
ID (Hex)
| Производитель
| 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 00 00 01 00 00 07 00 00 08 00 00 09 00 00 0A 00 00 0B 00 00 0C 00 00 0D 00 00 0E 00 00 10 00 00 11 00 00 14 00 00 15 00 00 16 00 00 17 00 00 18 00 00 19 00 00 1A 00 00 1B 00 00 1C 00 00 1D 00 00 1E 00 00 1F 00 00 20 00 00 21 00 00 24 00 00 25 00 00 26 00 00 29 00 00 2A 00 00 2B 00 00 2D 00 00 2E 00 00 2F 00 00 30 00 00 31 00 00 32 00 00 33 00 00 34 00 00 35 00 00 37 00 00 38 00 00 39 00 00 3A 00 00 3C 00 00 3D 00 00 3E 00 00 3F 00 00 40 00 00 41 00 00 42 00 00 43 00 00 44 00 00 47 00 00 4E 00 00 4F 00 00 55 00 00 64 00 00 74 00 00 75 00 00 76 00 00 77 00 00 78 00 00 79 00 00 7A 00 00 7B 00 00 7C 00 00 7D 00 00 7E 00 00 7F 00 01 00 00 01 01 00 01 02 00 01 03 00 01 04 00 01 05 00 01 06 00 01 08 00 01 09 00 01 0A 00 01 0B 00 01 0C 00 01 0D 00 01 0E 00 01 0F 00 01 10 00 01 11 00 01 12 00 01 13 00 01 14 00 01 15 00 01 16 00 01 17 00 01 18 00 01 19 00 01 1A 00 01 1B 00 01 1C 00 01 1D 00 01 1E 00 01 1F 00 01 20 00 01 21 00 01 22 00 01 23 00 01 24 00 01 25 00 01 26 00 01 27 00 01 28 00 01 29 00 01 2A 00 01 2B 00 01 2C 00 01 2D 00 01 2E 00 01 2F 00 01 30 00 01 31 00 01 32 00 01 33 00 01 34 00 01 35 00 01 36 00 01 37 00 01 38 00 01 39 00 01 3A 00 01 3B 00 01 3C 00 01 3D 00 01 3E 00 01 3F 00 01 40 00 01 41 00 01 42 00 01 43 00 01 44 00 01 45 00 01 46 00 01 47
| Sequential Circuits* IDP Voyetra/Octave Plateau Moog Music* Passport Designs Lexicon Kurzweil Fender Gulbransen AKG Acoustics Voyce Music Waveframe* ADA Garfield Electronics* Ensoniq Oberheim Apple Computer Gray Matter* Digidesign Palm Tree Instruments JL Cooper Lowrey Adams-Smith E-mu Systems Harmony Systems ART Baldwin Eventide Inventronics Key Concepts Clarity* Warner New Media Digital Music C7orp. IOTA Systems New England Digital* Artisyn IVL Technologies Southern Music Systems Lake Butler Sound Company Alesis DOD Electronics Studer-Editech Jeff Tripp/Perfect Fretworks KAT Opcode* Rane Corp. Spatial Sound/Anadi Inc. KMX Allen & Heath Brenell Peavey Electronics 360 Systems Spectrum Design and Development Marquis Musi Zeta Systems Axxes Orban KTI Breakaway Technologies CAE Rocktron Corp. PianoDisc Cannon Research Group Rogers Instrument Corp. Blue Sky Logic Encore Electronics Uptown Voce CTI Audio S&S Research Broderbund Software Allen Organ Co. Music Quest Aphex Gallien Krueger IBM Hotz Instruments Technologies ETA Lighting NSI Corp. Ad Lib Richmond Sound Design Microsoft The Software Toolworks RJMG/Niche Intone GT Electronics/Groove Tubes Euphonix InterMIDI Lone Wolf* Musonix Ta Horng Musical Instrument eTek Labs (Forte Tech) Electrovoice Midisoft Q-Sound Labs Westrex Nvidia ESS Technology MediaTrix Peripherals Brooktree Corp. Otari Corp. Key Electronics Shure Inc. AuraSound Crystal Semiconductor Conexant (Rockwell) Silicon Graphics Midiman PreSonus Topaz Enterprises Cast Lighting Microsoft Consumer Division Sonic Foundry Line 6 (Fast Forward) Beatnik Inc. Van Koevering Company Altech Systems S&S Research VLSI Technology Chromatic Research Sapphire IDRC Justonic Tuning TorComp Research Newtek Inc. Sound Sculpture Walker Technical Digital Harmony (PAVO) InVision Interactive T-Square Design Nemesys Music Technology DBX Professional Syndyne Corp. Bitheadz Cakewalk Music Software Staccato Systems National Semiconductor Boom Theory/Adinolfi Alternative Percussion Virtual DSP Corp. Antares Systems Angel Software St Louis Music Lyrrus dba G-VOX Ashley Audio Inc. Vary-Lite Inc. Summit Audio Inc. Aureal Semiconductor SeaSound LLC U.S.Robotics Aurisis Research Nearfield Multimedia FM7 Inc Swivel Systems Hyperactive Audio Systems MidiLite (Castle Studios Productions) Radikal Technologies Roger Linn Design Helicon Vocal Technologies Event Electronics Sonic Network Inc. Realtime Music Solutions Apogee Digital Classical Organs Inc. Microtools Inc. Numark Industries Frontier Design Group LLC Recordare LLC Starr Labs Voyager Sound Inc. Manifold Labs Aviom Inc Mixmeister Technology Notation Software
| |
Европа
ID (Hex)
| Производитель
|
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 33 34 35 39 3B 3C 3D 3E 3F 00 20 00 00 20 01 00 20 02 00 20 04 00 20 06 00 20 07 00 20 09 00 20 0A 00 20 0B 00 20 0C 00 20 0D 00 20 0E 00 20 0F 00 20 10 00 20 11 00 20 13 00 20 15 00 20 16 00 20 17 00 20 18 00 20 1F 00 20 2B 00 20 2C 00 20 2D 00 20 2E 00 20 2F 00 20 30 00 20 31 00 20 32 00 20 33 00 20 34 00 20 35 00 20 36 00 20 37 00 20 38 00 20 39 00 20 3A 00 20 3B 00 20 3C 00 20 3D 00 20 3E 00 20 3F 00 20 40 00 20 41 00 20 42 00 20 43 00 20 44 00 20 45 00 20 46 00 20 47 00 20 48 00 20 49 00 20 4A 00 20 4B 00 20 4C 00 20 4D 00 20 4E 00 20 4F 00 20 50 00 20 51 00 20 52 00 20 53 00 20 54 00 20 55
| Passac SIEL Synthaxe* Stepp* Hohner Twister* Solton Jellinghaus* Southworth PPG* JEN Solid State Logic Audio Veritrieb Hinton Instruments Soundtracs Elka Dynacord Clavia Digital Instruments Audio Architecture* General Music Soundcraft Electronics Wersi Avab Electronic Digigram Waldorf Electronics Quasimidi Dream Strand Lighting AMEK Systems & Controls Dr. Bohm/Musical International Trident Real World Design* Yes Technology Audiomatica Bontempi/Farfisa F.B.T. Electronica MIDITEMP Larking Audio Zero 88 Lighting Micon Audio Electronics Forefront Technology Kenton Electronics ADB Jim Marshall Products DDA BSS Audio TC Electronic Medeli Electronics Co Charlie Lab SRL Blue Chip Music Technology BEE OH LG Semiconductor TESI Emagic Behringer Access Synoptic Hanmesoft Terratec Electronics Proel SpA IBK MIDI IRCAM Propellerhead Software Red Sound Systems Ltd Elektron ESI AB Sintefex Audio MAM (Music and More) Amsaro CDS Advanced Technology BV Touched By Sound DSP Arts Phil Rees Music Tech Stamer Musikanlagen Soundart (Musical Muntaner) C-Mexx Software Klavis Technologies Noteheads AB Algorithmix Skrydstrup R&D Professional Audio Company DBTECH Vermona Nokia Wave Idea Hartmann Lion’s Tracs Analogue Systems Focal-JMlab Ringway Electronics (Chang-Zhou) Co Ltd Digiplug
|
Япония
ID (Hex)
| Производитель
|
40 41 42 43 44 46 47 48 4B 4C 4D 4E 50 51 52 54 55 56 57 59 5A 5C 5F 00 40 00
| Kawai Roland Korg Yamaha Casio Kamiya Akai Japan Victor Fujitsu Sony Nishin Onpa TEAC Matsushita Electric Fostex Zoom Matsushita Communication Industrial Suzuki Musical Instrument Fuji Sound Corp. Acoustic Technical Laboratory Faith Internet Corp. Seekers Co Ltd SD Card Association Crimson Technology
|