MIDI časový kód - MIDI timecode

Časový kód MIDI ( MTC ) obsahuje stejné časovací informace jako standardní časový kód SMPTE jako řada malých „ MIDI zpráv “ se čtvrtým rámcem . Ve standardních zprávách s časovým kódem MIDI není žádné ustanovení pro uživatelské bity a místo toho se k přenosu těchto informací používají zprávy SysEx . Zprávy se čtvrtým rámcem jsou přenášeny v posloupnosti osmi zpráv, takže každé dva rámce je zadána úplná hodnota časového kódu. Pokud MIDI datový tok běží téměř na maximum, mohou MTC data dorazit trochu pozadu, což má za následek zavedení malého množství chvění. Aby se tomu zabránilo, je ideální použít pro data MTC zcela samostatný MIDI port. Větší zprávy s plným rámcem, které zapouzdřují časový kód v rámci jedné zprávy, se používají k vyhledání času, zatímco časový kód není spuštěn.

Na rozdíl od standardního časového kódu SMPTE nesou zprávy MIDI timecode se čtvrtým rámcem a celorámcem dvoubitovou hodnotu příznaku, která identifikuje rychlost časového kódu, a to buď jako:

  • 24 snímků / s (standardní rychlost pro filmovou práci )
  • 25 snímků / s (standardní rychlost pro video PAL )
  • 29,97 snímku / s (časový kód drop-frame pro video NTSC )
  • 30 snímků / s (bez časového kódu pro video NTSC)

MTC rozlišuje mezi rychlostí filmu a rychlostí videa pouze rychlostí, s jakou postupuje časový kód, nikoli informacemi obsaženými ve zprávách časového kódu; tedy 29,97 snímků / s dropframe je reprezentován jako 30 snímků / s dropframe při 0,1% rozbalovací nabídce.

MTC umožňuje synchronizaci sekvenceru nebo DAW s jinými zařízeními, která se mohou synchronizovat s MTC, nebo aby tato zařízení byla „podřízená“ páskovému stroji, který je prokládán SMPTE. K tomu je třeba použít převodník SMPTE na MTC. Je možné, aby se páskový stroj synchronizoval se signálem MTC (pokud je převeden na SMPTE), pokud je páskový stroj schopen „podřízený“ příchozímu časovému kódu pomocí řízení motoru, což je vzácná vlastnost.

Formát časového kódu

Časový kód MIDI je dlouhý 32 bitů, z toho 24 se používá, zatímco 8 bitů je nevyužitých a vždy nulových. Protože zprávy kódu na plný úvazek vyžadují, aby nejvýznamnější bity každého bajtu byly nulové (platné bajty dat MIDI), je ve skutečnosti k dispozici pouze 28 bitů a 4 náhradní bity.

Stejně jako většina audiovizuálních časových kódů, jako je časový kód SMPTE , kóduje pouze denní čas a opakuje se každých 24 hodin. Čas je uveden v jednotkách hodin, minut, sekund a rámců . Může existovat 24, 25 nebo 30 snímků za sekundu.

Na rozdíl od většiny ostatních časových kódů jsou komponenty kódovány v přímém binárním formátu, nikoli v binárním kódu v desítkové soustavě .

Každému komponentu je přiřazen jeden bajt:

Bajt 0
0rrhhhhh: Rychlost (0–3) a hodina (0–23).
  • rr = 00: 24 snímků / s
  • rr = 01: 25 snímků / s
  • rr = 10: 29,97 snímků / s ( časový kód SMPTE drop-frame )
  • rr = 11: 30 snímků / s
Bajt 1
00mmmmmm: Minuta (0–59)
Bajt 2
00ssssss: Druhý (0–59)
Bajt 3
000fffff: Snímek (0–29 nebo méně při nižší snímkové frekvenci )

Kód na plný úvazek

Pokud dojde k skoku v časovém kódu, odešle se jediný kód na plný úvazek k synchronizaci připojeného zařízení. To má podobu speciální zprávy exkluzivní pro globální systém:

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

ID výrobce 7Foznačuje univerzální zprávu v reálném čase, kanál 7Foznačuje, že se jedná o globální vysílání. Následující ID 01identifikuje, že se jedná o zprávu typu časového kódu, a druhá 01označuje, že se jedná o zprávu kódu na plný úvazek. Následují 4 bajty časového kódu. Přestože je MIDI obecně malý endian, následují 4 bajty časového kódu v pořadí big-endian, za kterým následuje F7bajt „konce exkluzivního“.

Po skoku se čas zastaví, dokud není přijata první následující čtvrtfázová zpráva.

Čtvrtletní zprávy

Když čas běží nepřetržitě, je 32bitový časový kód rozdělen na 8 4bitových částí a každý čtvrtinový snímek je přenášen jednou částí. Tj. 96–120krát za sekundu, v závislosti na snímkové frekvenci. Vzhledem k tomu, že úplné zprávě s časovým kódem trvá osm čtvrtin rámců, je kompletní čas SMPTE aktualizován každé dva rámce. Zprávy se čtvrtým rámcem se skládají ze stavového bajtu 0xF1, následovaného jedinou 7bitovou datovou hodnotou: 3 bity k identifikaci části a 4 bity částečného časového kódu. Když čas běží vpřed, čísla kusů se zvyšují od 0–7; s časem, kdy je přenášena část 0, je kódovaný okamžik a zbývající části jsou přenášeny později.

Pokud se MIDI datový proud převíjí, počítají se čísla kusů zpět. Kus 0 se opět vysílá v kódovaném okamžiku.

Časový kód je rozdělen na malý endian takto:

Kousky MIDI časového kódu
Kus # Datový bajt Význam
0 0000 ffff Počet snímků lsbits
1 0001 000f Číslo snímku msbit
2 0010 ssss Druhý lsbits
3 0011 00ss Druhé msbity
4 0100 mmmm Minuty lsbits
5 0101 00mm Minuty msbitů
6 0110 hhhh Hodina lsbits
7 0111 0rrh Rychlost a hodinový bit

Viz také

externí odkazy