This seems to work fine for the most part:
Code: Select all
I also set the eg07_time1_oncc120 to 0 when trigger=first, which means I only get portamento for legato notes.
However, when sliding down more than about a third, it sounds obviously artificial unless the glide time is very short. Sliding up sounds OK even with big intervals and max glide time. So what I'd like to do is limit the portamento somehow, and ideally limit downward glides more than upward ones.
Either just set the time to zero when the previous note is more than a major third above the current note, or set a maximum envelope depth on the glides, so that downward glides would be starting a major third above the new note, even if the previous note was higher. I might also want to try limiting upward glides, maybe have them start at an octave even if the previous note was more than an octave lower.
I suspect this is somehow possible with CC140 and/or 141, but not sure how.