Any easy way to add diatonic thirds according to the chord track?

I’m trying to recreate some lost le presets. I want to be able to add simple diatonic thirds to a selected line.

So far, I’ve created two le presets, that I have incorporated into a macro. The first adds a major third if the note is the root, fourth, fifth of a chord. The second one adds a minor third if the note is the second, third, sixth, seventh of a chord.

The first problem is that when running those one after the other I end up with 3 voices at places, because the second le sees the new voice added by the first le and adds another third on top of the second.

This can easily be rectified I thought if I would check that ONLY notes in Channel 1 are affected by the LE, and that the thirds added by the LE are put into Channel 2. But this does not seem to work. Channel 1 or channel 2, the le will keep adding thirds, disregarding the channel check.

Is there an easy way to add diatonic thirds? Am I overcomplicating this?

Post an image of the Logical Editor preset and macro. One cannot tell how you’re doing this exactly with that precision.

Sorry for the title, I keep forgetting there’s also Cubase LE.

First logical preset

Second logical preset

Macro (Disregard first command, I put it there afterwards to see if it would make any difference, it does not.)

The point is to have a simple F# G A B C# d e f# on top of the D E F# G A B C# D.

What I get after executing the macro is this:


I start with the part (D scale) selected, and what you see selected in the screenshot is just after the macro is done. Of particular interest is the fact that at those points where exist 3 voices, the middle notes actually belong to channel 2, so the 2nd logical preset shouldn’t affect them, right?


The problem is once you invoke the first preset, there are now 3rds in the group, which you already see. Maybe something using Voices or Channels could work though…

There’s actually an easier way by using the Sclae assistant in the midi editor. Set it like this

and you can just alt-drag to copy the pitches, which will snap to notes within the key.

1 Like

I thought of using snap, but I was hoping for a keyboard solution. You see the plan was to able to add any interval up to an octave, either above or below with a keystroke.

I just can’t understand why the channel filtering won’t work. Maybe the macro goes too fast? What would be a good filler command in this situation?

I think in your 2nd LE preset you need to add some parens. Right now I think the AND on the Channel line only impacts the Major 2nd line and not all the other lines. Like this, although I haven’t tried this.

1 Like

O think @raino has the right idea. D’oh!

@raino That makes sense, and I did try that.

Moreover, I tried putting 2 sets of parentheseis, one for the first part of the check (note and channel 1), and one for the second (interval or interval etc). This did not work either.

Oh, I also swapped the actions, in case the channel change should come first. This did not make a difference either.

I also tried the stern look. No luck.

Change of direction and it works. Ugly but it works.


I went the transform route, because the problem is that with insert, the newly insert events become the targets for the next LE preset regardless of channel filtering. (I can’t make it work no matter how hard I try.)

How it works:

  1. Have the passage selected.

  2. Copy it.

  3. Run M3 to 1, 4, 5. (temporary disaster)

  4. Paste it.

  5. Run m3 2, 3, 6, 7.

Despite the colorful selection, all notes are where they should be. A lot of work though, isn’t it? Off to do the remaining 11!

Edit: Nah, not worth it. I don’t know what’s wrong with my Logical Editor. What files should I trash to bring it to default settings? I just modify the existing LE and save it under a different name, and then there are all kind of weird things going on: I can’t see the LE I just created in the Key commands. Some context filters will work for one Logical Preset but not the other. A root is identified and acted upon by one LE preset, then the other one can’t identify a root note. I just can’t make a pattern of it.

Edit 2: It seems that I have to delete all conditions and start anew. When I re-create the Logical Editor Preset from a blank init state it works. If I modify/tweak an existing preset’s conditions/values and save it under a different name, it does not work.

Edit 3: Ok, tiptoed carefully and managed to build them. It seems to me that some parameters break when making small changes. (e.g. when changing just an interval it wouldn’t work, I’d have to remove the line and set them up again. Context variable, click, equal, click, Position in chord, click, interval, click.) Once I knew what to look out for, it went fast.

Ctrl + 2-7 now add diatonic intervals above, Ctrl +Shift + 2-7 add diatonic intervals below. Useless for minor scales of course, unless I specify the relative major in the Chord track, but it’s better than nothing I guess.