Código de tiempo MIDI
A diferencia del código de tiempo SMPTE estándar, los mensajes de fotograma completo y cuarto de fotograma del código de tiempo MIDI llevan un valor de indicador de dos bits que identifica la velocidad del código de tiempo, especificándolo como:
- 24 frame/s (tipo estándar para el trabajo cinematográfico)
- 25 frame/s (valor estándar para video PAL)
- 29.97 frame/s (drop-frame timecode for NTSC video)
- 30 frame/s (código de tiempo sin goteo para video NTSC)
MTC distingue entre la velocidad de la película y la velocidad del video solo por la velocidad a la que avanza el código de tiempo, no por la información contenida en los mensajes del código de tiempo; por lo tanto, el dropframe de 29,97 fotogramas/s se representa como dropframe de 30 fotogramas/s con un pulldown del 0,1 %.
MTC permite la sincronización de un secuenciador o DAW con otros dispositivos que pueden sincronizarse con MTC o para que estos dispositivos sean 'esclavos' a una máquina de cinta que está rayada con SMPTE. Para que esto suceda, es necesario emplear un convertidor de SMPTE a MTC. Es posible que una máquina de cintas se sincronice con una señal MTC (si se convierte a SMPTE), si la máquina de cintas es capaz de 'esclavizar' al código de tiempo entrante a través del control del motor, que es una característica poco común.
Formato de código de tiempo
El código de tiempo MIDI tiene una longitud de 32 bits, de los cuales se utilizan 24, mientras que 8 bits no se utilizan y siempre son cero. Debido a que los mensajes de código de tiempo completo requieren que los bits más significativos de cada byte sean cero (bytes de datos MIDI válidos), en realidad solo hay 28 bits disponibles y 4 bits de repuesto.
Como la mayoría de los códigos de tiempo audiovisuales, como el código de tiempo SMPTE, codifica solo la hora del día y se repite cada 24 horas. El tiempo se da en unidades de horas, minutos, segundos y fotogramas. Puede haber 24, 25 o 30 fotogramas por segundo.
A diferencia de la mayoría de los otros códigos de tiempo, los componentes están codificados en binario directo, no en decimal codificado en binario.
A cada componente se le asigna un byte:
- Byte 0
0rrhhhhh
: Tasa (0–3) y hora (0–23).rr = 00
: 24 marcos/srr = 01
: 25 marcos/srr = 10
: 29.97 marcos/s (SMPTE drop-frame timecode)rr = 11
: 30 marcos/s
- Byte 1
00mmmmmm
: Minuto (0-59)- Byte 2
00ssssss
: Segundo (0-59)- Byte 3
000fffff
: Marco (0–29, o menos a tasas de marcos inferiores)
Código de tiempo completo
Cuando hay un salto en el código de tiempo, se envía un solo código de tiempo completo para sincronizar el equipo conectado. Esto toma la forma de un mensaje especial exclusivo del sistema global:
F0 7F 7F 01 01 hh mm ss ff F7
La identificación del fabricante de 7F
indica un mensaje universal en tiempo real, el canal de 7F
indica que es una transmisión global. El siguiente ID de 01
identifica que este es un mensaje de tipo de código de tiempo, y el segundo 01
indica que es un mensaje de código de tiempo completo. Siguen los 4 bytes del código de tiempo. Aunque MIDI es generalmente little-endian, los 4 bytes del código de tiempo siguen en orden big-endian, seguidos de un F7
"fin de exclusivo" byte.
Después de un salto, el reloj de tiempo se detiene hasta que se recibe el primer mensaje de un cuarto de fotograma siguiente.
Mensajes de cuarto de fotograma
Cuando el tiempo transcurre continuamente, el código de tiempo de 32 bits se divide en 8 partes de 4 bits y se transmite una parte cada cuarto de fotograma. Es decir. 96—120 veces por segundo, dependiendo de la velocidad de cuadro. Dado que se necesitan ocho cuartos de fotogramas para un mensaje de código de tiempo completo, el tiempo SMPTE completo se actualiza cada dos fotogramas. Un mensaje de un cuarto de cuadro consta de un byte de estado de 0xF1, seguido de un único valor de datos de 7 bits: 3 bits para identificar la pieza y 4 bits de código de tiempo parcial. Cuando el tiempo avanza, los números de pieza aumentan de 0 a 7; con el tiempo que se transmite la pieza 0 es el instante codificado, y el resto de piezas se transmiten más tarde.
Si el flujo de datos MIDI se está rebobinando, los números de pieza cuentan hacia atrás. Nuevamente, la pieza 0 se transmite en el momento codificado.
El código de tiempo se divide en little-endian de la siguiente manera:
Pieza | Datos byte | Significado |
---|---|---|
0 | 0000 ffff | Frame number lsbits |
1 | 0001 000f | Frame number msbit |
2 | 0010 ssss | Segundo lsbits |
3 | 0011 00ss | Segundo msbits |
4 | 0100 mmmm | Minute lsbits |
5 | 0101 00mm | Minute msbits |
6 | 0110 hhhh | Hora lsbits |
7 | 0111 0rrh | Tasa y msbit hora |
Contenido relacionado
Nadar
X10 (estándar de la industria)
Doctor Edgerton