Статусен байт (на съобщение в MIDI)

Едно съобщение MIDI е поредица от байтове, която се изпраща на устройството MIDI за да го накара да извърши някакво действие.

Статусният байт на съобщението в MIDI е първия байт на съобщението, стойността на който определя вида на самото съобщение и показва на получаващото устройство какво да направи и как да разбере останалите байтове в съобщението.

Следното е списък от възможни стойности на статусния байт.

Статусен байт Съобщение в MIDI Категория на съобщението Действие на устройството MIDI
0x80 до 0x8F Спри нотата Гласови / озвучаващи Спира да свири някаква нота
0x90 до 0x9F Свири нотата Гласови / озвучаващи Започва да свири някаква нота
0xA0 до 0xAF Натиск на клавиша Гласови / озвучаващи Упражнява натиск върху някаква нота, подобно на натиска върху клавиша на една електронна клавиатура
0xB0 до 0xBF Контрола Гласови / озвучаващи Променя някаква контрола. Самата контрола може да е плъзгач, копче, педал, бутон и т.н.
0xC0 до 0xCF Смяна на програмата Гласови / озвучаващи Избира някаква програма за един от каналите в MIDI. Програмата може да е виртуален инструмент или настройка
0xD0 до 0xDF Натиск на канала Гласови / озвучаващи Упражнява натиск върху един от каналите в MIDI, подобно на натиска върху клавишите на електронните клавиатури
0xE0 до 0xEF Транспониране Гласови / озвучаващи Транспонира звука в канала нагоре или надолу с някаква определена стойност
0xF0 Ексклузивно за системата Обикновени за системата Извършва някакво действие, което е специфично за устройството
0xF1 Четвърт кадър Обикновени за системата Определя времето в MIDI за да синхронизира устройството с някакво друго устройство
0xF2 Позиция в песента Обикновени за системата Подрежда се към някаква позиция в песента MIDI и се приготвя да свири
0xF3 Избор на песен Обикновени за системата Избира някаква песен за свирене
0xF6 Настрой се Обикновени за системата Настройва се
0xF8 Часовник За системата в реално време Разбира позицията на времето в MIDI (когато е синхронизирано към някакво друго устройство)
0xFA Започни За системата в реално време Започва да свири някаква поредица MIDI
0xFB Продължи За системата в реално време Продължава да свири някаква поредица MIDI
0xFC Спри За системата в реално време Спира да свири поредицата MIDI
0xFE Активен усет За системата в реално време Разбира, че връзката MIDI съществува (ако няма други съобщения)
0xFF Превключи За системата в реално време Превключва се и минава на някакви предопределени начални настройки

Канали

Съобщенията със статусни байтове от 0x80 до 0xEF са специфични за един канал. В техните статусни байтове, горната половина на байта определя статуса, а долната половина определя канала. Статусният байт 0x92 например казва на получаващото устройство MIDI да свири някаква нота на канал 2.

Статусен байт 0xFF

Ако е изпратен по връзките MIDI, статусният байт 0xFF е съобщението "превключи". Устройството MIDI, което получава това съобщение, ще се превключи и ще се настрои с някакви предопределени начални настройки, което обикновено означава, че то ще спре да свири, ще се подреди към началната позиция в песента и така нататък.

В един файл MIDI обаче, статусният байт 0xFF показва началото на едно "мета" съобщение. Мета съобщенията носят мета информация за песента MIDI, като например съобщения с имената на пистите, съобщения за края на пистите, различни съобщения с текст и други.

Съобщенията "превключи" и "мета" съобщенията са различни, но имат един и същи статусен байт. Едно устройство обаче може да направи разлика между двете. Съобщенията превключи се изпращат по връзките MIDI и обикновено се пораждат от потребителите (т.е., с натискането на бутон, вместо просто да са записани в една песен MIDI). Мета съобщенията са записани във файловете MIDI, но никога не се изпращат по връзките MIDI.

Статус на изпълнението в MIDI

Едно устройство MIDI стои в своя статус докато получи едно съобщение с нов статус. Протокола MIDI позволява, ако две или повече последователни съобщения имат един и същи статусен байт, да се пропусне статусния байт на второто, третото и така нататък съобщения. Това намалява обема на данните, които трябва да се изпращат. Ако едно ново съобщение има различен статусен байт, тогава статусният байт трябва да присъства, така че получаващото устройство да бъде уведомено за новия статус.

Статусният байт може също да се пропусне от последователни съобщения със един и същи статусен байт, когато данните MIDI се запазват в един файл MIDI.

Най-често, след изпращането на едно съобщение свири нотата с някаква скорост за да се изсвири една нота, устройствата MIDI могат да изпратят едно друго съобщение свири нотата, но със скорост равна на нула, за да спрат свиренето на същата нота. Статусният байт на второто съобщение свири нотата може да се пропусне, защото е същия като статусния байт на предишното съобщение (ако няма съобщения между тях).

Устройството MIDI ще знае, че статусният байт е пропуснат, защото статусните байтове имат стойности между 0x80 и 0xFF и най-висок бит равен на 1, а другите байтове с данни в съобщенията имат стойности между 0x00 и 0x7F и най-горен бит равен на 0.

Виж също:
Протокол Musical Instrument Digital Interface (MIDI)

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.