A Smart method to Select the Highest and Lowest Pitches in MIDI

All feature requests and suggestions for upcoming releases of Cubase Pro 10, Cubase Artist 10 and Cubase Elements 10 can be posted here.
chikitin
Senior Member
Posts: 1275
Joined: Mon May 16, 2016 3:15 am
Contact:

A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by chikitin »

Hi,

It would be nice to have as in Logic Pro ( see video below) the ability to select the highest and the lowest pitch on the fly even if they chord notes are don't start and end at exact same points.

This was posted in another post: https://www.youtube.com/watch?v=Q6YtGrR ... e=youtu.be

Maybe for the lowest with LE one can achieve this. But I am pretty sure there is no function in Cubase for selecting the highest notes like in Logic Pro. Please correct me if I am wrong!

It would be great if this be added to LE as context menu parameter to be used for creating more diverse presets. I found this very helpful for editing and also working with score editor to move notes between the lower and upper staves.
Last edited by chikitin on Tue Oct 29, 2019 12:49 pm, edited 1 time in total.
MacBook Pro & iMac, 16GB RAM SSD 1 TB, Cubase Pro the latest w/ two external 32" Monitors
Surround configuration with subwoofer.
Dorico 3.5, Finale, VST Connect Pro, NI Komplete 5, EWQLSO, HSO, GA 5
Synths: Yamaha PSR-A3000, Roland Fantom XR
Interface: Steinberg MR-816CSX, UR 22 mkII
Effects: Rocktron DSP, Lexicon MPX 550
Controller: Steinberg CC121, Yamaha KX25,49,88, Korg Nano Kontrol, Boss RC 300, Yamaha MFC 10, CMC-PD

Ed Shearmur
New Member
Posts: 39
Joined: Sat Aug 31, 2019 12:17 am
Contact:

Re: A Smart method to Select the Highest and Lowest Pitch in MIDI

Post by Ed Shearmur »

Agreed. To take it even further, the option to select multiple specific notes as DP allows you to do would be great. I've come over to Cubase only recently and am surprised that it lags behind in this area..

chikitin
Senior Member
Posts: 1275
Joined: Mon May 16, 2016 3:15 am
Contact:

Re: A Smart method to Select the Highest and Lowest Pitch in MIDI

Post by chikitin »

Ed Shearmur wrote:
Sat Oct 19, 2019 1:39 am
Agreed. To take it even further, the option to select multiple specific notes as DP allows you to do would be great. I've come over to Cubase only recently and am surprised that it lags behind in this area..
You are right. Cubase MIDI implementation is not very flexible. We should ask for change and features. These are more important for the composers than plugging, VST's.
MacBook Pro & iMac, 16GB RAM SSD 1 TB, Cubase Pro the latest w/ two external 32" Monitors
Surround configuration with subwoofer.
Dorico 3.5, Finale, VST Connect Pro, NI Komplete 5, EWQLSO, HSO, GA 5
Synths: Yamaha PSR-A3000, Roland Fantom XR
Interface: Steinberg MR-816CSX, UR 22 mkII
Effects: Rocktron DSP, Lexicon MPX 550
Controller: Steinberg CC121, Yamaha KX25,49,88, Korg Nano Kontrol, Boss RC 300, Yamaha MFC 10, CMC-PD

rockdude9k
Junior Member
Posts: 148
Joined: Fri Apr 19, 2013 2:43 am
Contact:

Re: A Smart method to Select the Highest and Lowest Pitch in MIDI

Post by rockdude9k »

+1
Mac Pro 3.5Ghz 6-Core E5 64GB ram - 10.14.5 - Cubase Pro (Latest) - VEP6 - Two PC's - Waves - Lexicon - PLAY - Kontakt - Sound Toys...etc

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

+1

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

And while we're at it, maybe we could have a 'select 2nd from bottom", "2nd from top", "3rd from bottom", "select notes that are *N octave intervals above the bassline", "select all 3rds intervals of each chord", etc...

Once you have an algorithm for finding different chords/group voicing throughout a section of MIDI, then I'm sure there's all sorts of additional commands that could be made around it.

-steve-
External Moderator
Posts: 9691
Joined: Wed Dec 15, 2010 7:42 pm
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by -steve- »

OxygenBeats wrote:
Tue Oct 29, 2019 6:31 pm
And while we're at it, maybe we could have a 'select 2nd from bottom", "2nd from top", "3rd from bottom", "select notes that are *N octave intervals above the bassline", "select all 3rds intervals of each chord", etc...

Once you have an algorithm for finding different chords/group voicing throughout a section of MIDI, then I'm sure there's all sorts of additional commands that could be made around it.
All but the octave and 'from top' parameter already exist in context variables.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

-steve- wrote:
Wed Oct 30, 2019 2:22 pm
OxygenBeats wrote:
Tue Oct 29, 2019 6:31 pm
And while we're at it, maybe we could have a 'select 2nd from bottom", "2nd from top", "3rd from bottom", "select notes that are *N octave intervals above the bassline", "select all 3rds intervals of each chord", etc...

Once you have an algorithm for finding different chords/group voicing throughout a section of MIDI, then I'm sure there's all sorts of additional commands that could be made around it.
All but the octave and 'from top' parameter already exist in context variables.
That's what I thought too. Because I know there's a "select high note" and "select low note". But those only select a single pitch for the whole selection. It doesn't have an algorithm to determine what out of the selection are separate groupings/chords and find separate high notes per group.

Or am I missing something?

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

Hmm I'm playing around with the Logical Editor and I think I see the issue. So, you can actually select all the root notes for a set of chords automatically.

Context Variable->Equal->Position In Chord->Root

However, inside the "Position In Chord" function, there is no way to select "highest note". There IS a highest note option in the context variables, but it will only select the highest note of the entire midi part, it won't calculate it based on the individual chords. Also, there is an option inside the "Position In Chord" for selecting specific intervals from the root (maj 3rd, perfect 5th, etc..), but there aren't more relative options like "2nd note from the bottom" where it would select the note 2nd from the bottom regardless of what interval that may be. In fact, there isn't an option for selecting the low note either, just the root, which is often not the same thing when dealing with inversions.

So, Cubase actually does already have a system/algorithm in place for detecting all the chords in a MIDI part. They just need to implement more commands/functions on top of that. Inside of "Position In Chord", there should be a "Top", a "Bottom", and perhaps other options like "2nd from bottom" or "2nd from top" etc....

-steve-
External Moderator
Posts: 9691
Joined: Wed Dec 15, 2010 7:42 pm
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by -steve- »

With due respect, I suggest you review the list of parameter 1 in the Context Variable list, along with the conditions and parameter 2 and the conditions list. There's a lot you can do.

If what you need to do is an operation on a musical line, there's the explode function in the Score editor. Create a polyphonic staff and Cubase can do a decent job of setting the musical lines to channels.

User avatar
raino
Grand Senior Member
Posts: 4820
Joined: Tue Dec 21, 2010 2:41 am
Location: San Francisco
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by raino »

OxygenBeats wrote:
Wed Oct 30, 2019 5:22 pm
and perhaps other options like "2nd from bottom"
Currently this is the only way to count a Note's position in a chord - how far from the bottom is it, starting with 0 for the bass.
rodger

Cubase Pro 11, Win10 Home, Halion6, Groove Agent 5, WaveLab Pro 10, BFD3, GPO, Komplete Ultimate 9, Waves Gold, Misc. other

i7 4771 Haswell Processor 3.5GHz, ADK LGA1150, 16GB RAM, GeForce GTX970, RME Fireface 400, 2x UAD-2

Latest: Bawdy Politik https://rodgerraino.bandcamp.com/releases

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

-steve- wrote:
Wed Oct 30, 2019 7:03 pm
With due respect, I suggest you review the list of parameter 1 in the Context Variable list, along with the conditions and parameter 2 and the conditions list. There's a lot you can do.

If what you need to do is an operation on a musical line, there's the explode function in the Score editor. Create a polyphonic staff and Cubase can do a decent job of setting the musical lines to channels.
Ohhh, I see. It's under "Note Number In Chord". Well why didn't you just say that to begin with? lol

Guess I missed that after trying "highest pitch" "lowest pitch" and "position in chord". I must have read that as "number of notes in chord" or something, although there is another one for that.

So yeah I guess you can calculate from the bottom. But you still can't find the top note or calculate from the top. Or am I missing something? I know you said that you can't calculate from the top, but is there even a way to calculate THE top notes?

If not, then I think the obvious suggestion from this thread is that we need a
"Logitcal Editor ->Context Variable -> Note Number In Chord (highest = 0)"

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

raino wrote:
Wed Oct 30, 2019 7:08 pm
OxygenBeats wrote:
Wed Oct 30, 2019 5:22 pm
and perhaps other options like "2nd from bottom"
Currently this is the only way to count a Note's position in a chord - how far from the bottom is it, starting with 0 for the bass.
Actually, it's not. You can select notes based on specific intervals from the bottom, too. So, if you have a set of chords.. let's say CEG, FGAC, ACE, you could select just the perfect fifth notes: G, C, E. If you were to select something like "note from bottom->2" it would return G,A,E.

So there are 2 ways to count a note's position:
1) by the number of notes it is from the bottom
2) by the specific interval it is from the bottom

We just need to have the ability to count from the top, now.

*EDIT actually when it calculates the interval from the bottom, it's really calculating from the root which it doesn't always count the bottom note as the root because it tries to calculate inversions of chords, which makes it a little annoying sometimes when you have more complex chords or just want to treat the bottom note as the root.

So in correction, here are the 2 ways to count a notes position:
1) by the number of notes it is from the bottom
2) by the specific interval it is 'root'

-steve-
External Moderator
Posts: 9691
Joined: Wed Dec 15, 2010 7:42 pm
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by -steve- »

You can count down from the top. Try creating additional filters and conditions to Highest Note, such as, less than or equal, etc. and see what that does.

It's not really confusing when you understand that The LE either
- calculates the chord's intervals without regard to the order of the voicing, or
- it does it based on the order from bottom to top without regard to the chordal intervals.

Maybe you got confused due to an ideé fixe you had about bottom notes and roots.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

-steve- wrote:
Sun Nov 03, 2019 4:50 pm
You can count down from the top. Try creating additional filters and conditions to Highest Note, such as, less than or equal, etc. and see what that does.

It's not really confusing when you understand that The LE either
- calculates the chord's intervals without regard to the order of the voicing, or
- it does it based on the order from bottom to top without regard to the chordal intervals.

Maybe you got confused due to an ideé fixe you had about bottom notes and roots.
Yeah, obviously. Did you read what I said? That's exactly what I just said. It calculates it from the number of notes from the bottom or by the musical interval from the root.

Why so cryptic? Do you have a solution or not? You're saying you have a solution but you're not actually providing one. Am I confused or are you confused? The "highest note" command, as I've already mentioned, selects the highest note (actually called "Highest Pitch") command selects the highest pitch out of the entire selection. It doesn't group likely chords together and use that context to select the highest pitch of each chord. Obviously the technology and algorithms are in place, they just haven't implemented a feature for counting top to bottom. Unless you can actually tell me how to count from top to bottom using the Logical Editor, I'm going to assume you're wrong. If there was a way to invert a MIDI note selection, the I guess you could invert everything, select notes from the bottom, and then re-invert as a work around. But I don't think there is a way to invert a MIDI note selection. The .."LE" is great, but it's nowhere near a fully functioning script editor.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

The closest thing I can think of to a work around (other than the inversion idea), is having multiple iterations of selections where you do "if the number of voicings in part == 4 and the note number from the bottom is 3, select" and then "if the number of voicings in part == 5 and the not number from the bottom is 4, select".. but if you put those into a macro and run it, it won't work because each time you select you're deselecting everything previously. If there was an option to add to selection instead of just 'select', then this would be a good alternative, although you'd have to enter a LOT of conditions in for it to work consistently. OR... you could include it all into one command except one of the largest flaws with the "LE" (as you call it) is that you have no power over the logical order of conditions/operations. The And/OR just all happens linearly. For example, I can't have "(something AND something) OR (something AND something)". In the "LE" (logical editor), you can only have "something and something or something and something". Or what if I want it to be "something and (something or something) and something"?

IF I DID have control over that, then I could make a command that would be
if(
(voices in part==1 AND note number from bottom ==0) OR
(voices in part==2 AND note number from bottom ==1) OR
(voices in part==3 AND note number from bottom ==2) OR
(voices in part==4 AND note number from bottom ==3) OR
(voices in part==5 AND note number from bottom ==4) OR
(voices in part==6 AND note number from bottom ==5) etc.....
)
select

^^that would select the 'topline'/high notes of each part/chord.
But I don't have that option because the logical editor is not as powerful as you make it out to be. It has many many limitations.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

I mean, there's many ways to ALMOST do it. I'm not seeing this magic solution of yours, Steve. Can you enlighten me?

-steve-
External Moderator
Posts: 9691
Joined: Wed Dec 15, 2010 7:42 pm
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by -steve- »

OxygenBeats wrote:
Tue Nov 05, 2019 6:11 am
I mean, there's many ways to ALMOST do it. I'm not seeing this magic solution of yours, Steve. Can you enlighten me?
-steve- wrote:
Sun Nov 03, 2019 4:50 pm
Try creating additional filters and conditions to Highest Note, such as, less than or equal, etc. and see what that does.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

-steve- wrote:
Tue Nov 05, 2019 3:22 pm
OxygenBeats wrote:
Tue Nov 05, 2019 6:11 am
I mean, there's many ways to ALMOST do it. I'm not seeing this magic solution of yours, Steve. Can you enlighten me?
-steve- wrote:
Sun Nov 03, 2019 4:50 pm
Try creating additional filters and conditions to Highest Note, such as, less than or equal, etc. and see what that does.
So you don't have a solution lmfao, you're just gonna keep pretending like you do.

-steve-
External Moderator
Posts: 9691
Joined: Wed Dec 15, 2010 7:42 pm
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by -steve- »

I offer my help gratis, sorry you don't find it helpful. I can only point out that from your posts, it looks like you haven't tried my suggestion above.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

-steve- wrote:
Sun Nov 03, 2019 4:50 pm
You can count down from the top. Try creating additional filters and conditions to Highest Note, such as, less than or equal
-steve- wrote:
Tue Nov 05, 2019 5:34 pm
I offer my help gratis, sorry you don't find it helpful. I can only point out that from your posts, it looks like you haven't tried my suggestion above.
If you haven't noticed, I've already come up with at least two NEAR solutions to the problem. But they won't work due to limitations with the Logical Editor. Saying "yes it can be done, try additional filters, use equal signs or less than signs and stuff and see if that works" is about as useful is saying "yeah, there's a solution to that problem, the solution is to solve it".

I'm telling you, it doesn't work. There's no command for it. There's no workaround for it. There's simply no way you can count notes from the top each chord. But you keep suggesting there is without actually saying how to do it.

Moderators should be held to a higher standard; they should not be trolling people.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

And if you'll notice, I'm not charging any money for this either, and I've put in more work toward solving the problem than you have.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

Okay, I think I have a solution, albeit a very very overly crammed/time consuming solution. Like I said earlier, if you could invert the midi, you could select the bottom notes and then invert everything again. Well, you could make a macro and that macro could have 128 individual logical editor processes which invert each note one at a time. So you could do "if note value 1 == 0, set value 1 to 127", "if note value 1 ==1, set value 1 to 126" etc.... until you've done that 128 times.. but then you run into another problem. If you invert the selection and then select the bottom line, the notes you've just selected will be the only notes affected when you try to re-invert. And since you can't call/set/define/store any variables other than the ones you're already give in the Logical Editor, it makes it really tricky.

SO.. you have to basically use an already existing variable in the Logical Editor to store the memory of which notes to select after inverting and then re-inverting. Obviously it can't be value 1 because changing the pitch messes up the entire reason for having this function. It shouldn't be value 2 because velocity is very commonly useful and adjusting it separately on the topline is likely the reason you'd want this function to begin with. But value 3 is note off velocity, correct? I don't know any plugins that actually utilize note off velocity. So we'll use that. So in order to making the 128 separate Logical Editor commands as a workaround solution for inverting the MIDI, we're going to make a few more Logical Editor commands and put it all into one giant macro. The macro will look like this:

set 'value 3' of all notes to 0
invert all midi midi event
select bottom notes
set 'value 3' of selected notes to 128
deselect all notes
invert all midi in midi event
select notes with value 3->128

I'm going to try this out now, but it'll take me a little while to put it all in... honestly would be so much easier if there was a "Note Position In Chord (from the top)" variable.

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

so far so good, although for some reason Logical Editor has a bug and won't work if you run a key command that uses the Logical Editor if the window for the Logical Editor is open. So you have to make sure the Logical Editor window is closed while running this macro.. still working on the macro though..

User avatar
OxygenBeats
Member
Posts: 368
Joined: Fri Dec 20, 2013 8:39 am
Location: Oregon
Contact:

Re: A Smart method to Select the Highest and Lowest Pitches in MIDI

Post by OxygenBeats »

Wait... this isn't going to work... because it's not all happening at the same time... so it's only inverting notes above 68 because i'm inverting the low notes... so then when it gets to the 2nd half of the inversions, it inverts them back down.... hmm

Post Reply

Return to “Feature Requests and Suggestions”

Who is online

Users browsing this forum: No registered users and 0 guests