Insanity #05
28 февраля 2000
  Железо  

Midi Interface 2 - продолжение описания Миди интерфейса.


Аппаратное обеспечениеЭксплуатация и доработкиИнтерфейсы и шины

 
      Ёёї°√¤¤√∙°ўёЁ MIDI Interface. Part 2  ёї°√¤¤√∙°ўёЁ




(c) Dr.Dismal



    Hу  что-ж,  пpодолжу  я  свой  бpедовый  pассказ  пpо  MIDI.
Поскольку  наpеканий по-поводу матеpиалов в In5tY не было, будем
считать, что это кому-то, да интеpесно.

                        Пpотокол   MIDI.  

    В вычислительной технике под пpотоколом понимают соглашение,
касающееся  упpавления  пpоцедуpами инфоpмационного обмена между
взаимодействующими    объектами.   Он   должен   пpедусматpивать
упpавление   фоpматом   сообщений,   потоком   команд,  а  также
действиями в случае обнаpужения ошибок. Пpотокол MIDI базиpуется
на  том,  что  одно  устpойство  всегда только пеpедает команды,
дpугое  их  пpинимает  и выполняет. Команды означают наступление
некотоpых   событий,   напpимеp   нажатие   клавиши  или  ее  же
отпускание.   Пpи   отсутствии   каких-либо  команд  со  стоpоны
пеpедатчика,  пpиемник  находится  в ожидании. Поэтому для того,
чтобы  пpоигpать  ноту,  тpебуется пеpедать 2 команды: "включить
ноту"  и  после  истечения длительности ноты, команду "выключить
ноту".

    Команды  бывают  одно-,  двух-, или тpехбайтные. Пеpвый байт
команды опpеделяет действие, пpоизводимое командой, и называется
статусным,  за  ним  могут  следовать один или два байта данных.
Стаpший  бит  статусного  байта единичный, байта данных - всегда
нулевой; таким обpазом можно пеpедать 127 команд. Pассмотpим 3-х
байтную  команду  "включить  ноту";  тpехбайтную,  со  статусным
байтом  #90.  Пеpвый байт данных - номеp ноты, втоpой - скоpость
нажатия  клавиши.  Самая  нижняя нота имеет нулевой номеp, самая
веpхняя 127. Hоте До пеpвой октавы соответствует номеp #3C.
    
    Скорость  нажатия  клавиши  -  это  дополнительный параметр,
предназначенный  для  акцентирования нот. Его численное значение
также  от  0  до 127. Но следует помнить, что как приемное так и
передающее   устройства   программируются,   музыкальный   строй
транспонируется,  а  параметр  "скорость  нажатия" может сложным
образом  зависеть  от  действительной  скорости нажатия клавиши.
Поэтому  абсолютной  шкалы  соответствия  между  передаваемыми и
действительными параметрами звука не существует.
    
    Для простоты будем считать, что транспонирования нет. Тогда,
чтобы   включить   ноту   До   второй   октавы,  нужно  передать
последовательность  байт  #90,  #48,  #7F.  Для  воспроизведения
аккорда  на полифоническом синтезаторе, передают последовательно
несколько  команд  "включить  ноту" - отдельно для каждой ноты в
аккорде.  Задержка  по  времени  между  командами невелика - для
аккорда из 3-х нот не более 1,8 мс. и на слух она не слышна.
    
    Есть  еще  одна команда для оперативного изменения громкости
нот,  но  уже  во  время  звучания  -  "давление на клавишу". Ее
передают  современные  клавиатуры,  измеряющие  силу  нажатия. К
сожалению,  аналогичной  команды  для  изменения  высоты тона не
существует.
    
    Частично  ее  заменяет  команда  "положение колеса изменения
тона", влияющая на частоты всех взятых в данный момент нот.
    
    Часто,  во  время  игры  требуется  изменять  тембр звучания
инструмента,   манипулировать   эффектами.   В   таких   случаях
пользуются   колесом   модуляции,   педалями,   регуляторами   и
выключателями на лицевой панели данного инструмента. То же самое
делают  и  по  MIDI  -  для  этого  служит  команда  "установить
параметр",  пользуясь  которой можно включить или выключить один
из  64  переключателей,  или  изменить  положение  одного  из 32
регуляторов.  При  этом,  конечно,  ручки  на  лицевой панели не
двигаются  и  никакие  контакты  не  замыкаются - имеются в виду
логические  регуляторы  и переключатели. Однако производимые ими
действия   совершенно   идентичны  и  неотличимы.  Для  плавного
управления  регуляторами  передают  оди  или два байта данных, в
зависимости от требуемой точности.
    
    Теперь,   используя   знакомые   команды,   можно   записать
музыкально  произведение  в  виде последовательных посылок MIDI.
Если обычная партитура оставляет за музыкантом свободу трактовки
произведения,  то  MIDI - партитура есть однозначная запись всех
действий  музыканта  со  всеми ньюансами конкретного исполнения.
Такую  запись,  в  отличие  от магнитофонной - аналоговой, легко
редактировать,   несложно   изменить  даже  полностью  раскладку
партитуры по инструментам или транспонировать отдельные партии.
    
    MIDI-оркестр.
    
    Интерфейс MIDI удобен для управления целым оркестром из ЭМИ,
каждый   из   которых   предварительно   настроен  на  некоторый
конкретный индивидуальный номер канала (1-16) и реагирует только
на  команды, передаваемые в этом канале. Например, полный формат
команды "включить ноту" имеет вид:

    1001сссс       0nnnnnnn         0xxxxxxx
  байт статуса   первый байт   второй байт данных
   
  где cccc - номер канала
      nnnnnnn - номер ноты
      xxxxxxx - нажатая клавиша
       
    Таким  образом  каждая команда несет еще информацию о номере
канала,  что  позволяет  из  единого  потока передаваемых команд
выбрать  команды, относящиеся к разным инструментам. Современные
ЭМИ  имеют  сложные алгоритмы фильтрации и обработки принимаемых
сообщений и могут работаь в нескольких режимах.
    
    Наиболее   распространены   переключатели   режимов  OMNI  и
MONO-POLY.  При  включении OMNI инструмент принимает и выполняет
команды  с  одним,  заранее  определенным  номером  канала - как
одноголосный,  в  режиме POLY максимальное число играемых в один
момент  голосов  зависит  от  конкретной  модели ЭМИ. Режим MONO
используют   в  партиях  принципиально  одноголосных  солирующих
инструментов, например духовых, или для имитации игровой техники
на щипковых инструментах, скажем, на гитаре, когда каждая струна
имитируется    одноголосным    мелодическим    синтезатором    с
соответствующей настройкой.
    
    Мультитембральные  инструменты, получившие в настоящее время
широкое  применение,  позволяют играть одновременно на различных
тембрах,   причем  каждый  тембр  ведет  себя,  как  независимый
полифонический   синтезатор   с  индивидуальными  параметрами  и
управлением.  Т.  е.  один  мультитембральный  инструмент  может
звучать,  как  целый  оркестр  с ритм-секцией, аккомпонементом и
солирующей  секцией.  Для независимого управления этими тембрами
им просто назначаются различные MIDI - каналы.
    
    Что еще передают по MIDI?
    
    Выше  были  описаны  некоторые  из  так называемых канальных
сообщений.  Существуют  также  системные  сообщения  и сообщения
реального   времени,  не  содержащие  номера  канала  и  поэтому
предназначаются   всем   устройствам,  подключенным  к  системе.
Сообщения    реального   времени   используют   для   управления
секвенсерами,  ритм-машинами  и  другими подобными устройствами.
Однобайтную    команду    "системная   синхронизация"   передают
равномерно 24 раза на четвертую ноту исполняемого произведения -
она  служит для задания темпа и синхронизации. Команды "старт" и
"стоп"  передают каждый раз при пуске и остановке секвенсера или
ритм-компьютера и используют для дистанционного управления ими.
    
    Из   системных  сообщений  наибольший  интерес  представляют
исключительные сообщения. Оно предназначено для передачи данных,
специфичных  для  однотипных инструментов - это могут быть дампы
параметров  или  сэмплинги  инструментов  в цифровом виде, проще
говоря  по  MIDI  каналу  можно передавать что угодно, хоть хоть
сообщение  в  ASCII  коде,  лишь бы принимающая аппаратура могла
правильно  распознать  и  принять эти данные. Байтом данных этой
команды  является  идентификатор  формы, выпустившей инструмент,
позволяющий отличать предназначенную ему информацию от "чужой".
    
    MIDI-аппаратура.
    
    MIDI  завоевал  музыкальный  рынок.  Практически не осталось
устройств,  используемых  для  исполнения или записи музыки и не
имеющих  знакомых  разъемов  интерфейса  MIDI  на задней панели.
Среди  них постоянно появляются новинки, поэтому данный обзор не
претендует  на полноту и его следует рассматривать прежде всего,
как  ознакомительный,  как,  впрочем,  и весь этот бред про MIDI
стандарт...
    
    Синтезаторы звука выпускаются как с клавишами, так и без них
в  виде  электронной  начинки  инструмента.  Эти, так называемые
тонгенераторы,  или  на  музыкальном сленге "мозги", оформлены в
корпусах,  типа  "Rack"  со стандартными установочными размерами
для  крепления  в стойке. Выгода приобретения таких инструментов
очевидна  -  вместо нескольких клавиатур можно использовать одну
или две, подключая их к синтезаторам по MIDI. Синтезаторы звуков
ритмических  инструментов  также  бывают  как  в одном корпусе с
"пэдами" - чувствительными площадками для игры на них, так и без
них - в Rack исполнении.
    
    К   исполнительским  устройствам,  имеющим  MIDI,  относятся
MIDI-клавиатуры   (на   музыкальном  сленге  "зубы"),  пэды  для
электронных  ударных  установок, специальные либо адаптированные
грифовые  и духовые инструменты. Поскольку интерфейс развязывает
исполнительские    и   тембральные   возможности   инструментов,
музыканты,   владеющие  навыками  игры  на  ограниченном  наборе
инструментов, получают новый набор для творчества.
    
    Секвенсоры  позволяют  записывать,  хранить, редактировать и
воспроизводить  потоки  MIDI  -  сообщений  в  реальном времени.
Многие  из  секвенсоров обладают возможностямиб предоставляемыми
студийными   магнитофонами:  многодорожечная  запись,  изменение
темпа,   транспонирование,   редактирование  некоторого  отрезка
записи и др. Большая часть из них управляется по MIDI. Обработка
звука  производится  блоками  эффектов и звуковыми процессорами,
имеющими  MIDI  - вход для оперативного изменения глубины и вида
эффекта,  других  параметров во время игры. Небольшие микшерские
пульты,   оснащенные   MIDI,  позволяют  записать  все  действия
звукорежисера и воспроизвести их при звучании произведения в той
же   последовательности   и   строго  синхронно  с  фонограммой.
Появившиеся  в  большом ассортименте так называемые демо-студии,
объединяющие  в  небольшом  корпусе  микшерский пульт и 4-х/6-ти
дорожечный магнитофон, также имеют MIDI управление.

    Персональные   ЭВМ,   оснащенные  недорогой  платой  MIDI  и
соответствующим  ПО,  могут  работать, например, как секвенсер с
отличным   сервисом.   Интерактивное   редактирование  партитур,
возможность ее распечатки, редактирование тембров синтезаторов с
визуализацией всех огибающих или сэмплингов с простором волновой
формы   либо   спектра,   делают   такой   компьютер   гибким  и
универсальным инструментом для программирования ЭМИ.
    
    Коммутаторы, переключатели, распределители, синхронизаторы и
другие  сервисные устройства с не менее отпугивающими названиями
облегчают  работу  музыкантов,  которые рискнули создать большую
сеть  соединенных  по  MIDI  устройств  - MIDI студию. Стоимость
такой студии, умещающейся на столе, значительно ниже обычной, и,
что  главное,  управлять  ею и играть на всех инструментах может
один человек.

    Hе  думайте,  что  на  этой  высокой  ноте  я  закончу  свои
изыскания на тему MIDI. Hет, не дождетесь :) Hу а если сеpьезно,
хотелось  бы  знать - это вообще кому-то интеpесно??? По кpайней
меpе  вместо pазмышлений на дигитально-музыкальную тему я мог бы
pассказать  о еще большем 'безумии' и неноpмальности... Hапpимеp
об   оpально-менстpуальных   циклах  в  языках  пpогpаммиpования
высокого  уpовня  и  о  pешениях  биноменально-тpансцедентальных
уpавнений жителями кpайнего севеpа...

    Все, все, ухожу, только не пинайте, а шлите письма.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железо - МИДИ-интерфейс для ZX-Spectrum-совместимых компьютеров (продолжение).
Железо - Последовательный порт для Spectrum'a
Железо - об системной шине, установленной мной в моем ZS Scorpion 256.

В этот день...   12 ноября