Stretch, shrink and manipulate MIDI data with Sonar’s new Transform tool.
If it wasn’t for controllers and velocity, MIDI would just be on/off switches. However, the quest for expressiveness often results in a lot of data — and more data means more time spent tweaking it. Enter the Transform tool, which appeared in the 2017.04 update and makes it much easier to do mass MIDI data transformations. Here are some examples of how to use it.
I often draw in pitch-bends to create slides with bass and other instruments. However, these don’t always sound best when linear — a more concave curve that slides slowly at first, then drops more quickly toward the end can be preferable. Drawing a truly accurate curve in the PRV used to be difficult, if not impossible, but the Transform tool makes it easy.
Screen 1 (above) shows how it’s done. After drawing the line (left), open the Transform tool so that the area to be modified fits within its boundaries. Then, use the Flex Left/Right tool to ‘compress’ the steps so they create a log curve (middle). However, the bend starts too far into the note, so use the Stretch Left/Right tool to extend the Transform tool’s left boundary (right). Now the pitch-bend starts at the right time.
Note that you’ve always been able to specify whether the line between two automation nodes in an automation lane is convex, concave, stepped or linear, however you didn’t have quite the degree of customisation that the Transform tool offers, nor was this applicable to the Piano Roll View.
Compressing and expanding MIDI data can help tailor a controller whose variations are too extreme or not extreme enough (this is often particularly applicable to aftertouch). Although you’ve always been able to compress and expand MIDI data in Sonar, there wasn’t much visual feedback and you needed to use MIDI FX. The Transform tool simplifies matters considerably.
As before, Screen 2 gets the point across best. We’ll use velocity data, but this also applies to any type of controller data. The original velocity values have a pretty wide variation (left), but we can use the Transform tool to scale the lower values up (middle), thus effectively compressing the data values (right). If you need to tweak the overall output level, turn off the Transform tool, select the notes with the velocities you want to adjust, and drag the velocity values up or down to the desired peak (note that with multiple velocities selected, you need drag only one velocity and the others will follow). Remember too that you can alter the velocities linearly, or scale them ratiometrically if you hold down the Ctrl key while dragging the velocities.
The Transform tool can similarly ‘limit’ MIDI data. For example, suppose some rogue velocity values are way too high (see the left panel of Screen 3). Scale up, bearing in mind that you can scale upward outside the Transform tool’s boundaries. By doing this, the values cannot go any higher; the screenshot shows two variations, with the limiting in the middle example less drastic than the limiting in the right. To give the limited signal a ‘ceiling’ like an audio limiter, select all the velocities and drag downward.
Expansion can take two steps, because you may not be able to drag the velocity values up enough to expand low-level signals without limiting the higher velocity values. The solution is to select the notes whose velocities you want to expand and reduce all their levels (either linearly or ratiometrically) as shown on the left of Screen 4. Now you can apply the Transform tool, and drag up on the top Scale Up/Down node (remember, you can drag outside the limits of the PRV) to scale all the notes upward. This results in the final velocities shown toward the right.
At this point, astute Sonar users will likely ask why you need the Transform tool to do expansion — can’t you just select the notes, drag the velocities down, then hold Ctrl as you drag them up to scale? That will work too, but there’s a major advantage to using the Transform tool...
One of the Transform tool’s most important characteristics is being able to isolate a specific range of velocity or controller values, and processing only controllers within that range. You can drag the Transform tool’s top or bottom boundaries up or down by clicking and dragging on the boundary lines themselves (not on a node), and positioning these lines so that only certain notes are affected.
For example, suppose the Transform tool’s top line is at a velocity of 64 and the bottom line is at zero. If you drag up on the top line’s middle node, only notes with a velocity of 64 or below will be expanded; velocities above 64 won’t be touched. If you drag down, only notes with a velocity of 64 or below will be compressed, while velocities above 64 will remain unprocessed.
Selecting a range works similarly with the Transform tool’s lower limit. If the Transform tool’s bottom line is at a velocity of 64, the top line is at a velocity of 127, and you drag the bottom line’s middle node up, only notes with a velocity of 64 or above will be expanded; velocities below 64 won’t be touched. If you drag down, only notes with a velocity of 64 or above will be compressed, while velocities below 64 will be unaffected.
However, also remember that you can edit both the upper and lower limits, and aren’t constrained to dragging on only one of the nodes. This allows for many possibilities, like compressing velocities for some notes while limiting others, bringing down only those controller values below a certain top boundary value while bringing up controller values below a certain boundary line value, and so on.
The four nodes in the Transform tool’s corners allow slanting data values. For example, dragging the left-most upper node down ‘fades in’ data values, while dragging the right-most upper node down ‘fades out’ values. However, the lower nodes are useful as well because you can compress or expand values increasingly or decreasingly over time, depending on where the Transform tool’s upper and lower boundaries lie. One use would be in orchestral music, where you might want wide velocity swings to change into narrower velocity swings over a particular passage.
Finally, the Transform tool’s ‘soft mode’ allows transformations to affect neighbouring data values, thus creating smoother transitions.
Screen 5 shows how extending the sides of the Transform tool’s box to encompass adjacent values causes a smoother transition. Without soft mode, lowering the controller values would have produced a jump down from the higher controller values to the left of the Transform tool’s boundary, and an abrupt jump up to the higher controller values on the right. Instead, the controller values transition smoothly over the time that falls within the Transform tool’s side ‘extensions’.
Finally, here’s a little-known MIDI time-saver for drawing controllers in the Piano Roll View. You can call up the Draw tool with the F9 key command and draw lines in the PRV (the Line tool is the only Draw tool that works in the PRV; the others are for automation lanes). However, you needn’t leave the Smart tool to draw a line, because you can draw a line in the PRV by holding down Ctrl+Shift+Alt, as well as change the line’s angle by dragging up and down.