MIDI

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Музичний діапазон стандарту MIDI

MIDI (англ. Musical Instrument Digital Interface, цифровий інтерфейс музичних інструментів) — стандарт передачі інформації між електронними музичними інструментами, розроблений 1983 року, що уможливлює комунікацію електромузичних інструментів, комп'ютера та іншого MIDI-сумісного обладнання, здійснювати з одного інструменту управління іншими.

MIDI не передає звукової інформації — натомість MIDI працює з «повідомленнями», такими як висота та динаміка взятої на інструменті ноти, контрольні сигнали для таких параметрів як гучність, панорама, сигнали відліку часу для синхронізації темпу тощо. Як електронний протокол, MIDI відзначається надзвичайно широким поширенням.

Принципи функціонування[ред.ред. код]

MIDI описує апаратний інтерфейс, який дозволяє з'єднувати синтезатори та комп'ютери різних виробників, описує протоколи зв'язку для передавання даних від одного пристрою до іншого. MIDI-пристрої можуть взаємодіяти з програмним секвенсером, та посилати інформацію на синтезатор звукової карти комп'ютеру. Запис та відтворення MIDI базується на пакетах даних, кожний з яких відповідає MIDI-повідомленню (англ. MIDI-events).

Пристрій для запису та редагування MIDI-повідомлень називається секвенсером (від англ. sequence — послідовність). MIDI-повідомлення можна вводити через MIDI-клавіатуру (в реальному часі або в покроковому режимі), або ж різноманітними способами з клавіатури чи мишею у програмі-секвенсері. Послідовність MIDI-повідомлень може бути збережена як MIDI-файл (файл має розширення *.mid) на будь-якому цифровому носії інформації.

При відтворенні MIDI-секвенсер посилає MIDI-повідомлення на звуковий модуль — зовнішній синтезатор, синтезатор звукової карти, або інший програмний синтезатор тощо, що відтворює це повідомлення як звук відповідно до записаних параметрів цього повідомлення.

Комутація[ред.ред. код]

роз'єм для підключення MIDI

Фізичний MIDI-інтерфейс використовує DIN 5/180° роз'єми. Оптронові роз'єми використовуються для запобігання Замикання через землю між підключенними пристроями. Логічна схема функціонування MIDI являє собою кільцеву топологію з трансивером всередині кожного пристрою. Фізично та логічно трансивери відділяють вхідний та вихідний контури, завдяки чому MIDI повідомлення, які отримує пристрій з мережі не призначаються для їх ретрансляції у вихідний контур (MIDI-OUT). Така технологія спричиняє затримку, відчутною на слух у достатньо великих MIDI-мережах.

Сучасні MIDI-пристрої мають три роз'єми — вхідний роз'єм MIDI-IN, через який пристрій отримує повідомлення ззовні та два вихідних роз'єми — MIDI-OUT та MIDI-THRU. Різниця між MIDI-OUT та MIDI-THRU портами полягає в тому, що сигнал з MIDI-OUT генерується безпосередньо на самому інструменті, тоді як MIDI-THRU порт видає точну копію сигналу, який отримує пристрій через вхідний порт MIDI-IN.

Інтерфейс з трьома роз'ємами мають також деякі звукові карти, проте інші потребують зовнішнього інтерфейсу, це може бути ігровий порт, роз'єм DA-15, USB-порт, FireWire або ethernet.

Кодування MIDI повідомлень[ред.ред. код]

Формат MIDI розроблений таким чином, щоб будь-який секвенсор міг зберігати у файлах як стандартизовані команди, так і специфічні для тією чи іншої програми. При цьому при завантаженні файлів MIDI незрозуміла іншим програмам-додаткам інформація не призводить до непорозумінь, а просто ігнорується.

Кожна MIDI команда складається зі статусного байту і байту даних, або, в залеєжності від типу команди - кількох байтів даних. Для того, щоб пристрій міг безпомилково відрізнити статусний байт від байту даних - прийнято, що кожен старший біт статусного байту має значення "1", а кожний старший біт байту даних - "0". У байті даних решта 7 біт відведено для кодування значення того чи іншого параметру, що дозволяє закодувати 128 різних значень. У статусному байті наступні три біта кодують тип повідомлення, а останні 4 біта - один з 16 каналів повідомлення або тип системного повідомлення.


Види MIDI повідомлень[ред.ред. код]

Розрізняють два основних види MIDI-повідомлень - канальні та системні.

Канальні повідомлення[ред.ред. код]

Канальні повідомлення безпосередньо впливають на характер звучання. Таких повідомлень 7:

код MIDI-повідомлення Значення Параметри
1001 Note-on Натиснення клавіші Номер клавіші (0—127),
сила натиснення (0—127)
1000 Note-off Відпускання клавіші Номер клавіші (0—127)
1100 Program Change Включення інструменту Номер інструменту (0—127)
1110 Pitch Bend Зсув по висоти звуку (wheel)
(Використовуэться для ефектів glissando, частотного вібрато тощо)
Величина зсуву (-8191—8191)
1011 Control Change Зміна контролеру Номер контролеру (0—127) та значення (0—127)
1010 Key Pressure Тиск на клавішу Сила тиску на клавішу
1101 Channel Pressure Тиск на клавіатуру Сила тиску на клавіатуру

MIDI-повідомлення Note-on та Note-off визначають нотний текст музичного твору і можуть бути відображеними у вигляді музичної партитури. MIDI-повідомлення Control Change використовують для програмування тонких виконавських нюансів, усього їх передбачено 128, проте використовуються, як правило, лише декілька. Найуживанішими є наступні:


назва призначення значення
1 Modulation амплітудне вібрато 0 — повністю відключає вібрато
127 — максимальне вібрато
5 Portamento Час глісандування (працює при включенному режимі глісандування (контролер № 65) 0 — мінімальне,
127 — максимальне значення
7 Volume гучність звуку 0 — повністю виключає звук
127 — максимальна гучність
10 Pan просторова локалізація звуку 0 — локалізація зліва
64 — локалізація по центру
127 — локалізація справа
11 Expression Виразність виконання
(як правило діє аналогічно контролеру № 7)
0 — мінімальне,
127 — максимальне значення
64 Sustain Затримка звуку (Ефект, аналогічний правій педалі фортепіано) 127 — ефект включено
0 — еффект виключено
65 Portamento Switch Режим глісандування
(відтворення починається від звуку попередньої натиснутої клавіші, поступово глісандуючи до натиснутої в цей час клавіші
Час глісандування визначається контролером № 5
127 — ефект включено
0 — еффект вимкнено.
72 Release time Час затухання звуку 0 — мінімальне,
127 — максимальне значення
73 Attack time Час атаки звуку 0 — мінімальне,
127 — максимальне значення
74 Brightness Яскравість звуку (як правило, корелює частоту зрізу фільтра)  
121 All controlers off Відновлює значення всіх контролерів за замовчуванням  

Час реалізації того чи іншого MIDI-повідомлення може бути представлений в форматі реального часу — SMTPE (хвилини : секунди : долі секунди) та в форматі музичного часу (такти : долі такту : «тікі»), які пов'язані між собою значенням музичного темпу. З точки зору музичної практики зручнішим для використання є формат музичного часу. Величина PQRN визначає кількість «тіків» — найдрібнішої одиниці часу в долі.

MIDI-повідомлення може передаватися по одному з 16 MIDI-каналів, або по всіх каналах одночасно. Наявність 16 MIDI-каналів дає можливість одночасного незалежного управління 16 різними інструментами.

Системні повідомлення[ред.ред. код]

У статусному байті системних повідомлень 4 старші байти мають значення "1", 4 молодші визначають тип системного повідомлення. Системні повідомлення слугують головним чином для керування роботи програмою, вони не поділяються на канали і стосується всієї системи і мають вищий пріоритет ніж канальні.

Усього передбачено 16 системних повідомлень, проте використовуються з них лише 11:


назва призначення
F0 System Exclusive SysEx, ексклюзивне повідомлення
F1 резерв
F2 Song Position Pointer покажчик місця в п'єсі
F3 Song Select вибір п'єси
F4 резерв
F5 резерв
F6 Tune Request запит підстроювання
F7 EOX Кінець SysEx, кінець системного виключного повідомлення
F8 Timing Clock синхронізація за часом
F9 резерв
FA Start запуск гри по партитурі
FB Continue продовження гри по партитурі
FC Stop зупинка гри по партитурі
FD резерв
FE Active Sensing перевірка з'єднань MIDI-мережі
FF System Reset скидання всіх пристроїв мережі

Стандарт GM[ред.ред. код]

Докладніше: General MIDI

Стандарт General MIDI (GM) розроблено в 1991 році (MMA) з метою уніфікації музичних інструментів, які визначаються повідомленням Program Change. Цей стандарт містить 128 інструментів та 47 звуків ударних інструментів на 10-му MIDI каналі.

Підтримка стандарту General MIDI передбачає також відповідність інструмента наступним вимоги:

  • Пітримка одночасного звучання до 24-х голосів (мінімум 16 мелодичних і 8 ударних)
  • Підтримка динаміки (velocity)
  • Підтримка одночасно до 16 незалежних каналів (10-й зарезервовано для ударних)
  • Підтримка поліфонії на кожному каналі

Розширеним стандартом є так званий GS стандарт, що дозволяє підключати до 128 банків звуків, що теоретично передбачає використання до 16 384 інструментів.

Література[ред.ред. код]

  • Николенко Д. В. MIDI — язык богов. — СПб.: Регата, 2000. — 144 стр.
  • В. Белунцов. Новейший самоучитель работы на компьютере для музыкантов — Москва: «ТехБук», 2003. — 560 с., илл. ISBN 5-93650-035-7

Посилання[ред.ред. код]

музика Це незавершена стаття про музику.
Ви можете допомогти проекту, виправивши або дописавши її.