I often find that when I’m recording controller data, it is often not as smooth as I’d like it to be.
What would be a great feature (that would also work with automation data, though it is less important there) is a command or tool that allows you to smooth out controller data.
Let’s say for example I’ve recorded a modulation track that has a fair few ‘bumps’; the smooth option would start averaging out the values between each other so that the data becomes smoother.
It’s basically the ‘lag’ function from samplers such as Kontakt (and the older Emu’s), but instead of a real-time effect implemented as a tool or function to apply to varies midi controller data while editing in the Key editor.
The tool could have a number of options to smooth things out and indirectly quantize the data:
-smooth strength; a percentage value that indicates how much smoothing is applied to the ‘vertical data’ (controller value) in one go; 100% would practically level the data, wheres 10-20% would be a more useable value so that smoothing can be applied incrementally.
-smooth position: smooths out the position of the controller data to a quantize grid; the default would be 1/128, but it could be set to lower values (which in some cases can result in almost ‘sample and hold’ type controller quantising, or higher if you would want to retain as much of the original as possible.
-smooth radius: a percentage value that indicates how much of the surrounding data is smoothed with it; the inside of the radius is smoothed by 100% of the strength value, with fallout to the outside of the radius (which would be 0%).
-position merge: again, uses a grid value to decide (when the positions of controller data start to get close together) to merge to two positions together. This would be done to stop the data (when the controller position is being smoothed/quantized) of overlapping and having multiple values close or on top of each other.
In use, one would record some data, go into key edit and invoke the tool and press ‘apply’ a few times to apply either just ‘vertical’ smoothing or smoothing of both values and position.
If the controller data would have a few high values followed by a low value, excessive smoothing would automatically create a transition from the high values to the low values.
How does that idea sound?