Logic Pro 9 Silencing notes on CC123 message (AllNotesOff) from controller



Newbie, first post here. I already read some posts on this topic, but cannot find solution for my problems.

I have this wicked thing happening to me: my keyboard controller sends midi notes on channels 1 and 2, and I have an arpeggiator on channel 3. I can also hold chords on channel 3. However, notes get stuck on the track assigned to midi channel 3.

I've monitored the output of my controller and found that it sends a CC123 message instead of individual note offs for each sounding note. How can I have this message (sent on channel 1 & 2) affect channel 3 and stop all notes? I'm using EXS24.


You can copy the incoming CC123 from one channel, set it to channel 3 and send it to the sequencer. There are several ways to do this, here is a method that is easy to understand:

  1. Open an Environment window.
  2. Got to the layer Click & Ports.
  3. Remove the connection between the Sum output of the Physical Input and the Sequencer Input.
  4. Connect the Sum output to an ornament object (created via the "New" menu).
  5. Connect the output of the ornament to the Sequencer Input.
  6. Connect the second output of the ornament to a Transformer (created via the "New" menu).
  7. Doubleclick the Transformer and configure it like in the screenshot below.
  8. Connect the output of the Transformer to the Sequencer Input. -> Correction: don't do this, see below.


Explanation of the function:

The sum input carries all incoming MIDI messages. With the ornament object you create a kind of data distributor. From there all messages go unchanged to the sequencer. A second, identical stream goes to the transformer. The transformer settings mean: "Set all CC123 coming on channel 1 to channel 3 and let nothing else pass through."

Result: You generate an additional CC123 on channel 3 for every CC123 coming on channel 1.



The patch shown above does NOT work for this Control Change number!
See my post below.
Upvote 0
I'm using EXS24.
To my remembrance external CC123 does not work with EXS24 - we have commented that soon in this forum topic here:

If you read the comments in the link above you will find that there is workaround sending 128 Note OFF messages per midi channel using just one triggering midi message...
Scroll most to the bottom of that link and download my "Panic Tool" complex macro. Assign the top left box labeled as "CC#" to 123 and the bottom right menu box labeled as "Out.ch" to ch.3.
You have mentioned that your ch3 does not sends note Offs (I wonder why - I guess some midi Latch/Hold issue you were talking about holding notes on ch3) so switch the "Mode" box in the tool from "Smart" to "Normal" so the tool will send 128 messages to ch3 when register any CC123 coming from ch1 or ch2.

As a whole I do not think that sending/coping CC123 from other channel(s) is a good idea ! It is supposed that these channels play different melodies so the provided CC123 (which is output usually after note OFF - I have seen that on some Vintage synths) will match the place where you want to have Note OFF on ch3 - right ? If you use some hardware midi Latch/Hold function then the newly played Note ONs must send note OFF(s) to the previous ones.

As I mentioned you must try to find the issue in the midi "Latch/Hold" you use (if any). Another scenario is to use a special Logic Environment complex midi Latch/Hold tool which has lots of extras like separate midi I/O channels, "Clutch" holding notes via a KS etc and will work for sure. I have developed such a tool. If you have an interest of that Latch tool, please use the Contacts in my web site shown in my signature below.

BTW. Just an Environment object optimization note to the Peters's scheme (which is valid as well) shown in the previous post for those who want to learn the Environment . This can be done using just one transformer object patched between the Physical Input and the Sequencer and set to "Copy Matching events - apply operation" transformer template "Mode" (the other transformer settings are same as shown in the Peter's scheme). Anyway this will not work with direct CC123 and EXS24 or some other Logic instruments as well.
Last edited by a moderator:
Upvote 0
Thank you Peter and Tangra.

I will implement both solutions and report back to you. I am relatively new to Logic so please bear with me... :redface:

Upvote 0

The patch I posted above does not work. Since the sequencer input excludes all external CCs with numbers 120-127 it makes no sense (in this case) to connect the transformer to the sequencer input. For controller numbers above 120 you have to cable directly to the channelstrips. The method works well for CCs below number 120.
Upvote 0
Yes, I've tried that and came to the same conclusion! Thanks for the heads up, looks like it worked, but I need extra hardware to test it right now. My pedalboard seems to be broken... (it's what goves me the cc123 messages!)
Upvote 0