Guide · MIDI

MIDI show control: timecode, program changes and triggers

Program changes at the right bar, timecode for the lighting desk, a foot controller that runs the set, MIDI routed where it needs to go. All of it in sync with the audio, the video and the lights.

MIDI is the glue of most live rigs. The keyboard needs its patch for the next song, the guitar modeller its preset for the solo, the lighting desk a cue on the drop, the DAW in front of house the song position. Rocket Show sends and receives all of that as part of the show, so the MIDI happens at the same moment as the audio, video and DMX on the same timeline.

In short: MIDI goes out from MIDI files and timed actions inside each song, and as MIDI timecode. MIDI comes in from controllers and starts, stops and selects songs. Everything in between can be routed: to the MIDI output, to the DMX lighting or to other Rocket Show units.

MIDI out, in sync with the song

The most direct way to send MIDI is a MIDI file in a composition (a song or cue). It plays from the composition's start alongside the audio, so a program change placed on bar 17 in your DAW arrives on bar 17 every night. Export the MIDI track from the same DAW session as the backing tracks and it lines up by itself.

Each MIDI file has one or more outputs:

MIDI device out
The MIDI output chosen in the settings: synths, keyboards, guitar modellers, a lighting console.
Lighting
Turns the notes into DMX, see below.
Remote devices
Other Rocket Show units on the network.

Every output can add a channel offset and a note offset to what passes through, which saves re-exporting a file because the keyboard listens on another channel.

A MIDI file with two outputs: the lighting and a remote device
One MIDI file, two outputs: the lighting and a second unit backstage.

Single messages at a set moment

For a single program change at the top of a song you do not need a file. A MIDI action sends one message at a position you enter in milliseconds: note on or off, aftertouch, control change, program change, channel pressure or pitch bend, on any channel. Actions of other kinds can fire at the same moment, so one position can send a program change, switch a DMX channel and call an HTTP address at once.

MIDI timecode out

When the DAW at front of house, the lighting console or a video server has to follow the show, switch on MIDI timecode under Settings → MIDI. While a composition plays, Rocket Show sends MTC at 24, 25, 29.97 drop-frame or 30 frames per second, and anything that chases MTC follows its position. A global play offset shifts the MIDI files by a number of milliseconds against the audio, to make up for a slow receiver; the timecode always follows the actual position.

The MIDI settings: input, output, timecode and routing
Settings → MIDI: a foot controller in, a keyboard out, MIDI timecode at 25 fps.

MIDI in: run the show from a controller

Incoming MIDI can drive the show. A MIDI control listens for a note on or a program change on an input channel and fires a list of actions:

So a foot controller can send program change 2 to move to the next song, and the kick pad of an e-drum kit can start it. A keyboard player can fire a sample from a spare key. Anything that sends a note or a program change works.

Two MIDI controls: a program change for the next song, a note for play and pause
A program change selects the next song; note C1 on channel 10, the kick pad, starts and pauses.

A MIDI router in the box

MIDI that arrives at the input does not have to stop at the controls. MIDI device routing forwards it to the MIDI output, to the lighting or to remote devices, so a single controller can play a synth through Rocket Show while also triggering cues. Remote MIDI routing decides where MIDI coming from other Rocket Show units goes, and a global MIDI transformation shifts the channel and note of everything that comes in.

MIDI to DMX

Routed to Lighting, MIDI becomes DMX on one of your universes: the note number is the DMX channel and the velocity, doubled, is its value, so velocity 127 is full. That lets you program simple light changes as notes in the DAW, next to the backing tracks, and play them back from Rocket Show. For a real light show with fixtures, colours and movement, the lighting designer is the better tool; see also DMX on a Raspberry Pi.

Connections

Every setting mentioned here is described in the MIDI section of the documentation.

Questions

Does Rocket Show support the MIDI Show Control (MSC) protocol?
No. MSC is a specific set of system exclusive commands used by some theatre consoles, and Rocket Show neither sends nor interprets it. It sends notes, program changes, control changes and the other channel messages, from MIDI files and actions, and MIDI timecode. Incoming, it reacts to note on and program change.
Can Rocket Show follow incoming timecode?
No. Rocket Show is the timing master: it sends MIDI timecode for other devices to follow, and starts its own cues from MIDI notes, program changes, buttons, schedules or HTTP requests.
Does it work with USB MIDI devices?
Yes. USB MIDI keyboards, foot controllers and interfaces appear by name under Settings → MIDI. SPARK also has 5-pin DIN MIDI In and Out on board, so a classic MIDI cable needs no interface at all.
Can I send MIDI to another Rocket Show unit?
Yes. MIDI files, incoming MIDI and MIDI controls can be routed to remote devices over the network, and each unit decides where MIDI arriving from the others goes.

Put MIDI on the same timeline

SPARK has MIDI In and Out on board, next to audio, video and DMX. Or start free on a Raspberry Pi.