MIDI Machine Control - MIDI Machine Control
MIDI Machine Controlnebo MMC, podmnožina souboru MIDI Specifikace poskytuje specifické příkazy pro ovládání záznamového zařízení, jako jsou vícestopé rekordéry. Zprávy MMC lze odesílat pomocí standardního kabelu MIDI pro dálkové ovládání funkcí jako Play, Fast Forward, Rewind, Stop, Pause a Record. Tyto jsou "Systém exkluzivní "(SysEx) zprávy, konkrétně univerzální zprávy SysEx v reálném čase.
MIDI univerzální formát zprávy SysEx v reálném čase
MIDI zahrnuje zprávy System Exclusive, které jsou rozšířením formátu MIDI implementovaného výrobci MIDI. Některá rozšíření, „univerzální“, jsou sadou stejných funkcí, které mohou různí výrobci podrobně implementovat odlišně. Některé z nich jsou Non Reálný čas, bez spolehlivého načasování doručení. Jiné jsou v reálném čase, včetně MMC, takže jsou spolehlivější, když se očekávají. Zprávy SysEx začínají (hexadecimální ) F0 a končí F7. Univerzální zprávy SysEx v reálném čase začínají F0, poté 7F, poté obsahují další pole před ukončovací F7.
Následující ukazuje univerzální formát zprávy SysEx v reálném čase (všechna čísla šestnáctková):
F0 7F
[ [ ]] F7
kde ID zařízení
je:
ID zařízení MMC; hodnota 00-7F (7F = všechna zařízení); AKA „číslo kanálu“
a Sub-ID # 1:
je jedna z následujících hodnot. Tučné hodnoty souvisí s MIDI Machine Control:
01 = Dlouhá forma MTC |
02 = MIDI Show Control |
03 = Informace o notaci |
04 = Ovládání zařízení |
05 = CTC v reálném čase |
06 = MIDI Machine Control Command |
07 = MIDI Machine Control Response |
08 = Přeladění jedné poznámky |
Formát zprávy MMC
Zpráva MMC je buď příkaz MMC (Sub-ID # 1 = 06), nebo odpověď MMC (Sub-ID # 1 = 07). Jako zpráva SysEx je naformátovaná (všechna čísla šestnáctková):
F0 7F
<06 | 07> [ [ ]] F7
ID zařízení: ID zařízení MMC; hodnota 00-7F (7F = všechna zařízení); AKA „číslo kanálu“
Sub-ID # 1: 06 = příkaz Sub-ID # 2: 01 Zastavit 02 Přehrát 03 Odložené přehrávání (přehrát, když již není obsazeno) 04 Rychle vpřed 05 Převinout zpět 06 Nahrát strobo (AKA [[Punch in / out | Punch In]] ) 07 Record Exit (AKA [[Punch out (music) | Punch out]]) 08 Record Pause 09 Pause (pause playback) 0A Eject (disengage media container from MMC device) 0B Chase 0D MMC Reset (to default / startup state) 40 Parametry zápisu (AKA Record Ready, AKA Arm Tracks):4F 44 Přejít (AKA Locate) parametry: = 06 01 47 Shuttle parameters: = 03 (MIDI Standard Speed codes)
Sub-ID # 1: 07 = odpověď Sub-ID # 2: parametry stavu odpovědi: hodnoty s podrobným popisem stavu odpovědi
Příkazy MMC
Příkazy MMC jsou buď zprávy přenosu MMC obsahující jednu byte představující příkaz nebo jiné typy obsahující bajt příkazu následovaný bajty parametrů. Některé parametry jsou délky sbírek bajtů ve zprávě, některé parametry jsou konstanty spojené s příkazem, jiné parametry jsou hodnoty proměnných dat specifikující provedení příkazu.
Záznam připraven
Zpráva Record Ready (Arm Tracks) zaznamená stopy umožňující záznam. Je formátován (všechna čísla šestnáctkově):
F0 7F06 40 4 F F7
length1: počet bytů mezi length1 a F7length2: počet bytů ve stopě bitmaptrack-bitmap: Každá stopa je v bitmapě stopy přiřazena bit.
Chcete-li nastavit stopu, musíte znát jak bajt, ve kterém bit stopy žije, tak i bit odpovídající této stopě. Všimněte si, že každý bajt může obsahovat pouze 7 stop.
Track 1: byte 1 + 0x20 Track 2: byte 1 + 0x40 Track 3: byte 2 + 0x01 Track 4: byte 2 + 0x02 Track 5: byte 2 + 0x04 Track 6: byte 2 + 0x08 Track 7: byte 2 + 0x10 Track 8: byte 2 + 0x20 Track 9 : byte 2 + 0x40 Track 10: byte 3 + 0x01 a tak dále.
Přejít / vyhledat
Zpráva Přejít (AKA Locate) nasměruje záznam nebo přehrávání na SMPTE čas (konkrétní hodinu, minutu, sekundu, číslo rámce SMPTE a kód podrámce). Je naformátován (všechna čísla šestnáctkově):
F0 7F06 44 = 06 01
F7
Sub-ID # 2 = 44: LOCATE délka příkazu: 06 Počet datových bajtů (vždy šest bajtů) dílčí příkaz: 01 TARGEThr: hodiny a typ (jako u MTC Fullframe); hodnoty 0-17 (= 0-23 desetinně) mn: minuty; hodnoty 0-3B (= 0-59 desetinných míst) sc: sekundy; hodnoty 0-3B (= 0-59 desetinných míst) fr: frames; hodnoty 0-1D (= 0-29 desetinných) ff: dílčí rámce / zlomkové rámce (ponechte nulu, pokud si nejste jisti); hodnoty 0-63 (= 0-99 desetinných míst)
(Někteří výrobci kódují hodnotu podrámce odlišně při různých snímkových frekvencích, aby označili podrámeček 0)
Kyvadlová doprava
Přesměrování vpřed i vzad sdílí stejnou zprávu MMC; směr je zakódován jako hodnota znaménka. Je naformátován (všechna čísla šestnáctkově):
F0 7F06 47 F7 Poznámka: sh, sm a sl jsou definovány jako standardní rychlost v MIDI 1.0 Doporučená praxe RP-013.sh = nominální celočíselná část rychlosti hodnota: 0 g sss ppp g = znaménko (1 = zpět) sss = posun levého počtu (viz níže) ppp = nejvýznamnější bity celého čísla násobek rychlosti přehrávání sm = MSB nominální zlomkové části hodnoty rychlosti: 0 qqqqqqqsl = LSB of nominální zlomková část hodnoty rychlosti: 0 rrrrrrrRychlostní hodnoty za směnu počet vlevo: BINÁRNÍ ZASTUPOVÁNÍ POUŽITELNÉ ROZSAHY (DECIMÁLNÍ) Celé číslo vícenásobná zlomková část Celé číslo Částečné rychlosti přehrávání rychlosti rozsahu rychlosti rozlišení 000 ppp - qqqqqqqrrrrrrr 0-7 1/16384001 pppq - 15 1/8192010 pppqq - qqqqqrrrrrrr 0-31 1/4096011 pppqqq - qqqqrrrrrrr 0-63 1/2048100 pppqqqq - qqqrrrrrrr 0-127 1/1024101 pppqqqqrqqrrrrrr25 - rrrrrrr 0-1023 1/128