Мета съобщения в MIDI

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

Мета съобщенията в MIDI са съобщения, които съдържат информация за поредицата от събития MIDI, но които не се изпращат по връзките MIDI.

Мета съобщенията имат следната стандартна структура.

Поле Дължина Започва на байт Стойност
Статусен байт Един байт 0x00 Винаги 0xFF
Вид мета Един байт 0x01 различни, виж по-долу
Дължина Различни 0x02 0-255
Данни Различни 0x03 различни

Статусен байт – първият байт на мета съобщенията в MIDI е "статусния байт" както при всички други съобщения в MIDI. Статусният байт на едно мета съобщение в MIDI винаги е равен на 0xFF.

Вид мета – байта за "вида мета" определя как остатъка от съобщението трябва да се чете (виж таблицата по-долу с мета видовете, които се знаят).

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

Данни – "данните" в съобщенията определят нещо, което устройствата MIDI трябва да преведат.

Ето списъка с мета съобщения.

Съобщение Вид мета Дължина на данните Съдържа Съществува в
Номер на песента 0x00 2 байта Броя на една MIDI поредица При делта време 0
Текст 0x01 различна Някакъв текст Където и да е
Бележка за авторски права 0x02 различна Бележка за авторски права При делта време 0 в първата писта
Име на пистата 0x03 различна Име на пистата При делта време 0
Име на инструмента 0x04 различна Името на инструмента в пистата Където и да е
Лирика 0x05 различна Текста на песента, обикновено една сричка на четвърт нота Където и да е
Маркер 0x06 различна Текста на някаква маркировка Където и да е
Знак за встъпване 0x07 различна Текста на някакъв знак за встъпване, обикновено да подскаже някакво действие на потребителя Където и да е
Представка на канала 0x20 1 байт Номера на един канал (мета съобщенията, които следват, ще важат за този канал) Където и да е
Край на пистата 0x2F 0   На края на всяка писта
Определи темпото 0x51 3 Броя на микросекундите за всеки пулс Където и да е, но обикновено в първата писта
SMPTE отлагане 0x54 5 SMPTE време, за да отбележи времето от началото, което трябва мине, преди да започне свиренето Където и да е
Ритъм 0x58 4 Темпо, в пулсове на метронома и дължина на един пулс в 32-ри ноти Където и да е
Тоналност 0x59 2 Тоналност Където и да е
Специално за устройството 0x7F различна Нещо специфично за устройствата MIDI на един производител на устройства Където и да е

Бележка за статусния байт 0xFF

Съобщението "превключи" (едно съобщение за системата в реално време) има същия статусен байт като съобщенията мета: 0xFF. По споразумение, съобщението превключи в MIDI никога не съществува във файловете MIDI, а се изпраща по връзките MIDI по заявка на потребителя. Така, ако едно устройство MIDI получи статусния байт 0xFF по една връзка MIDI, устройството ще го възприеме като съобщението "превключи". Ако устройството MIDI прочете статусния байт 0xFF в някакъв файл MIDI, тогава устройството ще възприеме този байт като началото на едно мета съобщение.

Бележка за вида мета

Тъй като всички мета съобщения имат един и същи статусен байт (0xFF), вида мета позволява на устройствата MIDI да правят разлика между различните мета съобщения. Ако вида мета във втория байт на мета съобщението например е 0x02, тогава това съобщение съдържа бележка за авторските права (виж таблицата по-горе).

Виж също:
Протокол 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.