В этой статье не процитировать какие - либо источники . ( май 2012 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Временной код 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).rr = 00
: 24 кадра / сrr = 01
: 25 кадров / сrr = 10
: 29,97 кадров / с ( временной код с пропущенным кадром SMPTE )rr = 11
: 30 кадров / с
- Байт 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 передается в кодируемый момент.
Временной код делится с прямым порядком байтов следующим образом:
Кусок # | Байт данных | Значимость |
---|---|---|
0 | 0000 ffff | Количество кадров, лсбит |
1 | 0001 000f | Номер кадра msbit |
2 | 0010 ssss | Второй лсбит |
3 | 0011 00ss | Второй мбит |
4 | 0100 mmmm | Минутные биты |
5 | 0101 00mm | Минутные биты |
6 | 0110 hhhh | Час лсбит |
7 | 0111 0rrh | Скорость и час msbit |
См. Также [ править ]
- Встроенный тайм-код AES-EBU
- Встроенный тайм-код
- CTL тайм-код
- DIN синхронизация
- Линейный тайм-код
- MIDI бит часы
- Перезаписываемый пользовательский тайм-код
- Временной код вертикального интервала