MIDI Machine Control
Encyclopedia
MIDI Machine Control, or MMC, a subset of the MIDI specification, provides specific commands for controlling recording equipment such as multi-track recorders.

MMC messages can be sent along a standard MIDI cable for remote control of such functions as Play, Fast Forward, Rewind, Stop, Pause, and Record. These are "System Exclusive" (SysEx) messages.

MIDI Universal Real Time SysEx Commands

All numbers are in hexadecimal notation. SysEx message format:

F0, 7F, nn, sub-ID, data, F7

nn = channel number, 00 to 7F; 7F = global
sub-IDs:
01 = Long Form MTC
02 = MIDI Show Control
03 = Notation Information
04 = Device Control
05 = Real Time MTC Cueing
06 = MIDI Machine Control Command
07 = MIDI Machine Control Response
08 = Single Note Retune

MMC messages

An MMC message (that is sent to, or generated by, an MMC device) is:

F0 7F deviceID 06 command F7

The third byte is the Device ID.
The fifth byte is the command:
01 Stop
02 Play
03 Deferred Play
04 Fast Forward
05 Rewind
06 Record Strobe (Punch In)
07 Record Exit (Punch out)
08 Record Ready (Record Pause)
09 Pause
0A Eject
0B Chase
0D MMC Reset
40 Write
44 Locate/Go to
47 Shuttle

The Goto MMC message

The Goto message cues recording or playback to an SMPTE time (a specific hour, minute, second, SMPTE frame number, and subframe number):

F0 7F deviceID 06 44 06 01 hr mn sc fr ff F7

Where, following the device ID and "MIDI Machine Control Command" (0x06) bytes:
  • 0x44 specifies the LOCATE command
  • 0x06 specifies the data byte count
  • 0x01 specifies the "TARGET" sub-command


And:
  • hr is hours - from 0 to 23 (decimal)
  • mn is minutes - from 0 to 59 (decimal)
  • sc is seconds - from 0 to 59 (decimal)
  • fr is frames - from 0 to 29 (decimal)
  • ff is sub-frames / fractional frames (leave at zero if un-sure) - from 0 to 99 (decimal)

The Shuttle MMC message

Both forward and backward shuttling share the following MMC message:

F0 7F deviceID 06 47 03 sh sm sl F7

Note: sh, sm and sl are defined as Standard Speed in the MIDI 1.0
Recommended Practice RP-013
.

The Record Ready MMC message

The Record Ready (Arm Tracks) message will record-enable tracks:

F0 7F deviceID 06 40 L1 4F L2 track bitmap F7

L1 equals the number of bytes between L1 and F7.
L2 equals the number of bytes in the track bitmap.
Each track is assigned a bit in the track bitmap. To set a track, you must know both the byte in which the track's bit lives, and also the bit corresponding to that track. Note that each byte can only hold 7 tracks.

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
and so on.

Identity Request

Query an MMC device to find out its identity. Identity Request message (note that this is equal to a 'stop' message):

F0 7E channel 06 01 F7

The reply is device/manufacturer specific. For example, a tape recorder will return the following System Exclusive message:

F0, 7E, channel, 06 02 ID fc1 fc2 fn1 fn2 v1 v2 v3 v4 F7

parameters:

ID - Device's ID
fc1 fc2 - Device's family code
fn1 fn2 - Device's family number
v1 v2 v3 v4 - Software Version

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK