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

Logic 9 MIDI Out CNTRL Logic & T Rex Replica

Discussion in 'Logic 9' started by jih86, Jan 6, 2011.

  1. jih86

    jih86 New Member

    Hi All

    I am new to this forum - happy new year to all.

    I am trying to trigger an external delay pedal with MIDI sync from logic.
    Been through the whole process of sending metronome clicks to the right port - this is fairly straight forward and I am seeing midi out clicks on the control panel of my audio interface (Focusrite Saffire).

    However my external delay (T Rex Replica) is looking for the following:

    The MIDI - socket allows you to control following:
    TAP/TEMPO (CTL. No. 20), ON/OFF(Bypass) (CTL No. 21)

    I cannot find a way to ensure that the metronome clicks are appearing on the right CTL line.

    Any help would be very much appreciated - it's driving me mad.


  3. Peter Ostry

    Peter Ostry Administrator Staff Member

    How do you send the click to the pedal? Have you connected an instrument to the MIDI click in the Environment? Then insert a transformer between the two and set its lower line to send Control, channel 1, number 20. Leave the last field to "thru" or set a value the pedal is happy with. 127 for example.
  4. jih86

    jih86 New Member

    Hi Peter

    Thanks again.

    The click is going out over firewire to the Saffire and from there from the MIDI out physical port to the delay pedal. I can see that there is a MIDI out signal doing something from the indicator light on the Saffire. But it seems that the pedal is looking for events on the CTRL 20 line only. I'll try what you have suggested here. Thanks again.

  5. Peter Ostry

    Peter Ostry Administrator Staff Member

    Install MIDI Monitor, it shows you almost all MIDI traffic going through your computer. Much easier to see what's going on.

    In the MIDI Monitor preferences, switch the output display to show decimal numbers instead of MIDI names.
  6. jih86

    jih86 New Member

    Hi Peter

    Thanks for your help once again.

    I have set up MIDI Monitor - great tool. I can see MIDI events on my Saffire Port which correspond with the Metronome Settings. I have checked Beats only - and can see Chan 10, Data (37, 88)/(37,0) which corresponds to the notes and channel defaults in Metronome Settings.

    I have also sent the Clicks object to a transformer and then to an instrument.

    I understand that I am trying to convert the MIDI events that I am seeing to CTRL events and set the number to 20 - using the transformer - is that right?

    If so - this is where I'm stuck. I can see Mode, Condition and Operation entries in the transformer. Various modes - different Cond & Oper parameters depending on mode and 4 elements for each Conditions and Operations lines. Can you advise on what mode I should be using and what Conditions and Operations I should set.

    I have been messing around with this - but can't get the right combination.

    Huge thanks for your time on this.

  7. Peter Ostry

    Peter Ostry Administrator Staff Member

    "Beat" is not enough, also check "Bar". Otherwise you would miss the first beat.

    Correct. With Beat and Bar checked you get the notes C#1 with velocity 112 (for each bar) and velocity 88 (for each beat). And there is a note-off after each note. You can hardly see that in Logic, not even in a monitor object after the MIDI Click, but MIDI Monitor shows it clearly. We have of course to get rid of this note-off. Would we convert it also, we would get two events per beat instead of one.

    I guess what you want at the transformer's output is Control Change on channel 1, with number 20 and the highest value (127):
    Well, working with transformers needs a bit of analysis.



    We want the transformer to process only specific messages and to block everything else. Therefore we set it to the mode "Apply operation and filter non-matching events". This means, only the events that match our criteria in the "Conditions" area will get processed by the settings in the "Operations" area and sent out. Other events are swallowed by the transformer.



    We need to find good criteria to pick our events out of the incoming stream. In this case it is quite easy, because the transformer sits after the MIDI Click. There are only notes C#1 and all on the same channel. To eliminate the note-off we would just accept velocities above zero. But for learning purposes let us do a complete setup ...

    First field (Status): We want to process notes.
    Second field (Channel): Our notes come on channel 10.
    Third field (Pitch): It is a C#1.
    Fourth field (Velocity): Everything but zero. This should remove the note-off.



    After we've set our criteria, we can be sure that we process only note C#1 on channel 10 with velocities higher than 0. Nothing else. What do we want to do with them? I think they should migrate from Note to Control Change, go to channel 1, turn into controller number 20 and – which value? Let's say 127, the target device should be happy with that.

    First field (Status): Control Change.
    Second field (Channel): 1.
    Third field (not labeled, this is the controller number): 20.
    Fourth field (not labeled, this is the controller value): 127.


    The complete transformer setup looks like this:
    In the example above we set the coutput channel in the "Conditions" area. For that set your instrument icon to "All" channels. Then the channel number is under control of the transformer.


    Simplified transformer setting:

    The full setup above is not always necessary. Remember, there are only notes coming in, all on the same channel and with the same pitch. Setting the velocity to avoid the note-offs would be enough. For the "Conditions" it depends. Yes we have to set the Control Change message type. Do we care about the channel? Probably not if the target device doesn't care. We have to set the controller number. Do we care about the controller value?

    A simplified setup may look like the screenshot below:
    It is a personal preference if you prefer to set everything as exactly as possible or just the mode, conditions and operations you really need. And it depends on the type of environment patch. The most important thing is that you plan your patch, even if it is only one transformer. Check the messages with monitor objects in Logic and check them with MIDI Monitor. The Environment is a kind of graphical programming language and the better your plan and settings are, the more reliable is the result.

    There is much more to say, especially about the transformer modes. But I think for now we are through, you should be able to set up your transformer and to tweak it if you need something different than you originally thought.
  8. jih86

    jih86 New Member


    This is a fantastic explanation - I can't thank you enough for spending the time to explain this. I have been messing around with the transformer settings and was able to generate CC20 events that I could see in MIDI monitor - I was even seeing some tap tempo changes on the pedal itself. However - the note off issue was tripping me up as well. I'll post a final note when I get this running properly - but thanks for your tremendous help again.

  9. jih86

    jih86 New Member

    Got it working - great stuff and tremendous thanks again Peter.

    The only difference in the final solution for me was to set the note value in conditions to 'All'. For some reason C#1 was being filtered out despite this being the note set in Metronome Settings. I changed this to 'All' - now see Channel 1, Controller 20, Vel 127 events only on Midi Monitor - and the pedal is responding to treatment.

    Great stuff.

  10. Peter Ostry

    Peter Ostry Administrator Staff Member


    I tell you a secret: It is easy to help you. You don't just spit a couple of words into a forum without any information, expecting the universal answer and a 5-seconds-solution. You think about the problem, try yourself, ask with a proper description and keep on working with the information you got. This is the way to go and the only way that makes sense in a webforum like the LUG, which concentrates on experience exchange and solutions in equal measure.

    For example:

    The MIDI Click sends notes but we see its note-offs only occasionally in Logic. It almost looks as if the note-offs are generated somewhere under the hood, not by the click itself. I would have fallen into this trap if you had not mentioned the MIDI Monitor readout in your text. And you said that you activated only "Beat" in the MIDI Click settings. Both informations allowed me to clean up the situation, otherwise I would have delivered a solution that does not work.

    Actually I did not check the output of the MIDI click, I overlooked the note-off. And my advice at the end of the text, to look at the messages in MIDI Monitor, was rather a reminder for myself because you checked them first. ;)

    Yeah, because of the converted note-offs the device probably tried to set itself to an impossible high tempo.

    Generally, regarding note-offs in the Logic Environment – keep an eye on them. Velocity 0 does not always work. Often you have to convert the notes to something else before you process them. After your processing, if you want notes again, you can convert back with another transformer. Any message type except Pitchbend and Program Change is suitable for note-conversion.
  11. jih86

    jih86 New Member

    You are a gentleman sir - and it's a great pleasure to correspond with you.
    Many thanks for your help again Peter.


Share This Page