Relative scaling and ramps of note event expressions and automation data

An efficient method for scaling note event expressions and automation data in a relative manner. For instance, this would allow selecting a group of notes and then increase or decrease their velocity maintaining the relative distances between their values, instead of simply raising or lowering all values by a static amount.

To extend this idea a bit further, relative scaling of a data range ramping up or down becomes especially useful for changing existing data into buildups or fades, while still maintaining previous dynamic performance aspects. For example, imagine you’ve already performed or programed in a dynamic snare roll with strong beats and weak beats, but now you want to use that roll in a buildup. By doing a relative tilt/ramp of the velocity values for that snare roll, you can still maintain that musical performance into the edit of the buildup, instead of having to re-program and/or re-perform the same thing except now in a crescendo.

The video below in the links section (from 8:40 ro 11:00) shows how this is done in Cubase, which is my most missed feature in that DAW. Not shown in that video is that the same scaling handles are also automatically applied to any piano-roll Midi CC parameter as well as any automation data in the arranger.

Note that as far as implementing into Bitwig, I don’t think they would need to necessarily copy-cat Cubase’s (rather good) implementation, but could be modified to fit Bitwig’s existing aesthetic and workflow concepts. In particular, it might be cool to have a data scaling curve that could be not only a straight line or tilt to scale with, but could also shaped up or down much like the automation curves between data points. I think this would actually one-up what Cubase has done.

What is this feature about?

Fast and efficient editing of midi velocity/expression as well as automation data.

What problem(s) would this feature resolve?

Midi and automation data editing is possible, but inefficient, as it relies on either editing ranges of data by a static value, or by editing individual points or curves between points.

How does this feature fit in Bitwig as a product?

I want to say yes, in that it fits in with a tight focused workflow that’s part of Bitwig’s ethos. On the other hand, Bitwig has been often noted (at least in the subreddit) to be lacking in more basic DAW-centric functionality as opposed to the myriad sound design tools in its arsenal. I think this feature would help balance the scales, so to speak, to make Bitwig more well-rounded in the DAW marketplace.

Is there already an alternative way to achieve this on Bitwig?

Partially. For midi velocity in particular, the inspector has a velocity histogram sub-menu where you can find a scalable parameter called “scale” that can essentially compress or expand the relative velocities. By raising this up or down and then also moving the “mean” value up and down, you can achieve the relative scaling up and down shown in the video.

You cannot, however, do this in a ramp over time. And this is also limited to only velocity; not other midi expressions, Midi CC values, or automation data. If you want to get really clever, there may be some modulator workarounds, but the point here is efficiency in editing, so that really defeats the purpose of this request.

Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?

No. At least not in any sort of efficient manner, which is the main point here.

Could it be provided by a VST or something else reasonably integrated with Bitwig?

Also no.

Are there other products that offer this feature?

Cubase certainly does, as shown below. Not sure about other DAWs.

Relevant links (optional)

The following video (auto-starting at 8:40 until about 11:00), shows how this is implemented in Cubase. Note that although the demonstration focuses on Midi velocity only, the same implementation is carried over to Midi CC (also within the piano-roll) as well as automation data (in the arranger view).

1 Like

This feature request was spawned from my discussion in the “Better Piano Roll” topic. For yet more detail and context, you can have a look at the specific comments of that thread here, here, and here.

Thanks @knoqz for the constructive feedback.

We can move the related comments here. Can you share the links of the specific comments, please? These links can be found in the time stamp of each comment in the top right corner.

@ultratot I’m very sorry I didn’t get to your request before. Let’s see…

Here we are talking about three different aspects:

  1. Relative scaling of note event expressions.
  2. Ramps for note event expressions.
  3. Relative scaling and ramps for automation.


For 1, as you say relative scaling already can be done in the inspector.

The other expressions also have the same histogram with the Scale value. What expressions are you missing?

About MIDI CC values, can you mention an example? If MIDI CC values are important, they are not mentioned in the description.

Because Automation is handled in a different panel, I wonder whether we shouldn’t discuss it separate from note events. Also, is this chapter in the user guide about about Relative Automation useful?

The feature shown in that Cubase video that seems to be absent in Bitwig are these convenient ramps. Should we focus this feature request in ramps for expressions groups of notes?

I found this video about how to create ramps using the Velocity Curve device and automation. The advantage is that you can draw automation lines and curves however you want. The video is in German but I think it is easy to follow just by seeing what they are doing.

In clips we have relative automation already. I came across these videos recently:
Its also is available in arrangement. I see the request already covered…

1 Like