Skip to content

midi

2 posts with the tag “midi”

Using Gigmeister with MainStage and Gig Performer

If you play keys or guitar in a live band, there is a good chance you use Apple MainStage or Gig Performer to host your virtual instruments and effects. Both are excellent at what they do: load plugins, switch patches, and process audio in real time with rock-solid stability.

But they are built for one player at a time. And if you have ever tried to coordinate patch changes across a full band — keyboards, guitar rig, drum triggers, maybe a lighting desk — you know that each player managing their own host independently leads to problems. Missed cues, wrong patches, awkward gaps between songs.

Gigmeister is not a replacement for MainStage or Gig Performer. It is the layer that sits above them and runs the show.

Both apps are patch hosts. They load your virtual instruments (piano, organ, synth pads, guitar amp sims) and let you switch between configurations using MIDI program changes. Their strengths:

  • Low-latency audio processing with optimized plugin hosting
  • Complex signal routing (splits, layers, effects chains)
  • Per-patch settings for volume, EQ, effects parameters
  • Setlist organization of patches in performance order

MainStage is built into the Apple ecosystem and works seamlessly with Logic Pro sounds. Gig Performer is cross-platform, supports both VST and AU, and has a visual wiring view that makes complex routing intuitive. Both are purpose-built for stage use and both are great at their job.

The problem is not the host. The problem is everything around it.

Each player is an island. Your keyboard player has their MainStage setlist. Your guitarist has their Helix presets. Your drummer has SPD-SX kits. None of these systems talk to each other. When the band decides to swap songs 4 and 7 in tonight’s setlist, every player has to manually reorder their own rig.

No shared context. The singer is on verse 2, but the keyboard player loaded the wrong patch because they thought the band was on the bridge. There is no single source of truth for “where are we in the show right now.”

Patch switching is per-device. Even within MainStage or Gig Performer, switching patches means the player has to tap a button, click a mouse, or step on a pedal assigned to that specific host. Multiply that by every device on stage and you have a lot of manual actions per song.

No visibility for the rest of the team. Your sound engineer cannot see your MainStage setlist. Your lighting operator does not know what song is next. The band leader has no way to push a setlist change to everyone at once.

Gigmeister acts as the band-level conductor. It manages the setlist, the song metadata, and the MIDI messages that tell every device on stage — including MainStage and Gig Performer — what to do.

Build your setlist once in Gigmeister. Assign MIDI program changes to each song for every device in the band. When you advance to the next song, Gigmeister sends program changes to all devices simultaneously:

  • Your keyboard player’s MainStage receives PC 23 on channel 1 and loads the Rhodes patch
  • Your guitarist’s Helix receives PC 4 on channel 3 and loads the clean rig
  • Your drummer’s SPD-SX receives PC 12 on channel 10 and loads the right kit

One action. Every device switches. No one has to touch their individual host.

Songs are not one patch from start to finish. You might need a piano for the verse, a synth pad for the chorus, and a lead sound for the solo. Gigmeister’s step-based navigation handles this.

Define steps for each song (intro, verse, chorus, bridge, solo) and assign different MIDI program changes to each step. When you advance to the chorus, MainStage or Gig Performer receives the right program change and loads the chorus patch. Your guitarist’s rig switches at the same time.

This is something neither MainStage nor Gig Performer does well on its own. They can switch patches, but they do not know what section of the song you are in. Gigmeister provides that structure.

Gigmeister sends MIDI clock at 24 pulses per quarter note, locked to the song’s tempo. MainStage and Gig Performer can slave their tempo-synced effects to this clock:

  • Delays that are perfectly in time with the band
  • Arpeggiators that follow the song tempo
  • Tremolo and modulation effects that pulse on the beat

You can even set per-step tempo changes. If the bridge slows down to half time, Gigmeister adjusts the clock and your host’s synced effects follow automatically.

Upload MIDI files to Gigmeister and trigger them on song or step start. These clips play back through your host’s loaded instruments:

  • Trigger a synth sequence loaded in MainStage
  • Fire a one-shot sample via Gig Performer
  • Auto-loop a MIDI pattern for the duration of a section

Clips are tempo-scaled to match the current song BPM, so they stay in sync even if you adjust the tempo.

Getting MainStage or Gig Performer working with Gigmeister takes about 15 minutes.

Connect your Gigmeister device (iPad, iPhone, laptop, or desktop app) to your host computer via USB-MIDI, a MIDI interface, or a virtual MIDI bus if both apps run on the same machine.

In MainStage: Go to Layout mode. Set your Concert to respond to MIDI program changes on your chosen channel. Each patch in your Concert already has a program change number — just make sure the numbers match what you configure in Gigmeister.

In Gig Performer: Open the MIDI settings for your rackspace. Enable “MIDI Program Change” listening on the appropriate channel. Gig Performer maps rackspaces to program change numbers, so rackspace 1 responds to PC 0, rackspace 2 responds to PC 1, and so on.

Open any song in your Gigmeister library. Go to the MIDI tab. Add your MainStage or Gig Performer instance as a device (generic MIDI device works — just set the channel). Pick the program change number that corresponds to the right patch in your host.

Do this for each song. If you use step-based navigation, assign per-step programs too.

Drag your songs into a setlist. Hit play. When you advance songs — by swiping, tapping, or using a foot pedal — Gigmeister sends the program changes and your host loads the right patch.

Think of it this way:

ResponsibilityMainStage / Gig PerformerGigmeister
Host virtual instrumentsYesNo
Process audio in real timeYesNo
Complex signal routingYesNo
Manage the band’s setlistNoYes
Switch patches across all devices at onceNoYes
Per-section MIDI automationLimitedYes
Share setlist with the whole bandNoYes
Share setlist with sound engineerNoYes
Chord sheets and lyrics on stageNoYes
MIDI clock sync to band tempoNoYes
Work offline at the venueStandaloneYes (offline-first)

MainStage and Gig Performer manage your sounds. Gigmeister manages your show. Together, they cover the full workflow from soundcheck to encore.

Match your program change numbers. The most common issue is a mismatch between what Gigmeister sends and what your host expects. MainStage and Gig Performer both number from 0, but some documentation shows 1-based numbering. Test every song before the gig.

Use dedicated MIDI channels. Put MainStage on channel 1, Gig Performer (if another player uses it) on channel 2, and hardware devices on higher channels. This prevents crosstalk.

Send changes during transitions. Some patches take a moment to load, especially if they use large sample libraries. Advancing to the next song a beat early, during applause, or during stage banter gives the host time to load without audible gaps.

Keep your host’s own setlist as a backup. If the MIDI connection fails mid-gig, you want to be able to manually step through patches in MainStage or Gig Performer. Set up their internal setlists to mirror your Gigmeister setlist as a fallback.

If you already use MainStage or Gig Performer, Gigmeister plugs right into your workflow. Your host keeps doing what it does best — hosting plugins and processing audio. Gigmeister adds the band-level coordination that a single-player host cannot provide.

Create a free account on Gigmeister and connect your first device. Check the MIDI documentation for detailed setup instructions.

How to Use MIDI Program Changes in a Live Band

If you play keyboards, guitar effects, or any MIDI-capable instrument in a live band, you have dealt with the scramble of switching patches between songs. You are mid-set, the last chord of “Take Me to the River” is still ringing out, and you need to get from your Rhodes patch to a synth pad before the intro of the next tune. Fumbling through menus on stage is not a good look.

MIDI program changes solve this. Here is how they work and how to set them up for a seamless live show.

A MIDI Program Change (PC) message tells a device to switch to a specific preset. It is a single byte value from 0 to 127, giving you access to 128 programs on any given MIDI channel.

When you send PC 42 on channel 1 to your keyboard, it loads program 42. Simple enough. But most modern instruments have far more than 128 presets, which is where bank selection comes in.

The MIDI specification added Bank Select messages to extend beyond the 128-program limit. Bank selection uses two Control Change (CC) messages sent before the Program Change:

  • Bank Select MSB (CC 0): The “coarse” bank selector. Values 0-127.
  • Bank Select LSB (CC 32): The “fine” bank selector. Values 0-127.

Together, MSB and LSB can address up to 16,384 banks, each containing 128 programs. That is over two million possible patches — more than enough for any device.

The message sequence always goes in this order:

  1. CC 0 (Bank MSB) — select the bank group
  2. CC 32 (Bank LSB) — select the specific bank
  3. Program Change — select the patch within that bank

Some devices only use MSB, some use both MSB and LSB, and some ignore bank select entirely. Check your device’s MIDI implementation chart to know which messages it expects.

MIDI supports 16 channels per connection. Each musician’s gear typically lives on its own channel. A common setup:

  • Channel 1: Main keyboard (piano, Rhodes, organ)
  • Channel 2: Synth (pads, leads)
  • Channel 3: Guitar multi-effects processor
  • Channel 4: Backing track trigger

This isolation means one program change message will not accidentally switch patches on another player’s gear.

On a typical gig night, you might play 20 to 30 songs. If you have two MIDI devices, that is 40 to 60 patch changes. Do any of these manually and you will eventually:

  • Load the wrong patch
  • Miss the intro of a song while scrolling through presets
  • Forget which program number goes with which song

The answer is automation. Store the correct program change for each song, and let software send the messages as you advance through the setlist.

The basic workflow for automating MIDI program changes on stage:

Before you touch any automation, make a list. For every song in your repertoire, write down which patch you need on each device. Be specific: device name, bank number, program number, and the patch name for reference.

Connect your devices via USB-MIDI or 5-pin DIN cables to your tablet, phone, or laptop. Make sure each device is assigned to a unique MIDI channel.

In your setlist software, assign the correct bank and program number to each song for each device. When you advance to the next song in your setlist, the software sends the program changes automatically.

Run through your entire setlist at home or in rehearsal. Verify every patch loads correctly. MIDI numbering is notoriously inconsistent — some manufacturers number programs starting from 0, others from 1. A program listed as “001” on your keyboard might be MIDI program change 0.

Every manufacturer handles MIDI slightly differently:

  • Nord keyboards use a lettered bank system (A:11, B:23) that maps to specific MSB/LSB combinations
  • Line 6 Helix expects Bank MSB for setlist number and PC for preset within that setlist
  • Kemper Profiler uses CC 0 for performance slot and PC for rig within it
  • Boss GT-1000 uses Bank MSB/LSB pairs that map to user and preset banks

This is where pre-configured device profiles save you hours of reading MIDI implementation charts. Gigmeister supports 49+ devices out of the box with correct bank/program mappings already set up.

The most practical setup is one where each song in your library has MIDI programs saved for each device. When you build a setlist and start performing, advancing to the next song triggers all the right patch changes at once.

In Gigmeister, you configure this in the MIDI tab of each song. Select your device, pick the program by name (no need to memorize numbers), and you are done. During performance, swiping to the next song or pressing a foot pedal sends all program changes simultaneously.

Hands-free navigation is critical for performers. Map a MIDI CC message from a foot pedal to advance songs in your setlist. This way, your hands stay on the instrument and your patches change automatically as you step through songs. Learn more about MIDI foot pedal controls.

Use short cables. Long MIDI cable runs introduce latency and data errors. Keep cables under 15 feet when possible, or use USB-MIDI for direct connections.

Send program changes early. Some devices take 100-500ms to load a patch. Advancing to the next song a beat early, or using software that sends changes during the transition, prevents audible gaps.

Have a backup plan. If your MIDI rig fails mid-gig, know how to manually select your most critical patches. Write the top five on a piece of tape stuck to your keyboard.

Test with your full rig. MIDI issues that do not appear with a single device can surface when you add a second or third device. Test everything connected together.

If you want to stop fumbling with patches on stage, set up MIDI automation in Gigmeister. Add your devices, assign programs to songs, build your setlist, and let the software handle the rest. Read the full MIDI documentation for setup details and supported devices.