Студопедия — System Exclusive
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

System Exclusive







Существует множество самых разных музыкальных устройств, отличающихся назначением и внутренней архитектурой. Учесть особенность каждого инструмента и внести их в стандарт — задача нереальная, но 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


Естественно, идентификатор с номером 1 имеет Sequential Circuits как один из основных разработчиков MIDI. Интересно, что такой же номер, но в трехбайтовом виде (0x00, 0x00, 0x01) имеет фирма Warner New Media, то есть однобайтовые и трехбайтовые идентификаторы не перекрываются. Еще один интересный пример совпадения — Roland (0x41) и Microsoft (0x00, 0x00, 0x41).

Эксклюзивные сообщения (как и все системные) посылаются без указания номера канала, и на них может реагировать каждое устройство MIDI-системы. При соединении устройств разных производителей и передаче специфических SysEx это не проблема — SysEx с чужим идентификатором будут игнорироваться. Другое дело — универсальные SysEx. На них реагируют все устройства, поэтому для передачи такого сообщения выборочно, одному устройству системы, нужны дополнительные меры.
Был введен так называемый номер устройства в системе (Device ID) — байт данных, следующий за идентификатором производителя. Каждому устройству можно назначить свой номер от 0 до 127 (обычно, покопавшись в настройках). Если в сообщении SysEx будет передан Device ID, не совпадающий с выбранным номером, устройство проигнорирует сообщение. Очень похоже на прием по одному MIDI-каналу, только каналов здесь целых 128. Для посылки широковещательных SysEx-сообщений (то есть предназначенных всем устройствам системы) используется Device ID с номером 127 (0x7F).

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

Второй способ состоит в том, что приемное устройство сначала посылает запрос передающему, а затем ожидает от него данные. При этом требуется взаимная коммутация устройств двумя MIDI-кабелями. Третий способ также основан на запросе к передающему устройству и также требует двусторонней связи. При этом данные разбиваются на небольшие пакеты, которые могут передаваться без подтверждения приема или с подтверждением. В последнем случае используется так называемый механизм "рукопожатий" (Handshaking). После получения каждого пакета приемник должен сообщить передатчику результат — успешно получен пакет или нет. В случае ошибки приема, передатчик посылает пакет заново.







Дата добавления: 2015-08-30; просмотров: 640. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия