Midi upside down - possible ?

I’m checking out negative harmony… :sunglasses:
Is there an easy way to program CB so that high notes are low and vice versa ?
In other words turn the midi keyboard upside down ? - (not physically of course :slight_smile:
It seems to me that logical editor should be able to do it but I’m no shark at programming this :confused:
Mads

You could program the Logical Editor to do this, and it certainly wouldn’t be easy unless you stayed in one key, but negative harmony is not just a matter of turning the keyboard “upside down”, it’s a compositional technique. Therefore, you already know what you want to transform (i.e. what major chords will become minor etc.) so perhaps Chord Tracks would achieve what you want more easily?

Thank’s, - I’ll get into that, but for starters I just want to turn the keyboard upside down :slight_smile:
Any Logical Editor guru’s out there ?
Mads

Could you tell us more about how you envisage this should work? Perhaps and example or two …

Not totally sure, but I don’t think this is possible in the LE. The problem is you need to do some sort of calculation along the lines of x = current note value, new note value = 127 - X. But the LE doesn’t support variables so it can’t calculate the new value as it executes. A brute force approach (and seriously ugly) would be to create 127 LE presets, one for each note to do the flip and then run these as a macro. The problem with this approach is that halfway through the pitch range you will start running into false positives for notes that had been previously flipped.

Again, broken record skipping, this would probably be pretty easy with a proper scripting language.

An alternative approach might be to build a Drum Map (they are not restricted to drums) to remap your keyboard. A fair amount of upfront effort, but once it’s done it is done.

Do you want to map the midi keyboard so that high notes are on the the left?
check out the free notemapper:

It may include a reverse keyboard preset.

You can use the Input Transformer to affect midi keyboard input.

Type is | Equal | Note |

Value 1 | Mirror | 64

Then, remember to turn on the module :wink:

As I’m sure you know, but some readers may not – Cubase, in MIDI, allows for easy inversion of chords and chord voicing. Individual notes can be easily transposed by half-steps or by Octaves.

I’ve not tried the “Mirror” function Steve mentions in his post – sounds interesting.

If you want to do actual “negative harmony” I think it’s easier to workout the chords based on your Axis of Inversion and then use Chord Track to help notate the “negative harmony” chords. It would be a good feature to have Chord Assistant include a tab for such chords – maybe allow us to set the axis for the inversion within the scale, etc. I like the idea.

To perform a “negative harmony inversion” you’ll have to mirror around the minor 3rd of the scale and add 1 semitone (or mirror around the major 3rd of the scale to subtract a semitone. Since the mirroring needs to be around the axis between the minor 3rd and the major 3rd.

The problem is you don’t want to really mirror it completely. You want to keep the notes arround the same place but only transpose to the NEAREST negative harmony equivalent notes. In this Cubase Logical Editor starts to be a real pain in the ass in his over-simplicity. I can obviously make up a simple mathematical formula from doing this using modulo 12 ect. But in order to calculate this I need something like (x - floor(x/12)*12), and in Cubase I can only use the value I computed so far, so basically when I have floor(x/12) * 12 I don’t have x anymore. (That x - y is actually y mirrored around x/2, so the around method could have com in handy, except x is a variable (the input note).
Another thing that’s super annoying is that I can’t really do something like (-x), because when MIDI note value cannot be negative, it doesn’t allow me to multiply it by -1.

All of this and more can be made super simpler and flexible if Cubase would make an “advanced” logical editor, with some scripting language in which I can actually write formulas, and apply multiple actions based on conditions (if then else…).
It would be possible to make so much more “logical editor” actions, and scripts to speed up workflow and give more place to creative process. Also users will be able to share those scripts so even if the scripting language is too complicated for you you’ll still get something out of it.

If anyone knows of an external plugin that enables you to do that I’ll be very happy.
If not please thumb up this idea.

I am sure somewhere on this forum I read that there is an LE preset to select all top notes. And I imagine there is one for all the bottom notes as well.
If anyone could jog my memory as to where I saw this it would be great. It may have been a dream, or it may have been in Cubase 11. I just don’t know.

It counts up from the bottom of the chord, so you can select the lowest note, second lowest note, etc.

Thanks. So where do I find this preset?. Is it in 11 or can I make it up. I did do one that involves selecting highest pitch with property set and selected, but it’s a bit hit and miss. Would the one you are describing work across a whole part where the top pitch may vary up to an octave? Again, cheers :slight_smile:

It is quite literal. It looks at the pitches which are overlapping and counts up from the bottom starting at zero. One gotcha with this is if you have two adjacent chords that both use the same pitch for a note sustained across both chords. That note will be counted on the first chord and skipped on the second as the note is seen as part of the first chord. I usually have zero to a few of these and just correct by hand.

It’s not really a preset, instead it is just one of the selection elements in the LE. Attached is an example that will select the top note (aka 4th lowest) in 4-note chords - notice it is using 3 & not 4.

Wow. I must be suffering from severe domestic blindness. I totally missed that function on the list. Totally sweet!. I set up a macro selecting notes 3+4 and now whether I have a four or five note chord, I can select the highest pitch.
What would be great is if the highest pitch could be selected right across a part regardless of number of notes in a chord. This would be for when I record a part on piano, copy them and then past them on the 1st violins part. Thus far I have not been able to get this to work.
Great! cheers and cheerio. :slight_smile:

There are a couple of other selection criteria you might want to consider.

In the Score Editor (which you don’t need to use for this in any way) when it is set to a Polyphonic Staff it determines which notes go on which Staff base on MIDI Channel number. By default channels 1 & 2 are on top and 3 & 4 on the bottom. Mixing the MIDI Channels up within a part won’t impact playback if you set the Track to a specific MIDI Channel Number and not “Any” which will retain the Channels set on the Notes. The point being you can readily make selections based Channel Number in the LE.

Similar to the above, if you select a Note in the Key Ed you’ll see on the Info Line a field named Voice that by default is blank but can be set to indicate SATB voices. These too can be manipulated in the LE. So you could set all your top line Notes to Soprano for example.

While both of these require initially assigning some attribute to Notes, once done you are good to go. The trick I’ve found is to use the Lowest Note capability to set, for example, the Voice field for the majority of the Notes and hand edit the exceptions.

I was just in the LE in Cubase 11 and it looks like they’ve added the ability to count notes in a chord top down now too. Plus I think maybe some other stuff but I’d need to compare. Checkout “Context Variable” in the top section.

How would this be used in the 13 logical editor now there is no value 1 anymore?

The way I have it set up now I can invert. But trying to mirror your process here I am unable to get the “/60” and the perameter only allows for note input.