I have two midi controllers and I would like to record two software instruments (e.g. piano and drums) at the same time. When I record the two tracks, a midi signal triggers both instruments at the same time (e.g. base drum and a note on the piano).

Is there a way to assign a midi controller to a single software instrument in GarageBand (v10 on MacOSX)?


  • Get them to send on different channels.
    – Tetsujin
    Mar 28, 2020 at 15:15
  • Hey Tetsujin. Are you sure this will work in GarageBand? It seems like this is probably easy in Logic, but after 5 mins I haven’t found a way to do this in GarageBand. Mar 28, 2020 at 15:26
  • I don't think this will be possible. See this thread: discussions.apple.com/thread/4103616 The important bit being, "...GB listens to all channels all the time". Mar 28, 2020 at 15:31
  • 1
    Wow! That's a bit pants. I'd have assumed that would be pretty standard fare for a DAW.
    – Tetsujin
    Mar 28, 2020 at 15:40
  • I wonder whether you could do something with the IAC Driver. I can't even poke at it to test right now as I've go no MIDI gear connected to this machine at all, but I wonder if someone with a working setup & multiple MIDI ins could have a look...
    – Tetsujin
    Mar 28, 2020 at 15:44

1 Answer 1


Something like this is easy (ish!) to set up in Logic, GarageBand's older sibling, as you can assign different tracks to "listen" to different MIDI channels. As Tetsujin suggests, this would mean you simply have to get each MIDI controller to send on a different channel. However, it's unlikely you'll be able to do this in GarageBand, as you can't set different MIDI channels for either input or output for individual tracks in GarageBand. This thread explains that:

GB listens to all channels all the time

EDIT: My answer above explains why you can't record to two different MIDI tracks in GarageBand. Here is a Heath-Robinson-esque solution, which doesn't involve changing MIDI channels. It's the quickest work-around I can think of, maybe somebody will come up with something quicker (Code Golf anyone?!)

If all of the MIDI notes in your piano part are in a different register to your drum part:

  1. Record both parts in at the same time onto the same MIDI track.
  2. Open this MIDI region in the Piano Roll window.
  3. Select all the notes from the piano or drum part only. Cut them (cmd-X). In the image below I played into the drum track then selected my piano notes:

enter image description here

  1. Right click and Create Empty MIDI Region on the other track. Paste copied notes in.

enter image description here

NB: it's really important that you paste your notes into the right position on the new track. Quantising will help.

If your drum part and piano part have registers that overlap:

  1. Set your piano MIDI controller to transpose up one or two (or more!) octaves.
  2. Follow the four steps listed above.
  3. Move the copied notes back down one or two octaves (depending on your earlier transposition). You can do this by selecting them and pressing shift-alt and the down key.

The main problem with this method, is that you won't be able to hear what you're playing while you record. Either you'll hear all drum notes or all piano notes...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.