Does anyone know of a way for Cubase to interpolate CC data values or have a shortcut of solving this? Potentially using the logical editor. Let’s say I have a ton of the below shape in a midi region. I normally switch to the line tool to fill it in (remove the valley shape). I want to know if there’s a faster method.
Ex. Transform this: I’d like to highlight the valley portion…
into this: As if using the line tool to transform the points.
In your example, you don’t really need to transform any data points. Just Select and Delete them and you’ll end up with a straight line filling in the gap. If you need it a bit more fancy you could add a couple of points or use the Curve Tools (pretty sure that’s not what they’re really called).
Right, I know how to edit midi and use the tools. My main question is if it’s possible to “fill” in or interpolate between 2 points with a shortcut.
Specifically if I have a ton of regions with data that looks like this. Isn’t super efficient to switch to the line tool and click drag multiple times to do this. I’d rather highlight and hit a shortcut…or better yet select the whole region and hit a shortcut to fix multiple instances of midi data that looks like this.
With the Logical Editor about the closest you can get is to have it set all the selected Data Points to the same value. But that isn’t really what you want it seems - in your after pic the Points ramp up over time and the LE doesn’t have a mechanism to do that. However there have been some functions added to the LE with Cubase 12 that I haven’t looked at yet, so maybe something useful for this got added, but I doubt it.
Curious why you want to keep the circled Data Points and change their values rather than just deleting them? What benefit do you see in keeping them?
Well mostly it’s from using a breath controller. Imagine a region with many long sustained notes. There would be a lot of sections with this “drop out” valley shape.
I normally go in with the pen / curve tool and remove the valleys. But this is time consuming to do on many regions. I wanted to know if there is a more effective method to remove that data in a way that “fills” in the gap with non static data.
Simply deleting the valleys still requires a precise selection, and the straight line is completely horizontal and flat which isn’t good as it makes the control static. I’d have to change the cc data values to ramp/curve (from default step) on all cc lanes to have the line properly “connect” when deleting points, which to my understanding, is higher on cpu and not an ideal fix.
There are 2 methods that get the result that I want, both still involve manually editing each valley shape which can take a while with many regions.
-Set all data values to ramp/curve and delete the points in the valley range.
-use pen or curve tool to redraw the data over the valley range.
My question is if there is a way to shorten these steps in any way. Ideally I want to remove all valleys in a region with one keypress, but I’m not sure this is possible.
Perhaps using the pen is the best and quickest method.
Ah, that makes sense.
That’s generally not going to be the case. You will only end up with a horizontal line if the 2 Data Points at each end that didn’t get deleted have exactly the same value. If they don’t then the line will have a slope and not be static. But even if it were flat I doubt it would be noticeable over that length of time.
I get why you want to fill those spaces, it seems sensible. But I’m skeptical it really makes an audible difference and suspect you are just making busy work for yourself. In the pic below I took the Controller Data Curve A and duplicated it twice. For B I Deleted the ‘trough’ Data Points (which you can see doesn’t leave a flat static line) and for C I drew in the Data like you’re doing. I think B and C will pretty much sound the same and one method is a lot more work than the other.
Try duplicating a Track that has these troughs. On one copy, repair it like you normally do and on the other one just delete the Data Points. Then compare how the two sound.
Thank you for the guidance.
Only if the CC curve type is set to curve/ramp
I’ve now set this to be the default and hopefully there isn’t a drastic cpu change. So I will try out this method. It does make a lot more sense for realism and sample library stuff.
This should help with speed, however it would still be nice to select all of these dips in the data somehow with the logical editor. Perhaps there’s a way to select a steep slope moving downwards or something.
Anyways if you have any further ideas that’d be great, but thanks for getting back.
Also, unfortunately setting the default to ramp/curve doesn’t work with recording in parts??
I put in a new part and its still on steps…
There won’t be any difference. The calculations involved are simple arithmetic and orders of magnitude less CPU intensive than pitch shifting or running a reverb plug-in.
The basic limitation in the Logical Editors that gets in the way of lots of stuff is that there is no mechanism that lets you do something to Item A based on a condition in Item B. You can do stuff like take every Data Point with a value less than X and set it to Y - but that’s just going to give you a horizontal line unrelated to what comes before or after it.
I wonder if it would be more fruitful to work on the breath controller during input.
It is quite annoying to have to select cc data and change to ramp every time you input something. Is this really the only method to use ramp?
What do you mean?
I’m under the impression that since 2010 or so, horn player were upgraded to have infinitely large lungs and no longer need to take a breath during a performance.
So I’m basically under the impression I can’t improve this lol. At some point gotta get back to work. But yes I’m all for anything to speed up the time consuming editing…that was the point of using a breath controller anyways.
I suppose the pen tool is still the best way.
Hm. That sounds like some circular logic!
Joking aside, maybe there’s a way to deal with this during recording. Does the breath controller you use have a control panel?
Another question – do the dips in the CC value correspond to the ends of notes, by any chance?
There is some control panel, I use TEC BBC2. No they don’t correspond to notes really.
Maybe play with settings if there are any that can help… I don’t know this device, so can’t really add much on that.
Another thing might be to evaluate if you can change your embouchure technique to accommodate.
Arrrggg (both a dad & band joke)
Mine defaults to Ramp and not Jump so there must be someplace to set that. I took a quick look in Preferences and didn’t find it (but it can be easy to not find stuff in Preferences).
A different approach would be to use the Input Transformer to filter out any of the cc messages with a value less than X. Functionally whenever you went below the threshold it would just maintain the last value until you exceed the threshold again. You’d never even record the troughs.
Is it defaulted to ramp when you record a part in though? When I add points, they are ramp but when using record they are not.
Interesting. Since I don’t have a Breath Controller I played around with this using Mod (cc1). When I record the cc Data inside the Key Editor it does indeed set them to Jump. But if I instead record the cc Data as Automation on the Track it is then set to Ramp. Having the Data inside the MIDI Part means the timing relationship between cc Data and Note Data is fixed - when you move a Part both the Notes & cc Data move, which is pretty useful. But when the Data is recorded on the Track the Note Data & cc Data can be moved independently from each other, which could be a problem (or a benefit depending). However if you select both the cc Data and the MIDI Part you can use Edit>Group to lock them together. So either way can work.
In any case you should be able to use the Logical Editor to bulk convert all the cc Data from Jump to Ramp (he says without actually checking). So that can be a single key-click task.
Alright lol, I don’t think you can do that in logical editor. Would be helpful.