I stumbled upon a bug (probably) in the MIDI velocity compression (Menu: MIDI-> Functions → Velocity → Compress/Expand).
It looks like this algorithm computes an average of all velocities in a clip and moves velocities of all selected notes towards it by a given percentage. My guess is: it should compute the average of only the selected notes but it takes the average off all notes in the selected clip. Which gives strange results. But lets look at it.
Steps to reproduce:
- create an empty midi track
- create a single clip in it
- put several notes, pitch doesn’t matter (in my example its alternating g#2 and a#2 so you can tell them appart better)
- enter velocities for all notes like in my both test cases below (select notes, double click the velocity value in the info line (?) at the top of the key editor, enter the value there and press ctrl+enter (windows) to apply it to all selected notes
Test case 1:
A lot of notes with velocity 0 and a single note with velocity 127.
Now we compress just the first two of them
Result: Both notes have very low velocities now.
Test case 2:
A lot of notes with velocity 127 and a single note with velocity 0.
Again we compress just the first two of them with the same settings, basically this should do the exact same as above.
Result: Both notes have very high velocities now.
This is an extreme case for testing. If you put fewer notes in the clip, the values go less extreme. This suggests that all notes in the clip are being taken in account for the computation of the average velocity, although it’s only applied to the selected ones and probably should only use those to calculate an average.
I’m on Windows 10, Cubase Pro 11.