Съобщението "четвърт кадър", е времева информация под формата часове:минути:секунди:кадри (подобно на SMPTE), която се използва за да се синхронизират устройствата MIDI.
Това съобщение принадлежи на категорията Обикновени съобщения за системата в MIDI.
Съобщението четвърт кадър в MIDI се състои от два байта от данни. Първият байт е статусния байт и има стойността 0xF1. Той показва, че това е съобщението четвърт кадър в MIDI. Вторият байт на съобщението носи част от кода за времето в MIDI както е показано по-долу. Тъй като вторият байт сам не може да носи цялата информация за времето, няколко такива съобщения трябва да се изпратят за да се получи цялото време в MIDI. Според протокола MIDI тогава, вторият байт на съобщението четвърт кадър в MIDI носи два типа информация. Горната половина на байта (битове от 4 до 7) показват коя част от времето се съдържа в този байт (кадрите, секундите, минутите или часовете). Долната половина (битове от 0 до 3) носят самата част от времето. Така, този втори байт може да е един от следните.
Шестнадесетична стойност | Горна половина (десетична) | Долна половина | Описание |
0x0X | 0 | X | Ако горната половина е "0" тогава долната половина "X" е долната половина на частта "кадри" във времето MIDI. |
0x1X | 1 | X | Ако горната половина е "1" тогава долната половина "X" е горната половина на частта "кадри" във времето MIDI. |
0x2X | 2 | X | Ако горната половина е "2" тогава долната половина "X" е долната половина на частта "секунди" във времето MIDI. |
0x3X | 3 | X | Ако горната половина е "3" тогава долната половина "X" е горната половина на частта "секунди" във времето MIDI. |
0x4X | 4 | X | Ако горната половина е "4" тогава долната половина "X" е долната половина на частта "минути" във времето MIDI. |
0x5X | 5 | X | Ако горната половина е "5" тогава долната половина "X" е горната половина на частта "минути" във времето MIDI. |
0x6X | 6 | X | Ако горната половина е "6" тогава долната половина "X" е долната половина на частта "часове" във времето MIDI. |
0x7X | 7 | X | Ако горната половина е "7" тогава долната половина "X" съдържа информация за частта "часове" във времето MIDI, а и за броя кадри в секунда. |
Следното е пример на съобщението четвърт кадър в MIDI.
0xF1 0x36
Първият байт 0xF1 е статусният байт и показва, че това е съобщението четвърт кадър в MIDI. Вторият байт е 0x36. Горната половина на този байт е 3, което означава, че долната половина 6 е долната половина на частта от времето в MIDI за "секунди".
Кадри в секунда
Забележете, че последното съобщение в таблицата по-горе е различно от останалите. Когато горната половина на вторият байт в съобщението четвърт кадър в MIDI е 7, долната половина е както следва.
XYYZ
Бита X не се използва. Бита Z е бит 4 (ако се брои от 0) на частта от времето в MIDI за "часове" (което означава, че "часовете" имат само 5 бита и не могат да са над 31). Битовете YY определят броя на кадрите в секунда. Тези YY бита имат следното значение.
Двоична стойност | Десетична стойност | Означава |
00 | 0 | В една секунда има 24 кадъра. |
01 | 1 | В една секунда има 25 кадъра. |
10 | 2 | В една секунда има 29.97 кадъра (наречени "понижени 30" от англ. "30 drop"). |
11 | 3 | В една секунда има 30 кадъра. |
Цялата информация за времето и ред на съобщенията
Забележете, от първата таблица по-горе, че за да се определи времето трябват 8 съобщения четвърт кадър. 8 четвърт кадъра са 2 пълни кадъра и така трябват два пълни кадъра за да се получи цялото време.
Когато времето в MIDI върви напред, реда на съобщенията е както в първата таблица по-горе. Долната половина на "кадрите" се изпраща първа, горната половина на "кадрите" е втора и т.н. Когато времето върви назад редът е обратен. Тъй като трябват два пълни кадъра за да се завърши времето, докато устройството MIDI получи цялото време, времето ще бъде забавено с два кадъра. Устройствата MIDI тогава винаги прибавят два кадъра към времето преди да го покажат.
Виж също:
Протокол Musical Instrument Digital Interface (MIDI)
Добави нов коментар