Suggestion Du Jour: Intelligent Dissolve

I wish there was an option for MIDI Dissolve that would make an attempt to divide the track into separate parts -melodically-. I realise this would be an imperfect thing, but I often have little bits with a melody all by itself and chords underneath, or a chord melody of parallel lines and it shouldn’t be -too- hard to try to extract separate ‘lines’ in those cases. Or even with a ‘split point’… all notes within certain ranges go to a different lane.


I believe I once did that using the logical editor to select all notes above or below a certain cut off, but it doesn’t work if there is an overlap in note range between the two lines (at least I couldn’t figure out how to do that).

Another way I’ve done is to shrink the project down in the left-to-right dimension (I think the default hot key is “G”) until enough of the project is in view, then draw a box around the upper or lower range of notes to select them. Then I just copied/pasted them, or transposed them etc.

Probably not a real good answer to your question, sorry, but maybe it will help a little bit …

Yep, I’d like something like that as well. Not so easy to code perhaps, because often 2 melody lines might overlap vertically.

it shouldn’t be -too- hard to try to extract separate ‘lines’ in those cases. Or even with a ‘split point’…

So. How would that be acheived? Explain, please. It shouldn’t be too hard. :laughing:

The difficulty would, of course, be to make the software good at deciding where the split-point(s) is/are.

Sometimes, I select all the notes above “safe” split-points (for different bar ranges) and change their MIDI channel. Then, I go through again and pick notes off individually or a few at a time and change their MIDI channel. (Playing back with the channels assigned to different instruments makes it clear where there are notes not yet properly allocated. Later there’s the option of splitting into multiple MIDI tracks, based on the MIDI channels.)

The zones where there’s a fairly clear (pitch-based) split point are easy enough to deal with in that way, and I expect the only significant benefit from automation would come in the places where the split points keep changing or where there’s an overlap - but, that, of course, is precisely where the software would have difficulty. If the software made bad decisions in those circumstance, you might be forever undoing its decisions or manually correcting what it’s done.

As Conman implied, a first step to seeing how readily this could be done (with varying split points) by software could be to write down instructions in plain English that someone else could follow to do the separation manually - and, preferably, achieve good results with more than one kind of playing.

I suppose it might be possible (in principle) to use note-on velocity to identify a melody amongst the notes of an accompaniment (if you’ve consistently played the melody louder than the other notes in the RH). But, of course, if the loudness varies throughout the piece, the software would have to continuously update the velocity split-point - perhaps no easier than having to update pitch-based split points.

So, yes, perhaps someone (suntower?) could post some step-by-step instructions for a manual procedure that works effectively in his circumstances, and then others could see if it works in their music?

Hoo boy…

The concept is known (at least in English) as ‘boundary mapping’ or ‘least cost routing’… and the basics are taught in every 1st year college computer science class—or at least it was in -my- 1st year cs class back in 1975. So by now, it’s probably done in high school.

No, you can’t deal with tone clusters and interwoven things, but that’s not what I asked for. I asked for a simple -attempt- to do what I do simply by:

  1. Grabbing all notes above a split point or…

2, Grab the topmost note of every line and move to a line, then repeat with remaining notes until down…

  1. Do the same but starting with the bottom-most note.

Those kinds of algos are not rocket science.

But it -would- be a real time-saver for someone like me.


Though isn’t alexis right in saying it’s already possible to select all notes above a split point using the Logical Editor? (if you don’t want to do it in the MIDI editor)

In the score editor, you can set a split point to get a piano-like treble-and-base-clef score. I wonder whether that could be of any use here.

2, Grab the topmost note of every line and move to a line

And just put up with it sometimes going wrong when there are rests in the top line. Manual adjustment.

then repeat with remaining notes until down…

So, away from situations like chords beneath a melody line, or something along the lines of four-part vocal harmony, the user accepts that it might or might not do something useful – so something to try it to see if it helps, and not be too bothered if the result’s bad.

Is my memory letting me down, or is there already something in the score editor that tries to take a chordal part in one staff and split it into single lines on different staves? I wonder whether that would work.

If it’s that simple they would have done it wouldn’t they? Maybe they will, who knows?
Could be one of those things like Buddy Rich being the greatest jazz drummer who kicked his kit to pieces when being taught to do simple disco beats. It’s true! Maybe the Cubase programmers are like that. :smiley:

Forgive my curmudgeonliness… I have not been around for a while but the tenor of this place has really changed.

But back in the day… when someone posted a -suggestion- or -request- it was aimed @ Steinberg—who actively monitored the fora, in a somewhat vain hope that the feature would be added to a subsequent release.

What seems to be the norm these days is for people to offer endless work-arounds. I didn’t ask for a work-around. I just wanted to let SB know about the featured I asked for in order to save me -time-. All these other solutions are things I do now and are quite laborious. I want a one-button function… even if it’s not 100%, it would be helpful (BTW: I see that certain -existing- functions, such as the key-aware transpose and delete doubles -still- don’t work properly after all these years—better than nothing, though!)

IOW: If someone posts a Suggestion, please either support or not, but bear in mind that a -suggestion- is just that… not a cry for another work-around.

I do appreciate the efforts… really. But when I need -help-, trust me, I’ll scream for HELLLPPPP! Just like a leeeeeeetle girl.



Believe it or not, a “workaround” actually is the way to do the job as it stands. The positive suggestions of the other contributors are not “workarounds”. They ARE ways to do what you are asking. If it’s very easy, as you say, for programmers to do this then it’s just as easy to use the existing program to work it out ourselves.
The word “workaround” just means that it’s more than one button push to do.
In the end when we ask for more buttons to push we end up with too many buttons to push. :mrgreen: I’d rather do the job than collect buttons.
We differ. It’s allowed. I’m just trying to ascertain whether this would change your, or my, life that much. :slight_smile:
And bump and see if you get any positive response other than me.