Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Временной код MIDI ( MTC ) включает ту же информацию о времени, что и стандартный временной код SMPTE, в виде серии небольших «четвертькадровых» MIDI- сообщений. В стандартных сообщениях временного кода MIDI нет положений для пользовательских битов, и SysExвместо этого для передачи этой информации используются сообщения. Сообщения четверти кадра передаются в последовательности из восьми сообщений, таким образом, полное значение временного кода указывается каждые два кадра. Если поток данных MIDI работает почти на полную мощность, данные MTC могут поступать с небольшим отставанием от графика, что приводит к появлению небольшого дрожания. Чтобы избежать этого, идеально использовать полностью отдельный порт MIDI для данных MTC. Полнокадровые сообщения большего размера, которые инкапсулируют тайм-код в одном сообщении, используются для определения времени, когда тайм-код не запущен.

В отличие от стандартного таймкода SMPTE, сообщения четвертьфрейма и полнокадрового таймкода MIDI несут двухбитное значение флага, которое идентифицирует скорость таймкода, определяя его как:

  • 24 кадра / с (стандартная скорость для работы в кино )
  • 25 кадров / с (стандартная скорость для видео PAL )
  • 29,97 кадра / с (тайм-код пропуска кадров для видео NTSC )
  • 30 кадров / с (тайм-код без выпадения для видео NTSC)

MTC различает скорость пленки и скорость видео только по скорости продвижения временного кода, а не по информации, содержащейся в сообщениях временного кода; таким образом, выпадающий кадр 29,97 кадра / с представлен как выпадающий кадр 30 кадра / с при уменьшении 0,1%.

MTC позволяет синхронизировать секвенсор или DAW с другими устройствами, которые могут синхронизироваться с MTC, или для этих устройств в качестве «подчиненных» ленточному устройству, чередующемуся с SMPTE. Для этого необходимо использовать преобразователь SMPTE в MTC. Магнитофон может синхронизироваться с сигналом MTC (если он преобразован в SMPTE), если магнитофон способен «подчиняться» входящему тайм-коду через управление двигателем, что является редкой функцией.

Формат временного кода [ править ]

Длина временного кода MIDI составляет 32 бита, из которых 24 используются, а 8 битов не используются и всегда равны нулю. Поскольку сообщения постоянного кода требуют, чтобы наиболее значимые биты каждого байта были нулевыми (действительные байты данных MIDI), на самом деле имеется только 28 доступных бит и 4 запасных бита.

Как и большинство аудиовизуальных тайм-кодов, таких как временной код SMPTE , он кодирует только время суток, повторяясь каждые 24 часа. Время указывается в часах, минутах, секундах и кадрах . Может быть 24, 25 или 30 кадров в секунду.

В отличие от большинства других временных кодов, компоненты кодируются в прямом двоичном формате, а не в десятичном двоичном коде .

Каждому компоненту назначается один байт:

Байт 0
0rrhhhhh: Скорость (0–3) и час (0–23).
Байт 1
00mmmmmm: Минута (0–59)
Байт 2
00ssssss: Второй (0–59)
Байт 3
000fffff: Кадр (0–29 или меньше при более низкой частоте кадров )

Полный рабочий день [ править ]

Когда происходит скачок временного кода, отправляется один постоянный код для синхронизации подключенного оборудования. Это принимает форму специального глобального системного эксклюзивного сообщения:

F0 7F 7F 01 01 hh mm ss ff F7

Идентификатор производителя 7Fуказывает на универсальное сообщение в реальном времени, канал 7Fуказывает, что это глобальное вещание. Следующий идентификатор 01идентифицирует это сообщение с типом временного кода, а второй 01указывает, что это сообщение с постоянным кодом. Далее следуют 4 байта временного кода. Хотя MIDI обычно является прямым порядком байтов, за ними следуют 4 байта временного кода в обратном порядке, за которыми следует F7«конец исключающего» байта.

После скачка часы останавливаются до тех пор, пока не будет получено первое следующее сообщение в четверть кадра.

Четвертьфреймовые сообщения [ править ]

Когда время идет непрерывно, 32-битный временной код разбивается на 8 4-битных частей, и одна часть передается каждую четверть кадра. Т.е. 96—120 раз в секунду, в зависимости от частоты кадров. Поскольку для сообщения полного временного кода требуется восемь четвертей кадров, полное время SMPTE обновляется каждые два кадра. Четвертькадровые сообщения состоят из байта состояния 0xF1, за которым следует одно 7-битное значение данных: 3 бита для идентификации фрагмента и 4 бита частичного временного кода. Когда время идет вперед, номера штук увеличиваются от 0 до 7; со временем, когда передается часть 0, является кодированным моментом, а оставшиеся части передаются позже.

Если поток данных MIDI перематывается, количество штук считается в обратном порядке. Опять же, кусок 0 передается в кодируемый момент.

Временной код делится с прямым порядком байтов следующим образом:

См. Также [ править ]

Внешние ссылки [ править ]