1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Logic X Environment: Changing "midi" channel dynamically?

Discussion in 'Logic Pro X' started by oortone, Mar 20, 2016.

  1. oortone

    oortone Member


    I'm quite experienced in the Environment but I find it a little bit cumbersome to do dynamic operations on "midi" channel. While it's easy to transform other data (like note, velocity, CC-number e.t.c.) using a fader objects, the only way to dynamically change midi-channel I know of is via a setup of:
    - Cable switcher.
    - One transform object per midichannel.
    - Fader for controlling cable switcher.
    (see picture)

    Or is there a way to do this not including so many objects?

    Attached Files:

  3. volovicg

    volovicg Senior member

    Yes. You can do it with only 1 fader and 1 transformer. Will post solution later today when at computer
  4. volovicg

    volovicg Senior member

    So I have 1 fader and one transformer cabled between the physical input and the sequencer.
    (P.I. -> Fader->Transformer->Sequencer)
    The fader is a text fader where the labels are the channel #'s.
    The output of the fader is is Meta 127 which modifies the first parameter of the transformers operations parameter.
    The transformer is initial setup to take whatever input it gets and sets it to midi channel #1. (this number is not important)
    The fader however dynamically modifies this transformer parameter based on what you select from the drop down.
    So if you use the fader and to set channel #3 - the fader changes the fixed value in the transformer accordingly. Now when a midi note comes through the transforming it's midi channel is changed to the new fixed channel as defined by the operand in the transformer.
    Here it is in action.... My Midi keyboard is only transmitting on Midi channel #1

    Dynamic Midi Channel.gif

    Here is the transformer.. The number you use for the midi channel is not relevant as the fader is going to change it anyway.....

    Screen Shot 2016-03-20 at 4.27.39 PM.png

    Here is the Fader - The meta 127 changes the 16 in the transformer above to whatever input you select. The range is set to 0-15
    So if you select a fader value of 0 - the transformer midi value gets set to 1, FV=1, Trans mid value =2 and so on....

    So I can set the input device to any of the 16 midi channels with just two environment objects.

    Screen Shot 2016-03-20 at 4.27.56 PM.png
  5. Tangra

    Tangra Senior member

    This method will cause tons of Note hanging during real time switching. The Note OFF events will go into wrong MIDI channel.
    This is possible by creating a very complex Environment Channel Switcher tool which is not an easy task.
    One of the AG Articulations Switching tools offers such Environment Channel switcher.
  6. volovicg

    volovicg Senior member

    I do not believe that is the case for this example.... First from a practical perspective I have never ever had a hung note using this method.
    Secondly - I believe Logic will not allow the separation of Note on / Note off events under certain transform conditions. For example "Apply Operations & Let non-matching events pass" as well as Apply operations and & filter non-matching events" will maintain the integrity of the note on/off paring. Some transformer operations will allow the separation to occur - but the first above is the one I am using.
    Lastly - and as a precaution as I have been wrong before. In the animation below - I hold a single note and while I hold that note I change the midi channel. When I release the note - the sound stops - even the the note off event was sent on a different midi channel. I tested this both with internal software instruments and an external Midi device.

    If you disagree - maybe you could provide an explanation as to why in fact this does work.

    Dynamic Midi Channel note on-off.gif
  7. oortone

    oortone Member

    Great, thanks a lot!

    I rarely use Meta Events, I remember running into trouble using them a long time ago and never bothered again. But this one seems useful.

    In my case hung notes is not a problem anyway since I need this to rechannelize Fader Events in the environment while controlling pluginparameters using Midi CC from a UC33.
    Last edited: Mar 21, 2016

Share This Page