Implementing accessible automation

From Reaper Accessibility Wiki
Jump to navigation Jump to search

understanding automation

Automation is a very powerful feature of pretty much any DAW. It is simply the process of having the software make some changes automagically whether it is panning a sound from side to side, raising the volume of a lead vocal during a prominent section, and much more, depending of course on the effect. For more information read the relevant chapter on the reaper user guide. An audio tutorial is also available.

Implementation using osara and NVDA

once you have a track or an item with sound you want to automate, its recommended you bind the following actions to any shortcuts you like:

  • Track: Show track envelopes dialog
  • Take: Show take envelopes dialog
  • Envelope: Toggle show all envelopes for tracks
  • View Envelopes for Current / Last Touched Track : bound to Shift + L by default
From the track and or take envelopes dialog you can use NVDA's object navigation to arm, unarm, make visible or invisible anything from the volume to pan to any other parameter you have available, (assuming you have inserted an effect that can be automated). You can also set the
automation modes there and optionally make reaper link a parameter to a midi control message sent by a knob or a mod wheel, assuming you have a device
with those controls, or even midi notes will do it as well.
Assuming you have too a midi device set up properly. 
Alternatively you can select the track, then press control
applications on it, and then arrow up to the envelopes submenu and control the parameter status from there, but it only lets you just do volume and pan. Unfortunately Those basic parameters, the native ones, such as pan, volume and so on, the ones that do not correspond to an added effect, will just not have the options like mod.. for parameter modulation or learn... for assignation to a midi controller available.

However. The action "Track: Set volume for last touched track" can help you out. Bind it to whatever you are using to control it, can be a kkeyboards mod wheel for exaple, (not recommended because of limited resolution though) then select the target track and arm its volume envelope, then set the automation mode to write. When you do this you are basically using the mouse method of physically moving the onscreen faders as described in the manual.

Quick bit on automation modes if you use an external device

  • read: does what you expect as a track is playing back. For example, panning a sound from left to right in about 10 seconds. Moving an assigned panning control when the automation is occurring will not alter the panning at all, and the panning will continue as planned. Nothing will get recorded or overwritten even if the pan envelope is armed. This will prevent accidental automation changes.
  • Read/Trim: This is similar to read, however: when you move the controls the overall level of whatever you move is altered. This will still not record any control movements but it will change the sound and apply the envelopes accordingly. A particular case comes to mind where this could be of use, say your obnoxious rude guitar player took a solo (that you lifted during that stellar moment using the volume envelope). If you simply raised the volume of the track, and had this set to read only, automation would ruin your overall volume change and bring the solo down, so he would give you a pretty angry glare. With the read/trim option, your preciously and ever so carefully crafted automation will still be intact, and you can still keep your guitarist ego intact as well because he is hearing himself more than the rest of the band at all times.
  • Latch/touch: Say you were panning that sound from the first mode from the left, but something was not quite right, it just needed ... a bit more smoothing out because it jumped too abruptly to the right somewhere. Here is where latch or touch come in. When you play the track back and move the controls, the existing automation points are applied, but new points are added. The most practical way of probably getting this across fast its like the midi overdub option but for automation.. an automation overdub if you will. So by moving the control more slowly when you do a second automation pass you add missing points that could smooth out the panning without having to do the automation all over again. So what is the difference you ask?
    • Touch will add the points, but it will stop adjusting levels and so on as soon as you stop moving the control.
    • Latch will not only add the points, it will also keep the level where you left it, and subsequent points will act relative to that level. Its very similar to the first two modes. Latch in this case would be more helpful, assuming the last portion of the sound had a smoother panning than the first part did.
  • write: Will overwrite absolutely everything as you play the track back. So if you had that panning perfect after a few tries but forgot to switch the mode to read when you presssed play the next time, you are in trouble because you just recorded a blank automation pass over your already existing automation. Of course this is an exaggeration, you can always undo.
  • latch preview: This mode is useful when you want to automate something, but you are not quite sure by how much you want your points to increase or decrease. So you can start doing automation passes until you find that perfect envelope shape, or knob movement  speed and nothing will get written, but it will get remembered none the less. When you are happy with the result you can commit permanently what you just did by either
    • using the actively-writing automation actions or 
    • just changing the mode to latch and playing the track back again. The actions allow you to write only what you had done within a time selection, or from the cursor to the end of the project, and so on. best thing is that you do not have to keep doing automation, then stop, and then undo. Automation, stop, undo.

Remember there is a quick and intuitive way to have any effect parameter show up as an envelope.

Latch is usually a much better option when you need to actually "write" stuff without keeping your hands on the controls. Read, Touch and Latch is probably all most ever need. if you still have your envelopes armed and wish to just hear the result without anything getting accidentally changed, then set the mode to read

drawing manual automation (no external device)

So you may be asking yourself.. OK, so I armed my envelopes, now what? I do not have own or wish to use an external device. So, for this examples you armed volume and pan which are usually the most commonly automated things on a track. All you have to do then is select the track or item, then press control plus l, and osara will move to the next armed and visible envelope, (control shift l move you to the previous one) reporting if it is armed or not. Usually when you arm an envelope without making it visible then it will become visible automagically.

You can then if you wish use the action: toggle show all envelopes for tracks to know what you have available.

You set your points after selecting the envelope, right where you feel like it, using your surface, controller, or manually by control plus shift plus I. then you move backwards or forwards through them using alt plus j and k, and then you can edit the value for every one of them first by selecting the envelope, then the point, and then
pressing alt plus shift plus e. You can edit the value, specify the curve, the attack or start of the point, ETC. and that's pretty much all. have fun, or read on for more.
oh, right. one last action you'll probably want to consider:
FX: Arm track envelope for last touched FX parameter
because you might be experimenting with some alien effect and probably won't have too much time to know what was that you just moved or to scroll 50 times to find that parameter buried on the track envelopes dialog.

what are all those shapes?

Point shapes work in the following way, and they are always valid when two or more points are set, meaning that changes will always be from point to point.

  • linear: draws a constant curve. The change will be constant throughout time from point to point.
  • Slow start/end: just as its name implies, the curve will be drawn with rounded, almost oval-shaped edges for very smooth transitions.
  • fast start: the curve will have an abrupt change as soon as this envelope point is encountered during playback.
  • fast end: the curve will have an abrupt change after passing this envelope point during playback.
  • square: this is shown as a 90 degree right angle. Its useful for on and off type parameters such as track mute, toggling effect bypass, or when you need an exact, immediate transition.
  • Bezier: points using this type of curve can have a curve tension set, available right next to the type selection combo box. Having a curve tension set means that the higher the tension the less smoother the change will be.

Moving the slider after having a point type other than Bezier selected will always cause the point to be changed back to the Bezier type.

Points can move up or down or left or right. What's up with that?

Moving a point left and right will just move the point positions left or right, that is, sooner or later during playback. Moving them up or down will increase or decrease the value of the parameter that the point controls, volume for example. This will of course, affect how the curve looks on screen. so, you can use the following commands bound to the numeric keypad :

  • numpad 4 and 6 to move items or envelope points to the left or right.
  • numpad 8 and 2 to move points up or down.

as with anything osara related, you must select the track or the item first, then the envelope, then the points and then you can perform actions on them.

using automation items

Latest OSARA build already has the ability to navigate/select automation items and envelope points. From the osara read me: An envelope can contain one or more automation items positioned along the timeline. With OSARA, you move to automation items as follows:

  1. Select an envelope using control+l or control+shift+l (OSARA: Select next track/take envelope (depending on focus)).
  2. Now, use the normal item navigation commands; i.e. control+rightArrow and control+leftArrow (Item navigation: Select and move to next item, Item navigation: Select and move to previous item). Multiple selection is also possible using control+shift+rightArrow and control+shift+leftArrow (OSARA: Move to next item (leaving other items selected), OSARA: Move to previous item (leaving other items selected). Noncontiguous selection is done the same way described for tracks and items.
  3. The item navigation commands will revert back to moving through media items (instead of automation items) when focus is moved away from the envelope. For example, moving to another track and back again will again allow you to move through the media items on the track.

Once you move to an automation item, the commands to move between envelope points such as alt+k and alt+j (OSARA: Move to next envelope point, OSARA: Move to previous envelope point) move between the points in the automation item. The points within an automation item can only be accessed after moving to that automation item; they cannot be accessed from the underlying envelope. To return to the points in the underlying envelope, simply move focus back to the envelope by selecting it again with control+l and control+shift+l (OSARA: Select next track/take envelope (depending on focus), OSARA: Select previous track/take envelope (depending on focus)).

Also do note that context menus will work just as expected, so whenever you select an automation item you can press the applications key to display a menu with further options (which also appear in the actions list) which deal with automation items.