January 20, 2004

Two Keyboards, Two Instruments  [ Edit ] 

TB and I spent some time today over at his pad playing with his setup. He’s the guy that turned me onto the Logic Big Box, so his general setup is pretty similar to mine.

The difference is, he has more keyboards. He setup two today so we could play together on different virtual instruments. It was a great idea. Unfortunately, it took a while to make it work. Tony had Reason and Logic rewired together beautifully, and each keyboard was recognized and could play both.

Problem was, we wanted each keyboard to only play one instrument. I’ll skip straight to what we did right to make this happen. There were lots of wrong attempts before we got something useable.

First, you have to make sure each keyboard is broadcasting on a different MIDI channel. There are sixteen of them available. The way to do this varies by keyboard manufacturer, but it’s a basic operation that should be pretty straightforward.

The important, and potentially challenging bit, is setting each virtual instrument to only play when MIDI signals on the channels you want, come in. We did this using a Channel Splitter object in the environment. The Channel Splitter pretty much does what it says: it takes MIDI messages (the notes you play, and more), and can send them to different instruments or other things in your setup based on the channel.

So we setup the drums on MIDI channel 1, the piano sounds on channel 2. Cabled channel one to the drum sampler Audio Instrument object, channel two to the keyboard object.

An aside on cabling in Logic’s environment. The environment’s layers shouldn’t be thought of in any kind of physical way. Layers are only a convenience to keep you from having to see all your Environment crap at once. Anything can be cabled to anything regardless of layer, though. In the case of the Channel Splitter, which was on the Clicks and Ports layer, we wanted to cable channels 1 and 2 to the instruments on the Audio layer. To do that, hold option and click a cable output (the tiny triangle on the right side) of the Channel Splitter. A popup menu with all the environment’s objects, organized by layer, will appear. Select the one you want (in our case, the Audio Instruments), and you’re done.

Once we had that setup, he could play piano, and I could play drums. Unfortunately, you can only record to one track at a time with virtual instruments. This may be a Logic Audio limitation, possible in more expensive versions. In any case, this didn’t end up being a problem for us, because drums are typically found on the lower end of the range of MIDI notes, so we were playing different keys at all times. That means the MIDI sequences Logic recorded on one track could be pretty easily ripped apart and put on their own tracks for later use.

It’s not the easiest thing to do, but it is possible, and once we had it going, it was fun. We were also able to record Logic’s instruments in its sequencer, and Reason’s stuff in its sequencer, but that’s not as useful a technique, so I won’t go into it here. The best thing would be to record Rewired Reason instruments in Logic at the same time.

At any rate, this is a common question for Logic users, and apparently is something Emagic may be interested in supporting at some point. Here is some discussion on the topic by Logic maven oink, wherein he explains how to do this, but in a probably more correct way. My way worked for us.

Someday if I end up with another keyboard, maybe I’ll try some more techniques to make this work better.

Posted by Joe | TrackBack

I'd been trying to figure out how to do this for two weeks or so, but was having no luck. Then after reading for about the millionth time, this phrase lit up:

'you have to make sure each keyboard is broadcasting on a different MIDI channel'

MIDI channels was something new to me, but once I was operating my MIDI devices on different channels, I had no problems. Using the Demix by Event Channel funcition, I was even able to record everything, albeit in a roundabout way.

Posted by: Josiah at April 17, 2007 12:33 AM

I get the idea of splitting channels but when i ctrl click on the channel splitter there is not "A popup menu with all the environment’s objects". I don't get it is there something i'm missing. this is a very frustrating process for a seemingly simple task.

Posted by: Daniel at December 7, 2008 5:29 PM


You need to read just a little more carefully. You need to *option* click, not control click. In my Logic Pro manual, this is covered under Cabling on page 871 — you option-click the little output triangle, and a popup menu appears giving you direct cabling access to everything else in the environment.

These things are a little tricky, but that's part of the deal with Logic. It's extremely flexible, but that means you can do just about anything routing-wise.

Posted by: Joe Chellman at December 7, 2008 7:30 PM
Post a comment

Remember personal info?