ли виконавець виробляє небудь вплив на органи управління (натискання/відпускання клавіш, педалей, зміна положень регуляторів і т.п.), інструмент формує відповідне MIDI-повідомлення, в той же момент посилається по інтерфейсу. Інші інструменти, отримуючи повідомлення, відпрацьовують їх так само, як і при впливі на їх власні органи управління. Таким чином, потік MIDI-повідомлень являє собою як би зліпок з дій виконавця, зберігаючи властивий йому стиль виконання - динаміку, технічні прийоми і т.п. При записі на пристрої зберігання інформації MIDI-повідомлення забезпечуються тимчасовими мітками, утворюючи своєрідний спосіб представлення партитури. При відтворенні за цими мітками повністю і однозначно відновлюється вихідний MIDI-потік. p> Специфікація MIDI складається з апаратної специфікації самого інтерфейсу і специфікації формату даних - опису системи переданих повідомлень. Відповідно, розрізняється апаратний MIDI-інтерфейс і формат MIDI-даних (так звана MIDI-партитура); інтерфейс використовується для фізичного з'єднання джерела і приймача повідомлень, формат даних - для створення, зберігання та передачі MIDI-повідомлень. В даний час ці поняття стали самостійними і зазвичай використовуються окремо один від одного - по MIDI-інтерфейсу можуть передаватися дані будь-якого іншого формату, а MIDI-формат може використовуватися тільки для обробки партитур, без виведення на пристрій синтезу. p>
Специфікація формату даних MIDI
MIDI-дані представляють собою повідомлення, чи події (events), кожне з яких є командою для музичного інструменту. Стандарт передбачає 16 незалежних і рівноправних логічних каналів, усередині кожного з яких діють свої режими роботи; спочатку це було призначено для одно-тембрових інструментів, здатних у кожний момент часу відтворювати звук тільки одного тембру - кожному інструменту присвоювався свій номер каналу, що давало можливість багатотембрового виконання. З появою багатотембрового (Multi-timbral) інструментів вони стали підтримувати декілька каналів (сучасні інструменти підтримують всі 16 каналів і можуть мати більше одного MIDI-інтерфейсу), тому зараз кожному каналу зазвичай призначається свій тембр, званий за традицією інструментом, хоча можлива комбінація декількох тембрів в одному каналі. Канал 10 по традиції використовується для ударних інструментів - різні ноти в ньому відповідають різним ударним звуків фіксованої висоти; інші канали використовуються для мелодійних інструментів, коли різні ноти, як звичайно, відповідають різній висоті тони одного і того ж інструмента. p> Оскільки MIDI-повідомлення являють собою потік даних в реальному часі, їх кодування розроблена для полегшення синхронізації в разі втрати з'єднання. Для цього перший байт кожного повідомлення, званий також байтом стану (status byte), містить "1" в старшому розряді, а всі інші байти містять в ньому "0" і називаються байтами даних (data bytes). Якщо після отримання всіх байтів даних останнього повідомлення на вхід приймача...