Editing Feature Wishlist

Hi, I’ve been using Audacity for 11+ years to produce “movie riffs,” which is essentially a commentary track that is intended to be played alongside a movie (sold separately for reasons of copyright). The process is similar to audiobook or podcast editing, but the main differences are the issues of a) staying in sync with the movie, and b) matching the volume of the movie. There are certain tasks involved in the editing of these tracks that could be made much more efficient with the right feature.

1: AMPLIFY TO PEAK

When leveling our lines to be heard above the movie’s audio, I often end up with certain repeated amplification ranges. For example, during action scenes, when the movie is loudest, all of our lines peak at about -1db, while during quieter scenes, I tend to use -9 or -6. In my current method, I have become pretty adept at hitting my keystroke for Amplify, tab tab, entering my peak value and hitting enter. But I’m doing that upwards of hundreds of times in a project.

What would be great is if I could set up a number of keystrokes to set the amplification of selected audio, e.g. Ctrl+1 for -1db, Ctrl+3 for -9db. (This might be possible with Chains, IF peak amplitude is a parameter I can set)

Barring that, I would like if Audacity would remember the peak amplitude last used instead of the amplification. That way I could at least use Ctrl+R when I need several sections to have the same peak. This could either be set in prefs, or it seems reasonable to me for it to remember the peak amp if and when the peak amp is set manually.

  1. SAVED SOLO STATES

Another part of riff production (and probably other uses) is choosing between takes. We record a section multiple times, then I have to pick the best deliveries of each line. In my current workflow, I line the tracks up and either make one the master and move lines from the other take into it as needed, then mute or delete the other take, or silence the unused lines in each take and merge them.

Either way, I am switching between tracks to listen to sections of them. As long as I am only choosing between two takes, I could mute all tracks but the first, then toggle Solo on the second. Things are complicated by the fact that I usually want to play the movie audio along with each take to see how they play in context, so with the movie audio solo-ed, I have to toggle solo on both tracks every time I want to switch (which is frequent).

One solution to this would be to allow users to save states of solo-ed tracks and load them from a keystroke. I imagine a save-to menu with a list of save states, one through nine, and a load-from menu with the same. (This is an idea taken from the save state menus from some video game emulators, if that helps).

The main problem I foresee with this feature is: What happens when tracks are added, deleted, reordered, or renamed in between saving and loading? I don’t know how it works on the back end, but if tracks have a unique identifier, this shouldn’t be much of a problem. The save state has a list of all tracks to solo, and all those found on that list would be turned on and all others turned off.

Note: I originally thought this should be a Solo/Mute save state, but I would actually leave Mute out of the equation entirely since solo supersedes it anyway.

  1. SHIFT WITHIN TRACK

Since my work has to be synched to a movie’s audio, I often need to tweak the timing of our lines. The way I do this now is one of two ways: Either select and cut a small length of track before the line, then paste after; or cut the whole line and paste it in a short time earlier/later.

This has a few problems. First, if I forget to paste back in the bit I cut out using the first method, everything afterward is out of sync. I have done this, kept working and discovered that things are off much later; then, if I’m lucky, I get to undo all my work until I find where I did that.

Second, I work with multiple tracks at a time (one for each performer). Since these tracks are recorded in the same room, I like to keep what picks up on the other mics to give it a more organic sound. (This is maybe not the best idea, but I at least want to keep the sound consistent and silencing this stuff in each track is way too much work). This is the main reason I cut and paste around lines instead of cutting and pasting the lines themselves: if I select across two tracks and cut, it takes that section out of both but doesn’t paste back both.

SO… (Finally getting to the feature here) I would like a feature that can take selected audio and move it backward or forward a certain amount (entered into a dialog box, probably) within its respective track(s) so that the displaced audio is moved to the other side. The fact that this could manipulate multiple tracks at once is the key here.

I’m going to experiment with setting up a chain to do at least part of this. I’m new to them; I’m not sure what they’re capable of.

  1. MOVE TO ADJACENT TRACK

I recently remastered an old riff someone else made, and as part of that I split the audio of three performers from one track so they each had their own. This was partially to pan them differently and partially to apply different equalization to each of them. At the time, the fastest way I came up with was to duplicate the original track, then silence two out of three for each line.

What would be more convenient would be ability to select audio and move it with a single command to the track immediately above or below it. This would essentially take the place of splitting the section and dragging it to the other track, then re-joining the original track (thus filling the space with silence). (Think of the “Copy to New Layer” and “Cut to New Layer” options for selected areas in Photoshop).

In my imagining, these moved bits would overwrite whatever is in that space if the adjacent track is not empty. This is a feature that would also be a huge help for the task of choosing between takes.

  1. NON-PERMANENT FILTERS or EXPORT EFFECTS

Definitely not going to hold my breath for this one, and it’s probably been requested, but this would be kind of like adjustment layers in Photoshop. Just some way to apply something like equalization to a track that can be undone or adjusted at any time.

Ever since I started fooling with equalization in riff production, I have tried to do all of my editing and rerecording before applying it to the tracks. Inevitably, however, I need to drop a line or ten in after I’ve done that, which means I have to remember to apply the same effect(s) to those lines beforehand.

Maybe it could be kind of an “export effect” that is set for a particular track and applied to that track before exporting. That way it would at least not have to be previewed in real time.


I hope this will at least get people thinking about how these or similar features could improve their workflow. I can imagine how some of them might be used for music or audiobook editing. Thanks for reading; let me know what you think.

Experimented with chains for less than a minute before figuring out that’s a firm dead-end. If they were expanded to allow for a Peak Amplitude parameter in Amplify, that would take care of my first feature request. And if they were expanded to include Edit menu commands, as well as the ability to move the cursor, and probably the ability to save some data to variables, then numbers 3 and 4 might be doable.

Set up some Chains with the “Normalize” effect. Normalize - Audacity Manual
The Normalize effect is pretty much like the Amplify effect, with the significant difference that it amplifies to the specified peak level. The other options can be turned off.

Aha. That is very useful, thank you.

Some standard shortcuts (they can be customised in Preferences if you wish):

Ctrl + C” copy
Ctrl + X” cut
Ctrl + Alt + X” split cut
Ctrl + V” paste
Up / Down cursor keys” move track focus up / down
Enter” toggle the selectedness of the current track
Ctrl + D” duplicates the selected audio to a new track.
Ctrl + Alt + i” Split selected audio to new track.

Some shortcut combinations:

  1. Import an audio track
  2. Select part of the track
  3. Ctrl + Alt + i to split the selected audio to a new audio track
  4. Select another part of track 1
  5. Ctrl +Alt + X to split cut, the Enter to deselect track 1
  6. Down cursor to move focus to track 2, then Enter to toggle the selection
  7. Ctrl + V to paste into track 2

If you know in advance that you will need to use a series of effects again, you could create a Chain with those effects, This ‘solution’ is not always practical, but can be a big time saver in some specific cases.

Perhaps not as useful as I thought: Is there any way to create a shortcut to a specific Chain? Using Normalize in lieu of Amplify will at least allow me to use Ctrl+R and have it remember the right setting, but if I can’t get a specific peak from a single shortcut, setting up chains will never be faster than just running Normalize. Has that Chains feature been requested? Ability to add Key Bindings to Apply Chains to Current Project?

This is definitely better than what I was doing. I’d still like to see a single keystroke that could take the place of these five, but it’s less of an issue now.

Re: SAVED SOLO STATES, adding a shortcut for soloing/muting the focused track would be a good start here. (And an “Un-solo All” would be nice too).

Re: Using chains for effects, from what I know about Chains (admittedly little), if I’m using unique settings for each track, I would have to set up a chain for each track. Then I would have to select that track and apply the right chain, which is redundant to saving an Equalization profile. What I’m trying to avoid is having to save multiple versions of the same (typically very large) project: An editing save and a mastering save.

Not currently, but I’ve logged your interest in that feature on the “Feature Requests” page of the Audacity wiki.

That would be a kind of “macro” feature. I’ve logged your interest in that also.

Maybe this kind of highlights the difference between Chains and macros? Chains apply to whole files / projects, can’t be hotkeyed, and only include effects and filters; while macros apply to selection (or area around cursor), can be assigned shortcuts, and have access to all menus — and some control over the cursor, ideally. (I saw some discussion on this topic; don’t remember if it was here or on the wiki, but it’s probably several years old and might be irrelevant now).

Incidentally, though, I actually did program your sequence into a touch gesture on my Wacom tablet. It can execute strings of keystrokes, so now I can highlight a section, and essentially flick it (with three fingers) up or down a track. The only thing I can’t do automatically is rejoin the original track I cut from because I would have to expand the selection in both directions, but this is still pretty convenient. I might start a separate thread about editing with a tablet at some point.

Anyway, I also thought of a couple other features:

  1. SELECTION SHIFT TOOL

I’m imagining that this could be hidden under the Time Shift Tool. Just hold Ctrl/Cmd and it changes appearance (perhaps something like Adobe Premiere’s “Slip Tool” |<->|). Then click and drag on a selected area to move the selection itself. Think how easy this would make copying and pasting a sound in the middle of a track that has to stay in sync. You could even make the modifier Alt so that when you use the Multi-Tool, Ctrl gets you the Time Shift Tool, then adding Alt would get you the Selection Shift Tool.

  1. JUMP TO NEXT EDGE

That’s probably not the established terminology, but similar to “Move Cursor > to Track Start/End,” I would like something that can jump to the next internal edge of a track that has been split. (Incidentally, I find it odd that “Move Cursor” is in the Edit menu rather than just under “Skip to End” in the Transport menu).

Yes indeed.
There’s a lot of similarities between batch processing and automating a series of command in the current project. It makes sense for much of the code to be common to both, but I think that to develop these features further there needs to be a split with regard to the user interface. As you say, some commands only really make sense for the current project and not for batch processing. I would envisage a “macro” feature using much of the same code as batch processing “Chains”, but with a separate user interface and addition commands available.

That can currently be done from the keyboard (but not the mouse).

  • In the Selection Toolbar, select the “Length” radio button.
  • Set the required length of the selection in the middle time control
  • Enter a start time in the first time control - the selection shifts to the appropriate start time but maintains the same length.


That will be coming in a future version :slight_smile: