Logic Pro 8 help creating external synth environments

DavidAmes

Logician
Hi all --

I'm trying to set up my 2 external synths (Roland RD-300 GX and Roland Juno-G) as multi-instruments in Logic 8. I've entered the patch names in the patch list window that pops up when you double-click on the multi instrument in the environment. But Roland uses a program change scheme where you have to call the LSB (control Number: 32) as well as the PC, of which there are different amounts in the different banks.

I can't for the life of me figure out how to get Logic to call these program changes in a way my synths can understand. I tried selecting different settings under "Bank Message" in the patch list window, but that doesn't seem to change anything. When I change the program number in the inspector in the arrange window (to 45 for example), I just see the midi message #1 45 getting sent. Does anyone know how I can get it to send out a bank select AND a patch change message instead?

Thanks in advance,
David
------------
Macbook 2 GHz Intel Core 2 Duo, 4 GB Ram, OS X Ver. 10.5.8
Logic Pro 8.02
Roland RD-300 GX and Roland Juno-G (both connected to macbook via USB)
 
I don't work with multiinstruments but are you sure that they cannot send bank changes? This would be strange, because they are built for external synths.

However, if they don't, there are two techniques in the environment that let you send MIDI messages in a particular order. One is the transformer set to "duplicate events" and the other is the SyEx fader (in your case maybe a SysEx button). For the latter you can write an internal list of messages that are sent out in always the same order.
 
Upvote 0
You're right, it is possible to send bank change messages, I found it, thanks!

Next question: How do I get logic to send the midi data from each keyboard back to its respective midi port? Right now data from both keyboards are being midi-thrued back to either one or the other of the keyboards. Even when both tracks are record-enabled, its combining the data into one track and playing the sound generator from one of the synths. I'm trying to be able to play both at the same time, using their own sound generators, and record the 2 separate tracks of midi data.

I checked "auto demix by channel if multitrack recording" in the recording settings, and I even tried cabling the 2 outputs of the 2 ports of physical input into sequencer input in the environment (instead of coming from "sum"), but that didn't seem to do anything. Any help would be greatly appreciated! Sorry for the newbie questions, but I've honestly been banging my head against this for a good 24 hours now!
 
Upvote 0
Hi David,

If you're using them both in multi timbral mode, than just make sure that they are each set to respond to different midi channels. For example, have one synth set to use channels 1-8 and other other 9-16. That should do the trick.
 
Upvote 0
Hey Eli,

Thanks! I tried it, but the same thing's still happening. They're actually on two different ports -- they're both plugged into my macbook's usb ports, and they're set up in Audio/Midi Utility. But somehow the midi data from any of the different channels that I try of the two different ports get combined together, and only sent out of only one port.

Is there a way in the environment or anywhere to specify the destination of a midi instrument or channel output? I can't seem to find anything like that in the environment. I would think that's a common need, to route midi signals from one device to another. I know people are using soft synths a lot more these days, but 2 external synths plugged into logic that are meant to be played and recorded in midi at the same time doesn't seem like it would be that unusual!
 
Upvote 0
I use a Unitor8 MkII (USB-8 ports), but I could also use the two MIDI ports on one of my RME HDSP ADAT cards. You could probably use any compatible MIDI interface with more than one port. When I define the Multi instrument for the external synth in the environment, I specifiy the port to which it is connected. I have never tried to use multiple external synths through a MIDI interface with only one port. Incidently, Logic 8 has the Unitor8 driver, Logic 9 does not...
 
Upvote 0
Well, I'm actually not using a midi interface at all -- both keyboards have usb ports, and I'm plugging them into the 2 usb ports on my macbook. To recap, all I'm trying to do is play 2 stacked keyboards on 2 different midi ports, and have them record on two separate tracks while monitoring them and having them play back through their own sound generators. I can't believe that this is impossible in Logic!

I've read the relevant sections of the manual, about 1000 web tutorials and youtube videos... I got so frustrated, I downloaded the fully-functional Reaper Demo, and got this working like a charm in about 15 minutes! So, go Reaper! :thmbup:

Any ideas how I can do this in Logic? Even broad insights into the underlying design and philosophy of midi routing in Logic and the environment would be helpful. I read the environment chapter in the manual, and it doesn't help.

(Also, btw, for veterans of this board -- should I repost this under a new heading? It's really not so much about my original question, as it is about how to use two (2) external midi controllers with Logic at the same time.)

Thanks in advance...
 
Upvote 0
USB ports vs MIDI ports

Logic was around before USB. MIDI interfaces used to be serial (or even parallel, on a PC) connections, but needed a driver to work. With the current generation of Mac machines, some piano/synth keyboards can connect to computers with USB. But, as you have discovered, a USB port is not necessarily the same as a MIDI port. To clarify, using multiple external keyboards with a discrete MIDI interface is easily done, but now that the current generation of Macs has no serial port, current MIDI interfaces connect to the computer with USB, but they still have multiple MIDI ports, and still require a separate driver. So, (with a separate, multi-port MIDI interface) you can connect one external MIDI synth into port 1, and it can send and receive 16 separate MIDI channels. Likewise with the remaining ports. Some MIDI interfaces may be "daisy-chained" allowing 16 to 32 external synths to connect, which is literally hundreds of MIDI channels (8 ports = 128 channels, 32 ports = 512 MIDI channels). If what you want to do works in Reaper, that program must recognize the USB keyboards as discrete MIDI ports. I have not tried to get Logic to do this, because I already own several multi-port MIDI interfaces, and interconnect multiple computers to distribute sound banks.
 
Upvote 0
Hmm... well, I actually have an emagic mt4 midi interface that I was using at first with the same results, and I switched to usb thinking that might magically clear it up. Either way, I have 2 midi ports (with 16 channels each) configured both in Audio/Midi Setup, and in Logic. I know Logic is recognizing the 2 distinct ports because I can choose between them in the multi inspector in the environment, and in the library in the arrange window. Thanks for the responses though... any other ideas?
:confused:
 
Upvote 0
Mhm ... I lost you in the meantime ...

This is what I understand:
You have two keyboards, both with USB. You want to record them on two tracks and if you play the recorded notes both keyboards should play their own sound. Is this correct?
 
Upvote 0
That's right. But right now the midi from both keyboards only gets sent thru to one or the other sound generators, depending on the order in which I arm the tracks. And when I arm both and record, it only creates a region on one track (the one corresponding to the synth thats getting all the midi thru data), even though the two tracks (and the two multi instruments) are definitely assigned to different ports.
 
Upvote 0
Here goes a screen shot:

The arrange window is at the left, showing the EMU e5000 assigned to Port 1, channel 14. The "Midi inst." environment window is overlaid onto the arrange window, showing the VoiceOne multi-instrument set to Port 2. You should be able to select the port from either drop-down.

The MT4 should work, assuming you loaded its driver and it is showing up in the Audio-Midi OSX utility applet. Maybe even the USB will work. It sounds like you have not selected the port...or you maybe have not yet defined a multi-instrument in the environment. You do that by clicking on the "New" drop-down (visible in this screen-shot) button in the environment. You have to get rid of all the slashes in the new multi-instrument in order to activate the MIDI channels.

I feel your pain...
 

Attachments

  • MIDI_ports.jpg
    MIDI_ports.jpg
    79.5 KB · Views: 239
Upvote 0
Thanks, the screenshot's a great idea! But I definitely do have the ports selected. Here's a screenshot crammed with all the relevant windows...
 

Attachments

  • Picture 2.jpg
    Picture 2.jpg
    37.1 KB · Views: 204
Upvote 0
I checked my recording preferences and noticed that I do not check the "Auto-demix by MIDI channel"

I do check the MIDI data reduction. I also set the recording path to a second hard drive. That is more important for audio, but it is a good habit to develop.

This is what I see in my Audio-MIDI applet:
 

Attachments

  • unitor8.jpg
    unitor8.jpg
    26.7 KB · Views: 200
Upvote 0
And when I arm both and record, it only creates a region on one track (the one corresponding to the synth thats getting all the midi thru data), even though the two tracks (and the two multi instruments) are definitely assigned to different ports.
Yes, that is a backdraw in Logic. You cannot select MIDI ports for Arrange tracks and you cannot directly record MIDI on multiple tracks. You have to use differents MIDI channels, record on one track and use the demix function, automatically or manually.
 
Upvote 0
Yes, that is a backdraw in Logic. You cannot select MIDI ports for Arrange tracks and you cannot directly record MIDI on multiple tracks.

Hmm. My explanation does pertain to playing back multiple MIDI tracks to distinct MIDI ports/channels, as in an orchestral piece with separate woodwind/horn/string sections. I have not tried recording multiple MIDI tracks simultaneously (will have to try that, seems to me like it should work...). Unless trying to record more than one player at a time, I don't see where this would be a problem, though. Because once your MIDI is recorded, you can just assign playback to whichever port/channel of the external instrument you want to play back. Or copy the MIDI to a software instrument track.
 
Upvote 0
Yes, that is a backdraw in Logic. You cannot select MIDI ports for Arrange tracks and you cannot directly record MIDI on multiple tracks. You have to use differents MIDI channels, record on one track and use the demix function, automatically or manually.

Hey Peter,

What would happen if you cabled from the individual port on the Physical Input object directly to the specific sub channel on a regular multi instrument triggering external midi and then from there, back to the sequencer Input. And then repeated this for the different controllers coming in on different ports.

I haven't tried this, but it seems like it _might_ do the trick for what the original poster wants. What do you think?
 
Upvote 0
Interesting... I tried it, if I'm understanding what you meant correctly (see screenshot), and it seemed like it was working, until I armed the tracks and started recording. Once I did that, the keyboards mixed their signals again. Weird... I'm starting to accept inability to deal with 2 midi controllers simultaneously as a limitation of Logic -- when I need to record that way, I can always use reaper and then export the file. *Sigh* Thanks for all the help though, guys! I'm still up for suggestions 🙂
 

Attachments

  • Picture 4.jpg
    Picture 4.jpg
    15.3 KB · Views: 200
Upvote 0
Hey Peter,

What would happen if you cabled from the individual port on the Physical Input object directly to the specific sub channel on a regular multi instrument triggering external midi and then from there, back to the sequencer Input. And then repeated this for the different controllers coming in on different ports.
It works through the channelstrips but I wouldn't do that. Technically you would generate a kind of loop when you change parameters of the channelstrip (Volume, Pan, plugin params etc.) - the events would go out of the strip and into the sequencer again. Logic handles this situation but why ask for trouble.

Cable in parallel to the strips and to the sequencer input.

This way you can use dedicated ports ...
20100518-p7rrirrm8ecqryksj9x4bwpi2f.jpg

(If the messages come on the same channel, don't forget to set the channel per instrument, otherwise you cannot separate the recorded events.)
... or layer instruments ...
20100518-jfykdquys416gjcg25hffgj42k.jpg

... or combine both methods, layering and dedicated ports. The cables to the instruments are for playing and the cables to the sequencer are for recording. Always cable to the sequencer input in parallel or Logic will not record MIDI data from this port but only on the selected track.

----------

Note:

With manual cabling you don't select the track where one of the instruments sits. Actually you must use another track or the selected track plus your manually cabled channelstrips would play. This may be ok for a simple layer but is not ok if you want to play different notes for different instruments. And you have to set the channels for your tracks/channelstrips.

For example:
Track #2: No instrument (Channel 2)
Track #3: Instrument 3 (Channel 3)
Track #4: Instrument 4 (Channel 4)
In this case you would play and record with track #2 selected, because this track has no sound and your manually cabled instruments play independently. After recording on track #2 you separate by channel and the regions jump to the correct tracks.

----------

Interesting... I tried it, ... it seemed like it was working, until I armed the tracks and started recording. Once I did that, the keyboards mixed their signals again.
Nice try again, this recording stuff, your third attempt? 🙂
But trust us, Logic does definitely not record on multiple instrument tracks simultaneously in one go. You have to demix/separate by channel.

Therefore:
1) Make sure that the channelstrips get MIDI data on different channels.
2) Set the MIDI channels of the tracks/channelstrips accordingly.
Then you can record on some other track and separate by channel.

I know this is weird but not that complicated once you get used to it. And the environment gives you the opportunity to do some more MIDI processing before the events reach the channelstrips. Switching instruments, different velocity curves and so on.

---

If you change your MIDI setup, the ports in the Physical Input may get disordered and your cabling may be wrong then. It is always a good idea to have named monitor objects right after individual ports. Makes it easier to correct the cabling.
 
Upvote 0
Hats off to you Peter, the environment screen shots are terrific...

But as long as I have used Logic (since 4.8), it seems that sometimes its moniker should have been Illogic.

When recording with an external MIDI keyboard, I send both the MIDI and the audio signal output from the keyboard simultaneously (to separate audio and MIDI tracks for both monitoring and help in any subsequent MIDI editing). Hardware monitoring eliminates the latency that would come from using the MIDI keyboard to trigger a software instrument. Afterwards, I create a software instrument track for play-back, copy over the MIDI and mute the audio and MIDI tracks I used for recording. Likewise, it seems like the "de-mix by channel" could be applied afterwards to similarly end up with the multiple MIDI tracks that would go on to trigger whichever sounds necessary.

It also seems that the Logic engineer would need to make sure multiple MIDI instruments would have to be set up to transmit on separate MIDI channels in order for the "de-mix" function to do its stuff. Which would lead to a frustrating experience for a group of MIDI keyboard/synth artists who really don't "get" Logic, and assume that something plugged into a unique MIDI port should be entitled to its own track. If Reaper can do it, why can't Logic?
 
Upvote 0
Back
Top