25 ма€ 2019 года    
—уббота | 11:32    
√лавна€
 Ќовости
Ѕазы данных
Ѕезопасность PC
¬сЄ о компьютерах
√рафика и дизайн
»нтернет-технологии
ћобильные устройства
ќперационные системы
ѕрограммирование
ѕрограммы
—в€зь
—ети
 ƒокументаци€
—татьи
—амоучители
 ќбщение
‘орум







–азделы / ¬сЄ о компьютерах / јудио

ќписание интерфейса MIDI.

                      ќписание интерфейса MIDI
                      ========================

—оздано: 22.12.96

ѕоследн€€ модификаци€: 15.08.00

јвтор: ≈вгений ћузыченко (Eugene Muzychenko)
       2:5000/14@FidoNet, music@spider.nrcde.ru

Copyright (C) 1996-99, Eugene V. Muzychenko. All rights reserved.

¬се права в отношении данного текста принадлежат автору. ѕри
воспроизведении текста или его части сохранение Copyright об€зательно.
 оммерческое использование допускаетс€ только с письменного разрешени€
автора.

======================================================================


                          „то такое MIDI?
**********************************************************************


Musical Instrument Digital Interface - цифровой интерфейс музыкальных
инструментов. —оздан в 1983 году ведущими производител€ми электронных
музыкальных инструментов - Yamaha, Roland, Korg, E-mu и др. »значально
был предназначен дл€ замены прин€того в то врем€ управлени€
музыкальными инструментами при помощи аналоговых сигналов управлением
при помощи информационных сообщений, передаваемых по цифровому
интерфейсу. ¬последствии стал стандартом де-факто в области
электронных музыкальных инструментов и компьютерных модулей синтеза.

MIDI представл€ет собой так называемый событийно-ориентированный
протокол св€зи между инструментами. ¬с€кий раз, когда исполнитель
производит какое-либо воздействие на органы управлени€
(нажатие/отпускание клавиш, педалей, изменение положений регул€торов и
т.п., инструмент формирует соответствующее MIDI-сообщение, в тот же
момент посылаемое по интерфейсу. ƒругие инструменты, получа€
сообщени€, отрабатывают их так же, как и при воздействии на их
собственные органы управлени€. “аким образом, поток MIDI-сообщений
представл€ет собой как бы слепок с действий исполнител€, сохран€€
присущий ему стиль исполнени€ - динамику, технические приемы и т.п.
ѕри записи на устройства хранени€ информации MIDI-сообщени€ снабжаютс€
временнџми метками, образу€ своеобразный способ представлени€
партитуры. ѕри воспроизведении по этим меткам полностью и однозначно
восстанавливаетс€ исходный MIDI-поток.

—пецификаци€ MIDI состоит из аппаратной спецификации самого интерфейса
и спецификации формата данных, или протокола - описани€ системы
передаваемых сообщений. —оответственно, различаетс€ аппаратный
MIDI-интерфейс и формат MIDI-данных (так называема€ MIDI-партитура);
интерфейс используетс€ дл€ физического соединени€ источника и
приемника сообщений, формат данных - дл€ создани€, хранени€ и передачи
MIDI-сообщений. ¬ насто€щее врем€ эти пон€ти€ стали самосто€тельными и
обычно используютс€ отдельно друг от друга - по MIDI-интерфейсу могут
передаватьс€ данные любого другого формата, а MIDI-формат может
использоватьс€ только дл€ обработки партитур, без вывода на устройство
синтеза.


                    јппаратна€ спецификаци€ MIDI
**********************************************************************


»нтерфейс - старт-стопный последовательный "токова€ петл€" (активный
передатчик, 5 мј, токова€ посылка - 0, бестокова€ - 1), скоростью
передачи 31250 +/-1% бит/с и протоколом 8-N-1 (один стартовый бит, 8
битов данных, один бит стопа, без четности). ѕередатчики и приемники
должны обеспечивать длительность фронтов менее 2 мкс.

 аждый инструмент имеет три соединительных разъема: In (вход), Out
(выход) и Thru (копи€ сигнала с In через буфер). ¬се разъемы - типа
female DIN-5 (—√-5), вид с наружной стороны (стороны соединени€):

      2
 4    o   5
   o     o
1 o       o 3

 онтакты 4 и 5 - сигнальные, контакт 2 - экран. —оединение экрана с
корпусом желательно только со стороны выхода (Out и Thru). ѕол€рность
сигналов даетс€ относительно источника тока: контакт 4 - плюс (ток
вытекает из вывода), контакт 5 - минус (ток втекает в вывод). “аким
образом, дл€ разъемов Out и Thru назначение то же, дл€ разъема In -
обратное.

ƒл€ соединени€ используетс€ двужильный экранированный кабель длиной до
50 футов (около 15 м). Ёкран необходим только дл€ защиты от излучаемых
помех - кабель практически нечувствителен к наводкам извне. —оединение
разъемов на двух концах кабел€ - пр€мое (2-2, 4-4, 5-5).

ќдин MIDI-передатчик допускает подключение до четырех приемников.

ќписанна€ схема позвол€ет создавать сеть MIDI-устройств, подключа€ их
по цепочке и нескольким направлени€м:

≤ЬЬЬЬЬЬЬЬЬЬЬЧ          ≤ЬЬЬЬЬЬЬЬЬЬЬЧ          ≤ЬЬЬЬЬЬЬЬЬЬЬЧ
Л1     Thru Л          Л2     Thru БЬЬЬЬЬЧ    Л3     Thru Л
Л In        Л     ≤ЬЬЬЬМ In        Л     ШЬЬЬЬМ In        Л
Л       Out БЬЬЬЬЬ±    Л       Out БЬЧ        Л       Out Л
ШЬЬЬЬЬЬЬЬЬЬЬ±          ШЬЬЬЬЬЬЬЬЬЬЬ± Л        ШЬЬЬЬЬЬЬЬЬЬЬ±
                     ≤ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ±
                     Л ≤ЬЬЬЬЬЬЬЬЬЬЬЧ          ≤ЬЬЬЬЬЬЬЬЬЬЬЧ
                     Л Л4     Thru БЬЬЬЬЬЧ    Л5     Thru Л
                     ШЬМ In        Л     ШЬЬЬЬМ In        Л
                       Л       Out Л          Л       Out Л
                       ШЬЬЬЬЬЬЬЬЬЬЬ±          ШЬЬЬЬЬЬЬЬЬЬЬ±

¬ этой схеме устройство 1 служит источником сообщений, которые
получает устройство 2 и через его ретрансл€тор - устройство 3.
”стройство 4 получает сообщени€, посылаемые устройством 2 (они могут
как включать, так и не включать получаемые самим устройством 2) и
ретранслирует их на вход устройства 5.


                  —пецификаци€ формата данных MIDI
**********************************************************************


MIDI-данные представл€ют собой сообщени€, или событи€ (events), каждое
из которых €вл€етс€ командой дл€ музыкального инструмента. —тандарт
предусматривает 16 независимых и равноправных логических каналов,
внутри каждого из которых действуют свои режимы работы; изначально это
было предназначено дл€ однотембровых инструментов, способных в каждый
момент времени воспроизводить звук только одного тембра - каждому
инструменту присваивалс€ свой номер канала, что давало возможность
многотембрового исполнени€. — по€влением многотембровых
(multi-timbral) инструментов они стали поддерживать несколько каналов
(современные инструменты поддерживают все 16 каналов и могут иметь
более одного MIDI-интерфейса), поэтому сейчас каждому каналу обычно
назначаетс€ свой тембр, называемый по традиции инструментом, хот€
возможна комбинаци€ нескольких тембров в одном канале.  анал 10 по
традиции используетс€ дл€ ударных инструментов - различные ноты в нем
соответствуют различным ударным звукам фиксированной высоты; остальные
каналы используютс€ дл€ мелодических инструментов, когда различные
ноты, как обычно, соответствуют различной высоте тона одного и того же
инструмента.

ѕоскольку MIDI-сообщени€ представл€ют собой поток данных в реальном
времени, их кодировка разработана дл€ облегчени€ синхронизации в
случае потери соединени€. ƒл€ этого первый байт каждого сообщени€,
называемый также байтом состо€ни€ (status byte), содержит "1" в
старшем разр€де, а все остальные байты содержат в нем "0" и называютс€
байтами данных (data bytes). ≈сли после получени€ всех байтов данных
последнего сообщени€ на вход приемника поступает байт, не содержащий
"1" в старшем разр€де - это трактуетс€ как повторение информационной
части сообщени€ (подразумеваетс€ такой же первый байт). “акой метод
передачи носит название "Running Status" и широко используетс€ дл€
уменьшени€ объема передаваемых данных - например, передаетс€ один байт
команды "Controller Change" с нужным номером канала, а затем - сери€
байтов данных с номерами и значени€ми контроллеров дл€ этого канала.


        ¬иды MIDI-сообщений
        ===================

MIDI- сообщени€ дел€тс€ на канальные - относ€щиес€ к конкретному
каналу, и системные - относ€щиес€ к системе в целом.  одировка
MIDI-сообщений (шестнадцатерична€, n в первом байте обозначает номер
канала):

         анальные сообщени€:

8n nn vv - Note Off (выключение ноты)
9n nn vv - Note On (включение ноты)
An nn pp - Key Pressure (Polyphonic Aftertouch, давление на клавишу)
Bn cc vv - Control Change (смена значени€ контроллера)
Cn pp    - Program Change (смена программы (тембра, инструмента))
Dn pp    - Channel Pressure (Channel Aftertouch, давление в канале)
En ll mm - Pitch Bend Change (плавное изменение высоты тона в канале)

        —истемные сообщени€:

F0       - System Exclusive (SysEx, системное исключительное сообщение)
F1       - резерв
F2 ll mm - Song Position Pointer (указатель позиции в партитуре)
F3 ss    - Song Select (выбор партитуры)
F4       - резерв
F5       - резерв
F6       - Tune Request (запрос подстройки)
F7       - EOX (End Of SysEx, конец системного исключительного сообщени€)
F8       - Timing Clock (синхронизаци€ по времени)
F9       - резерв
FA       - Start (запуск игры по партитуре)
FB       - Continue (продолжение игры по партитуре)
FC       - Stop (остановка игры по партитуре)
FD       - резерв
FE       - Active Sensing (проверка соединений MIDI-сети)
FF       - System Reset (сброс всех устройств сети)


        ќписание канальных сообщений
        ============================

        Note On (nn - номер ноты, vv - скорость (velocity) нажати€)
        Note Off (nn - номер ноты, vv - скорость отпускани€)
        -----------------------------------------------------------

—ообщает о включении/выключении звучани€ ноты. MIDI-клавиатура
генерирует эти сообщени€ при нажатии/отпускании клавиш,
MIDI-синтезатор запускает или останавливает работу соответствующего
генератора звука.

Ќомер ноты задаетс€ абсолютным номером полутона в диапазоне 0..127,
при этом центральной фортепианной клавише - ноте "ƒо" первой октавы -
соответствует дес€тичный номер 60 (в MIDI прин€та нумераци€ октав с
нул€, поэтому она обозначаетс€ как C-5).

—корость нажати€/отпускани€ задаетс€ числом в диапазоне 0..127,
отражающим скорость перемещени€ клавиши (обычно используетс€
логарифмическа€ шкала). —корость нажати€ косвенно отражает силу удара
по клавише. „увствительна€ к скорости нажати€ (динамическа€)
клавиатура выдает реальные значени€, нечувствительна€ должна выдавать
дес€тичные значени€ 64. «начение 0 в сообщении Note On полностью
эквивалентно сообщению Note Off дл€ этой же клавиши - это позвол€ет
при передаче только нажатий и отпусканий использовать режим Running
Status.

ѕростые синтезаторы используют скорость нажати€ дл€ управлени€
громкостью извлекаемого звука, более сложные - также дл€ управлени€
фильтрами (более громким звукам соответствует более звонкое звучание)
либо выбора разных самплов, пропорции смешивани€ нескольких самплов, и
т.п. «начение скорости отпускани€ известными инструментами не
используетс€.

ѕри поступлении повторного сообщени€ Note On дл€ уже нажатой ноты
различные инструменты ведут себ€ по-разному: одни автоматически
отрабатывают перед этим Note Off, прекраща€ звучание "зависшей" ноты;
другие запускают отдельный генератор, оставл€€ зависшую ноту звучать.
«вучание зависшей ноты в этом случае может быть прекращено только
командами All Sounds Off или Reset.


        Channel Pressure (pp - величина давлени€)
        Key Pressure (nn - номер ноты, pp - величина давлени€)
        ------------------------------------------------------

—ообщает об изменении силы давлени€ (After Touch - после прикосновени€
(нажати€)) на всю клавиатуру или отдельную клавишу. Ќаиболее простые
клавиатуры не имеют датчика давлени€; клавиатуры средней сложности
имеют общий датчик дл€ всех клавиш, посыла€ сообщени€ Channel Pressure
по результатам усреднени€ давлени€ на все нажатые клавиши; наиболее
сложные клавиатуры имеют отдельные датчики дл€ каждой клавиши, посыла€
изменени€ в состо€нии каждого датчика.

ѕоведение синтезатора в ответ на эти сообщени€ стандартом не
определено. ќбычно синтезаторы с поддержкой Aftertouch имеют команды
дл€ прив€зки сообщений к выбранным параметрам синтеза (громкости,
модул€ции, фильтрам, эффектам и т.п.).


        Control Change (cc - номер, vv - значение контроллера)
        ------------------------------------------------------

—ообщает об изменении состо€ни€ органов управлени€ (контроллеров).
MIDI-контроллеры дел€тс€ на непрерывные (continuous) - руко€тки,
движки, имеющие диапазон непрерывного изменени€, и переключатели
(switches) - педали, кнопки, тумблеры, имеющие два дискретных
состо€ни€ (On/Off - включено/выключено). «начени€ 0..63 означают
выключенное состо€ние переключател€, значени€ 64..127 - включенное.

ќсновным стандартом (MIDI level 1) прин€та следующа€ нумераци€
контроллеров:

  0..31  - старшие байты значений непрерывных контроллеров 0..31
 32..63  - младшие байты значений непрерывных контроллеров 0..31
 64..95  - переключатели
 96..121 - резерв
120..127 - специальные канальные сообщени€

Ќа самом деле практически никто не следует предложенной схеме
распределени€, за исключением контроллеров 120..127 (специальные
канальные сообщени€), которые везде имеют одинаковое значение.

—тандартом MIDI рекомендована следующа€ нумераци€ контроллеров:

  0 - Bank Select MSB (выбор банка, старший байт)
  1 - Modulation (глубина частотной модул€ции)
  2 - Breath Control (данные с духового контроллера)
  4 - Foot Pedal (данные с ножной педали)
  5 - Portamento Time (врем€ скольжени€ от ноты к ноте)
  6 - Data Entry MSB (ввод данных, старший байт)
  7 - Main Volume (громкость всех звуков в канале)
  8 - Balance (баланс)
 10 - Pan (панорама - положение инструмента на стерепанораме)
 11 - Expression (экспрессивность, выразительность звука)
 16 - AC1 (Assignable Controller - назначаемый контроллер)
 17 - AC2
 18 - AC3
 19 - AC4
 32 - Bank Select LSB (выбор банка, младший байт)
 38 - Data Entry LSB (ввод данных, младший байт)
 64 - Sustain Pedal, Hold1 (удержание звучани€ всех отпущенных нот)
 65 - Portamento (включение/выключение режима портаменто)
 66 - Sostenuto Pedal (удержание звучани€ отдельных нот (аккорда))
 67 - Soft Pedal (приглушение звука)
 80 - AC5
 81 - AC6
 82 - AC7
 83 - AC8
 91 - External Effects Depth (глубина внешних эффектов)
 92 - Tremelo Depth (глубина тремоло - амплитудного вибрато)
 93 - Chorus Depth (глубина хорового эффекта)
 94 - Detune Depth (глубина расстройки)
 95 - Phaser Depth (глубина эффекта фейзера)
 96 - Data Increment (увеличение значени€)
 97 - Data Decrement (уменьшение значени€)
 98 - NRPN LSB (номер незарегистрированного параметра, младший байт)
 99 - NRPN MSB (номер незарегистрированного параметра, старший байт)
100 - RPN LSB (номер зарегистрированного параметра, младший байт)
101 - RPN MSB (номер зарегистрированного параметра, старший байт)


ѕоддержка устройством конкретных видов контроллеров определ€етс€
спецификацией устройства или стандарта, в рамках которого оно
разработано.

ќбычно, когда непрерывный контроллер используетс€ дл€ плавного
управлени€ каким-либо параметром звука, этот параметр пропорционально
зависит от значени€ контроллера. »спользуютс€ два основных способа
управлени€ параметрами звука: абсолютный и относительный. ѕри
абсолютном способе параметр полностью зависит от установленного
значени€ контроллера; при относительном способе имеетс€ некоторое
стандартное значение параметра, соответствующее "нейтральному"
значению контроллера - 64. »зменение значений контроллера вверх или
вниз пропорционально измен€ет значение выбранного параметра
относительно стандартного значени€, которое, вообще говор€, может быть
различным дл€ разных режимов, тембров и т.п. ƒл€ глобальных
параметров, таких, как громкость или панорама в канале, используетс€
абсолютный способ управлени€; дл€ локальных - глубина реверберации,
частота среза фильтра и т.п. - относительный, хот€ интерпретаци€
различными инструментами может не совпадать.


        —пециальные канальные сообщени€
        -------------------------------

«адаютс€ контроллерами 120..127 и управл€ют обработкой сообщений в
каналах:

120    - All Sounds Off
121    - Reset All Controllers
122 vv - Local Control
123    - All Notes Off
124    - Omni Off
125    - Omni On
126 nn - Mono
127    - Poly

ћногие устройства требуют, чтобы неиспользуемые значени€ контроллеров
были нулевыми.

—ообщение All Notes Off имитирует выключение всех включенных нот и
полностью эквивалентно посылке сообщени€ Note Off дл€ каждой звучащей
ноты; будет ли при этом прекращено звучание ноты - зависит от
состо€ни€ режимов Sustain и Sostenuto. —ообщение All Sounds Off
действует так же, но не зависит от режимов Sustain/Sostenuto; кроме
того, оно немедленно прекращает звучание всех нот, наход€щихс€ в
стадии концевого затухани€ (Release). —осто€ние самих режимов
Sustain/Sostenuto эти сообщени€ не затрагивают.

—ообщение Reset All Controllers устанавливает все контроллеры в
значени€ по умолчанию, и используетс€ дл€ начальной установки
устройства перед проигрыванием партитуры.

—ообщение Local Control служит дл€ запрета/разрешени€ управлени€
устройством с локальной панели. Ќулевое значение параметра запрещает
управление с панели (устройство управл€етс€ только по MIDI), значение
127 разрешает его.

—ообщени€ Omni On/Off служат дл€ включени€/выключени€ режима Omni -
реакции устройства на канальные сообщени€. ѕри включенном режиме Omni
устройство обрабатывает сообщени€ дл€ всех каналов, при отключенном -
только сообщени€ дл€ выбранного канала (Basic Channel). Ёто позвол€ет
разделить устройства между каналами.  анал назначаетс€ устройству либо
с его панели управлени€, либо при помощи сообщений SysEx. –ежим Omni
имеет смысл в основном дл€ старых инструментов, имеющих один
MIDI-канал и не поддерживающих разделение тембров.

—ообщени€ Mono/Poly служат дл€ переключени€ одноголосного и
многоголосного (полифонического) режимов. ¬ одноголосном режиме в
каждый момент времени может звучать только одна нота; включение новой
ноты приводит к принудительному отключению предыдущей. ¬
полифоническом режиме включение каждой новой ноты запускает очередной
свободный генератор, а при исчерпании генераторов новые ноты либо
игнорируютс€, либо привод€т к принудительному выключению наиболее
"старых" нот.

«начение nn в сообщении Mono воспринимаетс€ некоторыми устройствами,
как количество MIDI-каналов, по которым, начина€ с Basic Channel,
распредел€ютс€ ноты в одноголосном режиме при выключенном режиме Omni.
—мысл этой группы каналов различен дл€ передающих и принимающих
устройств. ѕередающее устройство направл€ет первую ноту в Basic
Channel, следующую за ней - в Basic Channel + 1, и так далее, затем
очередна€ нота снова направл€етс€ в Basic Channel, и цикл повтор€етс€.
ѕриемное устройство воспринимает канальные сообщени€ только внутри
заданной группы каналов, каждый из которых работает в одноголосном
режиме. “акой прием позвол€ет реализовать многоголосное исполнение на
синтезаторах, имеющих жесткую прив€зку голосов (генераторов) к
MIDI-каналам.

 онтроллеры Omni, Mono и Poly вызывают также отработку контроллера All
Sounds Off.

ќт различных сочетаний режимов Omni, Poly и Mono происход€т четыре
основных режиме работы (mode) MIDI-устройств:

1 - Omni On, Poly
2 - Omni On, Mono
3 - Omni Off, Poly
4 - Omni Off, Mono

Ѕольшинство современных устройств работает в mode 3 - полифонический
режим с независимой работой каналов.


        Program Change (pp - номер тембра)
        --------------------------------------------------

—лужит дл€ смены программы синтеза (чаще называемой тембром или
инструментом) в канале. ѕараметр задает номер тембра (0..127) в
текущем выбранном банке. ѕоследующие ноты будут исполн€тьс€ выбранным
тембром, тембр уже звучащих в канале нот не измен€етс€.


        Pitch Bend Change (ll - младший, mm - старший байт значени€)
        ------------------------------------------------------------

«адает смещение высоты тона дл€ всех нот в канале - как звучащих, так
и последующих. «начение, образованное двум€ 7-разр€дными величинами,
измен€етс€ в диапазоне 0..16383; среднее значение - 8192 - принимаетс€
за относительный нуль, что дает условный диапазон изменени€
-8192..8191. „увствительность Pitch Bend может измен€тьс€ при помощи
RPN 0; по умолчанию принимаетс€ предельное смещение на два полутона в
любую сторону.


        —истемные сообщени€
        ===================


        System Exclusive (SysEx)
        ------------------------

—лужат дл€ передачи специальной информации определенным устройствам. ¬
сообщении SysEx может передаватьс€ любое количество байтов. ѕризнаком
конца сообщени€ служит байт F7. ѕервые три байта SysEx обычно содержат
идентификатор производител€ устройства (присваиваетс€ јссоциацией
ѕроизводителей MIDI-устройств - MMA), номер устройства в сети
(задаетс€ с пульта) и код модели устройства (присваиваетс€
производителем). ¬ остальном формат сообщений определ€етс€
производителем - это могут быть команды, параметры, оцифрованные
инструменты, партитуры и т.п.

Ўестнадцатеричные идентификаторы наиболее известных производителей:

Sequential Circuits   01
Big Briar             02
Octave / Plateau      03
Moog                  04
Passport Designs      05
Lexicon               06
PAIA                  11
Simmons               12
Gentle Electric       13
Fairlight             14
Bon Tempi             20
S.I.E.L.              21
SyntheAxe             23
Kawai                 40
Roland                41
Korg                  42
Yamaha                43


—пециальные идентификаторы сообщений, помещаемые в первый байт SysEx:

7F - универсальное сообщение реального времени;
7E - универсальное сообщение дл€ настройки.


        Tune Request
        ------------

ѕредписывает выполнить автоматическую подстройку устройствам,
нуждающимс€ в ней. ќбычно это относитс€ к аналоговым синтезаторам,
строй которых может смещатьс€ из-за нестабильности управл€ющих
элементов.


        Song Position Pointer (ll - младший, mm - старший байт)
        -------------------------------------------------------

—лужит дл€ установки позиции в партитуре дл€ устройств, имеющих
встроенный секвенсор, автоаккомпанемент или ритм-блок. «адаетс€
номером MIDI-такта (один такт равен 6 событи€м Timing Clock), или
шестнадцатой (sixteenth) доли с начала партитуры.


        Song Select (ss - условный номер партитуры)
        -------------------------------------------

ќпредел€ет, кака€ из существующих партитур будет проигрыватьс€ при
получении сообщени€ Start.


        Start
        -----

«апускает прогрывание или запись выбранной партитуры с начала.


        Stop
        ----

ќстанавливает проигрывание или запись партитуры.


        Continue
        --------

«апускает проигрывание или запись партитуры с прерванного места, либо
с позиции, установленной с помощью Song Position Pointer.


        Timing Clock
        ------------

—лужит дл€ синхронизации устройств и передаетс€ с частотой 24
сообщени€ на четвертную долю. √енераци€ этого сообщени€ не €вл€етс€
об€зательной дл€ передающего устройства, однако каждое устройство
имеет внутренний тактовый генератор, вырабатывающий эти опорные
сигналы.


        Active Sensing
        --------------

»спользуетс€ дл€ проверки наличи€ св€зи внутри MIDI-сети. √енераци€
сообщени€ не €вл€етс€ об€зательной дл€ передающих устройств. ¬ случае
получени€ этого сообщени€ каждое приемное устройство переходит в режим
слежени€ за MIDI-потоком, и в случае отсутстви€ любых сообщений в
течение 300 мс автоматически отрабатывает контроллеры All Notes Off,
All Sounds Off и Reset All Controllers. Ёто позвол€ет прекратить
работу в случае нарушени€ св€зи в сети. ќднако до первого прохождени€
этого сообщени€ по сети устройства не след€т за длительностью пауз
между сообщени€ми.


        ќписание работы контроллеров
        ----------------------------


         онтроллеры Bank Select

ћногие устройства могут работать с большим количеством встроенных и
дополнительных тембров (инструментов) и звуковых эффектов, которые дл€
удобства объединены в банки. ¬ каждый момент времени в одном канале
может использоватьс€ только один банк; дл€ переключени€ банков служат
контроллеры:

 0 - Bank Select MSB (выбор банка, старший байт)
32 - Bank Select LSB (выбор банка, младший байт)

ќдни устройства требуют дл€ переключени€ банков только один из этих
контроллеров, другие требуют оба. ѕоведение некоторых устройств в этом
отношении может измен€тьс€ в различных режимах работы.

ѕо умолчанию устанавливаетс€ нулевой банк (в устройствах, совместимых
с General MIDI, он содержит мелодические тембры GM). ѕосле смены банка
об€зательна посылка сообщени€ Program Change дл€ выбора тембра
(инструмента).

ќбработка устройством команды смены банка и инструмента может зан€ть
значительное врем€ (дес€тки миллисекунд и более). Ќекоторые устройства
при получении команд смены банков и инструментов гас€т звучащие ноты в
канале.


         онтроллер Modulation

«адает глубину частотной модул€ции в канале. ”правление абсолютное.
«начение 0 отключает модул€цию, значение 127 устанавливает
максимальную глубину. —тандартное значение - 0. ƒействует на
последующие и уже звучащие ноты.


         онтроллер Breath Control

ѕередает воздействи€ на духовой контроллер, обычно выполн€емый в виде
мундштука - значение отражает силу воздушного потока, вдуваемого в
мундштук. ƒуховой контроллер может быть как автономным, так и
совмещенным с другим MIDI-устройством (MIDI-саксофон, MIDI-флейта).


         онтроллер Foot Pedal

ѕередает воздействи€ на ножную педаль - значение пропорционально силе
давлени€ на педаль или глубине ее погружени€.


         онтроллер Portamento Time

«адает врем€ плавного скольжени€ от частоты предыдущей ноты до частоты
очередной ноты. ”правление абсолютное. «начение 0 соответствует
минимальному времени, 127 - максимальному. —тандартное значение не
определено.


         онтроллер Main Volume

«адает громкость звучани€ внутри канала. ”правление абсолютное.
—тандартное значение - обычно 100. ƒействует на последующие и уже
звучащие ноты.


         онтроллер Pan

«адает соотношение уровн€ стереоканалов (точку стереопанорамы) дл€
канала. ”правление абсолютное. «начение 0 - крайн€€ лева€ позици€, 64
- средн€€, 127 - крайн€€ права€. —тандартное значение - 64. ƒействует
на последующие и уже звучащие ноты.


         онтроллер Expression

«адает степень выразительности звука. ”правление абсолютное. Ќа
простых инструментах дублирует контроллер Main Volume и действует и на
последующие, и на уже звучащие ноты. Ќа инструментах с развитым
синтезом управл€ет более тонкими параметрами выразительности, и
действует только на последующие ноты. —тандартное значение - обычно
127.


         онтроллер Harmonic Content

«адает добротность (глубину резонанса) фильтра канала, позвол€ющего
подчеркнуть высокочастотные гармоники тембра. ”величение добротности
увеличивает крутизну характеристики фильтра в области среза, усилива€
частоты, лежащие непосредственно ниже частоты среза. ”правление
относительное (0..64..127). —тандартное значение - 64.


         онтроллер Release Time

«адает врем€ концевого затухани€ звучани€ нот с момента отработки Note
Off (€вного или автоматического) до полного исчезновени€ звука.
”правление относительное (0..64..127). —тандартное значение - 64.


         онтроллер Attack Time

«адает врем€ начальной атаки - нарастани€ громкости звучани€ нот с
момента отработки Note On до максимального значени€ громкости.
”правление относительное (0..64..127). —тандартное значение - 64.


         онтроллер Brightness

«адает частоту среза фильтра канала, управл€ющую ослаблением высоких
частот звука. ”правление относительное (0..64..127). —тандартное
значение - 64.


         онтроллер Portamento Control

«адает номер ноты, от которой выполн€етс€ плавна€ перестройка частоты
в режиме Portamento, и позвол€ет установить исходную высоту, отличную
от определ€емой последним сообщением Note On.


         онтроллер Reverb Level

«адает глубину выбранного эффекта типа реверберации (основанного на
посто€нной задержке сигнала) - Room, Hall, Delay, Echo и т.п.
”правление - абсолютное или относительное в зависимости от
инструмента.


         онтроллер Chorus Level

«адает глубину эффекта типа хорового (основанного на переменной
задержке сигнала) - Chorus, Flanger, Phaser и т.п. ”правление -
абсолютное или относительное в зависимости от инструмента.


         онтроллер Variation Level

«адает глубину эффекта, выбранного в качестве Variation. ”правление -
абсолютное или относительное в зависимости от инструмента.


         онтроллер-переключатель Sustain

¬о включенном состо€нии вызывает удержание звучани€ дл€ всех клавиш,
отпущенных во врем€ действи€ контроллера - по аналогии с правой
педалью фортепиано. »ными словами, в режиме Sustain канал задерживает
отработку последнего поступившего дл€ каждой ноты сообщени€ Note Off.
¬ момент отключени€ одновременно отрабатываютс€ все задержанные таким
образом Note Off; на €вно удерживаемые в этот момент клавиши (дл€
которых последним поступившим сообщением €вл€етс€ Note On) отключение
режима не вли€ет.


         онтроллер-переключатель Sostenuto

ƒействует подобно Sustain, но удерживает звучание только тех нот,
которые были нажаты на момент включени€ контроллера. ѕоследующие
нажати€ и отпускани€ отрабатываютс€ в обычном пор€дке. »наче говор€,
откладываетс€ отработка Note Off только дл€ тех нот, Note On дл€
которых поступили до включени€ режима.


         онтроллер-переключатель Soft

ѕо аналогии с левой педалью фортепиано, вызывает см€гчение звучани€
дл€ нот, нажатых во врем€ действи€ режима. —пособ реализации - простое
уменьшение громкости или более тонкое управление - определ€етс€
инструментом.


         онтроллер-переключатель Portamento

ѕри выключенном режиме кажда€ нажата€ нота начинает звучать на
частоте, определ€емой высотой ноты и установленными на данный момент
значени€ми контроллеров управлени€ высотой (Pitch Bend Change и
Coarse/Fine Tune и т.п.). ѕри включенном режиме очередна€ нота
начинает звучать на частоте, определ€емой последним сообщением Note On
или контроллером Portamento Control, затем ее высота плавно измен€етс€
до нужной со скоростью, определ€емой контроллером Portamento Time. ¬не
зависимости от того, было ли скольжение выполнено до конца или
прервано по отпусканию ноты, последнее сообщение Note On всегда
фиксируетс€ в качестве исходной высоты дл€ последующих нот. Ёто
означает, что если, например, после ноты C2 была нажата нота C7, а
затем - нота C4, то высота второй ноты будет плавно повышатьс€ от C2
до C7, а высота третьей в то же врем€ - понижатьс€ от C7 до 50, и в
качестве исходной дл€ последующих нот будет прин€та нота 50. ¬ момент
нажати€ C7 эта нота зазвучит в унисон с C2 и начнет скользить в
сторону C7, а в момент нажати€ ноты C4 та зазвучит с высотой C7 и
начнет скользить к C4. ¬се скольжени€ выполн€ютс€ независимо.


         онтроллеры RPN, NRPN и Data Entry

ƒополнительно дл€ расширенного управлени€ синтезом введены
зарегистрированные (Registered Parameter Number - RPN) и
незарегистрированные (Non-Registered Parameter Number - NRPN) номера
параметров, передаваемые при помощи контроллеров:

 98 - NRPN LSB (младший байт NRPN)
 99 - NRPN MSB (старший байт NRPN)
100 - RPN LSB (младший байт RPN)
101 - RPN MSB (старший байт RPN)

”стройство запоминает однажды переданные ему RPN или NRPN, после
которых могут передаватьс€ значени€ выбранного параметра при помощи
контроллеров:

 6 - Data Entry MSB (ввод данных, старший байт)
38 - Data Entry LSB (ввод данных, младший байт)

Ќа сообщени€, передающие значение старшего или младшего байта
параметра, устройства реагируют немедленно, использу€ в качестве
недостающего байта либо ранее переданное, либо установленное по
умолчанию значение. Ёто можно использовать дл€ передачи значений,
отличающихс€ только одним байтом, передава€ только изменившийс€ байт.

ƒл€ отмены ранее зафиксированных номеров RPN и NRPN служит резервный
номер RPN 16383 - после посылки контроллеров 100 и 101 со значени€ми
127 контроллеры Data Entry отключаютс€ от ранее назначенных RPN и
NRPN.

“аким образом, механизм представл€ет собой "контроллер в контроллере".
—тандартом General MIDI определена интерпретаци€ только трех RPN,
значени€ которых задаютс€ старшими байтами параметров Data Entry:

RPN 0 - Pitch Bend Sensitivity (чувствительность Pitch Bend)
RPN 1 - Fine Tuning (точна€ подстройка)
RPN 2 - Coarse Tuning (груба€ подстройка)

„увствительность Pitch Bend определ€ет количество полутонов, на
которое смещаетс€ высота тона при получении сообщени€ Pitch Bend
Change с предельным верхним или нижним значением параметра. ѕо
умолчанию принимаетс€ диапазон в два полутона в любую сторону.

RPN подстройки позвол€ют сместить строй инструмента в канале на
заданное количество полутонов при грубой, или центов (сотых долей
полутона) - при точной подстройке. «а относительный нуль принимаетс€
значение 64.

»нтерпретаци€ остальных параметров стандартом GM не определена. ¬ р€де
инструментов дл€ раздельной подстройки отдельных инструментов в
различных банках используютс€ также два дополнительных RPN:

RPN 3 - Tuning Program Select
RPN 4 - Tuning Bank Select


                        —тандарты MIDI-систем
**********************************************************************


        —тандарт General MIDI (MMA)
        ===========================

—тандарт General MIDI (единый MIDI, GM) разработан ассоциацией
MIDI-производителей (MMA) в 1991 году в цел€х обеспечени€ частичной
совместимости выпускаемых MIDI-устройств и облегчени€ переноса
партитур между устройствами различных производителей. ”стройство,
совместимое с GM Level 1, должно удовлетвор€ть следующим требовани€м:

- полифони€ не менее 24 голосов;
- наличие 128 мелодических и 47 ударных тембров;
- раздельный выбор тембров по всем 16 MIDI-каналам;
- поддержка специальных канальных контроллеров 121 и 123;
- выделение канала 10  дл€  ударных тембров, остальных каналов -
  дл€ мелодических тембров.

ћелодическим и ударным тембрам присвоены посто€нные номера.
ћелодические тембры распределены по 16 группам с 8 тембрами в каждой и
выбираютс€ сообщением Program Change в каналах 1-9 и 11-16:


    Piano                           Chrom Percussion

  0 Acoustic Grand Piano          8 Celesta
  1 Bright Acoustic Piano         9 Glockenspiel
  2 Electric Grand Piano         10 Music Box
  3 Honky-tonk Piano             11 Vibraphone
  4 Electric Piano 1             12 Marimba
  5 Electric Piano 2             13 Xylophone
  6 Harpsichord                  14 Tubular Bells
  7 Clavinet                     15 Dulcimer

    Organ                           Guitar

 16 Drawbar Organ                24 Acoustic Guitar (nylon)
 17 Percussive Organ             25 Acoustic Guitar (steel)
 18 Rock Organ                   26 Electric Guitar (jazz)
 19 Church Organ                 27 Electric Guitar (clean)
 20 Reed Organ                   28 Electric Guitar (muted)
 21 Accordion                    29 Overdriven Guitar
 22 Harmonica                    30 Distortion Guitar
 23 Tango Accordion              31 Guitar Harmonics

    Bass                            Strings

 32 Acoustic Bass                40 Violin
 33 Electric Bass (finger)       41 Viola
 34 Electric Bass (pick)         42 Cello
 35 Fretless Bass                43 Contrabass
 36 Slap Bass 1                  44 Tremolo Strings
 37 Slap Bass 2                  45 Pizzicato Strings
 38 Synth Bass 1                 46 Orchestral Harp
 39 Synth Bass 2                 47 Timpani

   Ensemble                         Brass

 48 String Ensemble 1            56 Trumpet
 49 String Ensemble 2            57 Trombone
 50 Synth Strings 1              58 Tuba
 51 Synth Strings 2              59 Muted Trumpet
 52 Choir Aahs                   60 French Horn
 53 Voice Oohs                   61 Brass Section
 54 Synth Voice                  62 Synth Brass 1
 55 Orchestra Hit                63 Synth Brass 2

    Reed                            Pipe

 64 Soprano Sax                  72 Piccolo
 65 Alto Sax                     73 Flute
 66 Tenor Sax                    74 Recorder
 67 Baritone Sax                 75 Pan Flute
 68 Oboe                         76 Bottle Blow
 69 English Horn                 77 Shakuhachi
 70 Bassoon                      78 Whistle
 71 Clarinet                     79 Ocarina

    Synth Lead                      Synth Pad

 80 Lead 1 (square)              88 Pad 1 (new age)
 81 Lead 2 (sawtooth)            89 Pad 2 (warm)
 82 Lead 3 (calliope)            90 Pad 3 (polysynth)
 83 Lead 4 (chiff)               91 Pad 4 (choir)
 84 Lead 5 (charang)             92 Pad 5 (bowed)
 85 Lead 6 (voice)               93 Pad 6 (metallic)
 86 Lead 7 (fifths)              94 Pad 7 (halo)
 87 Lead 8 (bass + lead)         95 Pad 8 (sweep)

    Synth Effects                   Ethnic

 96 FX 1 (rain)                 104 Sitar
 97 FX 2 (soundtrack)           105 Banjo
 98 FX 3 (crystal)              106 Shamisen
 99 FX 4 (atmosphere)           107 Koto
100 FX 5 (brightness)           108 Kalimba
101 FX 6 (goblins)              109 Bagpipe
102 FX 7 (echoes)               110 Fiddle
103 FX 8 (sci-fi)               111 Shanai

    Percussive                      Sound Effects

112 Tinkle Bell                 120 Guitar Fret Noise
113 Agogo                       121 Breath Noise
114 Steel Drums                 122 Seashore
115 Woodblock                   123 Bird Tweet
116 Taiko Drum                  124 Telephone Ring
117 Melodic Tom                 125 Helicopter
118 Synth Drum                  126 Applause
119 Reverse Cymbal              127 Gunshot


”дарные тембры выбираютс€ номером ноты в канале 10:


35 Acoustic Bass Drum            59 Ride Cymbal 2
36 Bass Drum 1                   60 High Bongo
37 Side Kick                     61 Low Bongo
38 Acoustic Snare                62 Mute High Conga
39 Hand Clap                     63 Open High Conga
40 Electric Snare                64 Low Conga
41 Low Floor Tom                 65 High Timbale
42 Closed High-Hat               66 Low Timbale
43 High Floor Tom                67 High Agogo
44 Pedal High Hat                68 Low Agogo
45 Low Tom                       69 Cabasa
46 Open High Hat                 70 Maracas
47 Low-Mid Tom                   71 Short Whistle
48 High-Mid Tom                  72 Long Whistle
49 Crash Cymbal 1                73 Short Guiro
50 High Tom                      74 Long Guiro
51 Ride Cymbal 1                 75 Claves
52 Chinese Cymbal                76 High Wood Block
53 Ride Bell                     77 Low Wood Block
54 Tambourine                    78 Mute Cuica
55 Splash Cymbal                 79 Open Cuica
56 Cowbell                       80 Mute Triangle
57 Crash Cymbal 2                81 Open Triangle
58 Vibraslap


ѕолифони€ в 24 голоса устанавливаетс€ либо общей дл€ всех каналов,
либо с разделением на 16 голосов дл€ мелодических каналов и 8 - дл€
ударных. ѕоведение системы при исчерпании свободных голосов стандартом
не определено.

¬ GM об€зательна поддержка следующих контроллеров:

 1 - Modulation (глубина частотной модул€ции)
 7 - Main Volume (громкость всех звуков в канале)
10 - Pan (панорама - положение инструмента на стерепанораме)
11 - Expression (экспрессивность, выразительность звука)
64 - Sustain Pedal (удержание звучани€ всех отпущенных нот)

 онтроллер Main Volume служит дл€ долговременной установки громкости в
канале, а Expression - дл€ управлени€ громкостью звучани€ отдельных
нот или партий.

ƒл€ устройств, поддерживающих, кроме GM, другие стандарты синтеза,
введен SysEx "General MIDI On" дл€ переключени€ в режим GM: F0 7E 7F
09 01 F7.

»нформаци€ по GM выпускаетс€ MMA в печатном виде, краткие справки
можно найти на www.mma.com и www.midi.com.


        —тандарт General Synthesis (Roland)
        ===================================

—тандарт General Synthesis (единый синтез, GS) разработан фирмой
Roland в 1991 году, практически одновременно с GM. ÷елью создани€
стандарта было обеспечение совместимости не только базового набора
тембров и способов управлени€, но и более тонких методов воздействи€
на звук. “ребовани€ к устройству, поддерживающему GS:

- поддержка стандарта GM Level 1;
- поддержка 98 дополнительных тембров и 8 наборов ударных;
- приоритетное назначение голосов каналам - вначале 10, далее с 1;
- назначение дополнительных ударных каналов через SysEx;
- резервирование голосов в канале через SysEx;
- наличие управл€емого резонансного фильтра в каждом канале;
- поддержка эффектов Reverb, Chorus и Delay.

¬ыбор банков осуществл€етс€ передачей старшего байта номера
(контроллер 0). ћладший байт (контроллер 32) при этом либо не
используетс€, либо переключает режимы совместимости (например,
SC55/SC88). ќсновной набор тембров (General MIDI) выбираетс€ банком 0.
ƒополнительны мелодические тембры и звуковые эффекты распределены по
12 банкам, именуемым Variation Tones: 1..9, 16, 24 и 32.
ƒополнительные наборы ударных и набор звуковых эффектов имеют
нумерацию (начина€ с нул€):

 8  Room Kit
16  Power Kit
24  Electronic Kit
25  TR-808 Kit
32  Jazz Kit
40  Brush Kit
48  Orchestra Kit
56  SFX Kit


—тандартом введены дополнительные контроллеры:

 5 - Portamento Time (врем€ скольжени€ от ноты к ноте)
 6 - Data Entry MSB (ввод данных, старший байт)
65 - Portamento (включение/выключение режима портаменто)
66 - Sostenuto Pedal (удержание звучани€ отдельных нот (аккорда))
67 - Soft Pedal (приглушение звука)
84 - Portamento Control (номер ноты начала скольжени€)
91 - Reverb Level (глубина реверберации)
93 - Chorus Level (глубина хорового эффекта)
98 - NRPN LSB (номер незарегистрированного параметра, младший байт)
99 - NRPN MSB (номер незарегистрированного параметра, старший байт)

а также - набор NRPN дл€ управлени€ генераторами огибающих и
резонансными фильтрами (номера NRPN даны в виде значений старшего и
младшего байтов):

NRPN 1/8   - Vibrato Rate (частота вибрато)
NRPN 1/9   - Vibrato Depth (глубина вибрато)
NRPN 1/10  - Vibrato Delay (задержка до включени€ вибрато)
NRPN 1/32  - Filter Cutoff Frequency (частота среза фильтра)
NRPN 1/33  - Filter Resonance (глубина резонанса фильтра)
NRPN 1/99  - Attack Time (длительность атаки)
NRPN 1/100 - Decay Time (длительность первичного спада)
NRPN 1/102 - Release Time (длительность концевого затухани€)

и дл€ раздельной настройки параметров ударных инструментов (nn - номер
ноты инструмента):

NRPN 24/nn - Drum Pitch Coarse Tune (груба€ подстройка высоты)
NRPN 26/nn - Drum TVA Level (уровень громкости)
NRPN 28/nn - Drum Pan (панорамна€ позици€)
NRPN 29/nn - Drum Reverb Send Level (глубина эффекта reverb)
NRPN 30/nn - Drum Chorus Send Level (глубина эффекта chorus)
NRPN 31/nn - Drum Delay Send Level (глубина эффекта delay)

«начени€ параметров задаютс€ старшими байтами Data Entry (контроллер
6).

»нструменты, поддерживающие стандарты GM и GS, почти всегда имеют
дополнительные средства управлени€ синтезом и обработкой звука,
расшир€ющие рамки стандарта. ѕри этом используемые способы управлени€,
как правило, сохран€ютс€ внутри одной линии инструментов и внутри
инструментов одного производител€.


”стройства, совместимые с GS, должны поддерживать SysEx "General Synth
On" (переключение в режим Roland GS): F0 41 10 42 12 40 00 7F 00 41
F7.


        —тандарт Extended General (Yamaha)
        ==================================

—тандарт Extended General (расширенный единый, XG) разработан фирмой
Yamaha в 1994 году в виде расширени€ стандарта GS. ÷елью расширени€
стандарта было в первую очередь внесение развитого управлени€
эффект-процессором и значительное увеличение количества тембров.
”стройства, удовлетвор€ющие XG, способны самосто€тельно создавать
достаточно современное звучание без применени€ дополнительных
тонгенераторов и модулей обработки, и к тому же гарантируют
переносимость партитур с младших моделей на старшие практически без
доработки. “ребовани€ к устройству, поддерживающему базовый уровень XG
(Level 1):

- 32-голосна€ полифони€;
- поддержка стандартов GM и GS;
- наличие 676 мелодических тембров и 21 набора ударных/эффектов;
- независима€ подстройка высоты каждой ступени звукор€да;
- поддержка плавного скольжени€ высоты тона (портаменто);
- управление чувствительностью тембра к силе удара (Velocity);
- синхронное и независимое управление высотой и амплитудой звука,
  частотой среза фильтра от нескольких MIDI-контроллеров;
- наличие трех эффект-процессоров - Reverb, Chorus и Variation.

¬озможные расширени€ XG:

- до 64 MIDI-каналов (до четырех раздельных MIDI-портов с возможностью
  управлени€ всем устройством по любому из них);
- до 64 AD-каналов - аналоговых каналов с ј÷ѕ на входе, сигналы с
  которых поступают на обработку эффект-процессорами;
- дополнительный  трехполосный   эквалайзер;
- дополнительные эффект-процессоры - Distortion, Harmonizer и т.п.

Ќабор тембров состоит из двух перекрывающихс€ наборов: 480/10 в режиме
XG и 579/11 в режиме TG300B (GS).

¬ режиме GM доступны 128 стандартных мелодических тембров, стандартный
набор ударных и стандартные контроллеры/RPN. ¬ режиме XG доступны
дополнительные банки, контроллеры, NRPN и SysEx.

¬ыбор банков осуществл€етс€ передачей обоих байтов номера; при этом
старший байт (контроллер 0) задает тип банка, а младший байт
(контроллер 32) - номер банка указанного типа. ¬ XG определено четыре
типа банков:

  0  Normal (мелодические)
 64  SFX (звуковые эффекты с переменной высотой)
126  SFX (звуковые эффекты с фиксированной высотой)
127  Drums (ударные)

Ћюбой MIDI-канал путем выбора банка может быть установлен в
мелодический или ударный режим.

¬ режиме XG доступны 44 банка мелодических тембров:

     0  Standard (General MIDI)
     1  KSP (Key Scale Panning - панорамирование по клавиатуре)
     3  Stereo (стереофонические)
     6  Single
     8  Slow (имитаци€ медленного звукоизвлечени€)
    12  Fast Decay (с быстрым затуханием)
    14  Double Attack (сдвоенные)
 16-17  Bright (€ркие)
 18-19  Dark (тусклые)
    20  Resonant (с резонансом)
    24  Attack (с м€гкой атакой)
    25  Release (с послезвучием при отпускании клавиши)
    27  Rezo Sweep (со скольз€щим резонансом)
    28  Muted (приглушенные)
    32  Detune 1 (с расстройкой слоев)
    33  Detune 2
    34  Detune 3
    35  Octave 1 (слои настроены в октаву)
    36  Octave 2
    37  5th 1 (слои настроены в квинту)
    38  5th 2
    39  Bend
 40-42  Tutti (слои из разных звуков)
    43  Velo-Switch (с переключением по силе удара)
    45  Velo-Xfade (с плавным переходом по силе удара)
 64-72,
96-101  Other wave (прочие тембры)

9 банков ударных тембров:

 0  Standard Kit 1
 1  Standard Kit 2
 8  Room Kit
16  Rock Kit
24  Electro Kit
25  Analog Kit
32  Jazz Kit
40  Brush Kit
48  Classic Kit

и 2 банка звуковых эффектов:

0  SFX 1
1  SFX 2

¬ режиме TG300B/GS раскладка банков и инструментов совпадает с GS.


—тандартом XG введены контроллеры, дополнительные к GS:

38 - Data Entry LSB (ввод данных, младший байт)
71 - Harmonic Content (содержание гармоник, добротность фильра)
72 - Release Time (врем€ затухани€ звука после выключени€ ноты)
73 - Attack Time (врем€ нарастани€ звука после включени€ ноты)
74 - Brightness (€ркость, частота среза фильтра)
94 - Variation Level (глубина эффекта Variation)
96 - Data Increment (увеличение xRPN на 1, значение игнорируетс€)
97 - Data Decrement (уменьшение xRPN на 1, значение игнорируетс€)

ѕочти все контроллеры, стандартизированные в XG, до этого успели стать
стандартом де-факто во многих инструментах.

—тандартом также введены дополнительные к GS NRPN дл€ ударных:

NRPN 20/nn - Drum Filter Cutoff (частота среза фильтра)
NRPN 21/nn - Drum Filter Resonance (глубина резонанса фильтра)
NRPN 22/nn - Drum Attack Time (длительность атаки)
NRPN 23/nn - Drum Decay Time (длительность первичного спада)
NRPN 25/nn - Drum Pitch Fine Tune (точна€ подстройка высоты)


“ри эффект-процессора €вл€ютс€ полностью независимыми, каждый из них
может обрабатывать сигнал от произвольного количества каналов. Reverb
и Chorus €вл€ютс€ системными (System) эффектами - через них проходит
сигнал от каждого канала с возможностью независимой регулировки
глубины эффекта. Variation может работать в режиме как системного, так
и выделенного (Insertion) эффекта, когда процессор обрабатывает сигнал
только одного канала.

XG Level 1 определ€ет по 8 эффектов типа Reverb и Chorus и 36 эффектов
типа Variation, в число которых также входит по 8 таких же типов
Reverb и Chorus. ѕараметры каждого из трех выбранных эффектов
управл€ютс€ посредством набора SysEx.

”стройства, совместимые с XG, должны поддерживать SysEx "XG System On"
(переключение в режим Yamaha XG): F0 43 1n 4C 00 00 7E 00 F7, где n -
номер устройства в сети (устанавливаетс€ по-разному дл€ разных
устройств, по умолчанию 0). ƒл€ полной инициализации MIDI-системы
необходима подача этого сообщени€ из режима GM.


        —овместмость стандартов по звучанию
        ===================================

ќбщность инструментов внутри стандарта и между ними чаще всего
подразумевает только совпадение номеров и основных звуковых
характеристик. "ќдинаковые" тембры на различных инструментах почти
всегда имеют различную окраску, динамику, €ркость, громкость по
умолчанию и другие особенности, а "синтетические" тембры могут
совершенно отличатьс€ друг от друга.  роме этого, у разных
инструментов различаетс€ зависимость характера звука от силы удара по
клавише, динамика работы MIDI-контроллеров, положени€ контроллеров по
умолчанию и прочие "тонкие" параметры. ѕоэтому MIDI-партитура,
подготовленна€ дл€ конкретного инструмента, на других инструментах
(даже внутри стандарта) часто звучит совершенно по-другому, и это
необходимо учитывать при переносе партитур с между инструментами
различных моделей. ≈динственным исключением из этого €вл€етс€ стандарт
XG, специально ориентированный на повторение особенностей звучани€
тембров во всех модел€х устройств.


                           ѕрименени€ MIDI
**********************************************************************


ќсновное применение MIDI - хранение и передача музыкальной информации.
Ёто может быть управление электронными музыкальными инструментами в
реальном времени, запись MIDI-потока, формируемого при игре
исполнител€, на носитель данных с последующим редактированием и
воспроизведением (так называемый MIDI-секвенсор), синхронизаци€
различной аппаратуры (синтезаторы, ритм-машины, магнитофоны, блоки
обработки звука, светова€ аппаратура, дымогенераторы и т.п.).

”стройства, предназначенные только дл€ создани€ звука по
MIDI-командам, не имеющие собственных исполнительских органов,
называютс€ тон-генераторами. ћногие тон-генераторы имеют панель
управлени€ и индикации дл€ установки основных режимов работы и
наблюдени€ за ними, однако создание звука идет под управлением
поступающих MIDI-команд.

”стройства, предназначенные только дл€ формировани€ MIDI-сообщений, не
содержащие средств синтеза звука, называютс€ MIDI-контроллерами. Ёто
может быть клавиатура, педаль, руко€тка с несколькими степен€ми
свободы, ударна€ установка с датчиками способа и силы удара, а также -
струнный или духовой инструмент с датчиками и анализаторами способов
воздействи€ и приемов игры. “он-генератор с достаточными возможност€ми
по управлению может весьма точно воспроизвести оттенки звучани€
инструмента по сформированному контроллером MIDI-потоку.

ƒл€ хранени€ MIDI-партитур на носител€х данных разработаны форматы SMF
(Standard MIDI File - стандартный MIDI-файл) трех типов:

0 - непосредственно MIDI-поток в том виде, в каком он передаетс€ по
интерфейсу.

1 - совокупность параллельных "дорожек", кажда€ из которых обычно
представл€ет собой отдельную партию произведени€, исполн€емую на одном
MIDI-канале.

2 - совокупность нескольких произведений, каждое из которых состоит из
нескольких дорожек.

¬ основном примен€етс€ формат 1, позвол€ющий хранить одно произведение
в файле.

 роме MIDI-событий, файл содержит также "фиктивные событи€" (Meta
Events), используемые только дл€ оформлени€ файла и не передаваемые по
интерфейсу - информаци€ о метрике и темпе, описание произведени€,
названи€ партий, слова песни и т.п.

======================================================================

ѕолезные ссылки:

www.synthzone.com - обширный сайт по синтезаторам
www.yamaha.co.uk/xg/index.htm - область XG на сервере Yamaha
otto.cmr.fsu.edu/~kings/mid/midi.shtml - коллекци€ MIDI-файлов
www.usd.edu/~tgannon/midinfo.html - информаци€ о MIDI

ftp://spider.nrcde.ru/pub/sound/docs - подборка разной документации

======================================================================

Ѕольшое спасибо всем приславшим ответы, рекомендации, замечани€ и
советы дл€ этого описани€.

“екст описани€ в альтернативной кодировке доступен дл€ FReq на
2:5000/14@FidoNet по имени MIDIDESC. ѕолный пакет FAQ и описаний
доступен на ftp://spider.nrcde.ru/pub/text/tech/emtcfaqs.zip и через
страницу FAQ на http://spider.nrcde.ru. ѕакет распростран€етс€ также
по FIDO fileecho XHRDDOCS.

======================================================================
 ќписание интерфейса MIDI.
Ћента новостей


2006 (c) Copyright Hardline.ru