Proposal Select Then Act

Proposed Feature
This is not really a single feature, rather it is a splitting of:


 * Truncate Silence: into detection and then concatenation of detected sounds.
 * Click Removal: into detection and then removal of the clicks.

Followed by some enhancements to selection creation so that we can easily create discontinuous selections from multiple labels, add to and reduce selections, and perhaps even specify fuzzy boundaries to selections so that 'mixing' of the selections is already defined in the selection.

Developer Backing

 * James Crook
 * Richard Ash

Use Cases

 * Finer control over any of the effects proposed for splitting. Intercepting at the first stage allows the selection to be fine tuned more easily.

Screenshots of Experiments
The image below shows multi-select in operation in an experimental TrackPanel plug in for Audacity. The green part of the wave is showing another experimental feature, where label colours are reflected to the wave too. The extra selection regions are added by holding ctrl down when creating a selection.



In current operation multiple selections can overlap. This is shown with a darker selection in the area of overlap. That's OK up to about four fold overlap, after which you can't see the extra overlap or the waveform! When multiple selections overlap effects like 'amplify' or 'echo' applied to the selection will be applied more than once in the area of overlap. Currently I think this is a feature rather than a problem. You might actually want that.

Discussion
James: Splitting out a 'silence finder' that creates a series of regions also suggests we'd have a 'region compactor' that removes spaces between a series of labels and does truncate-silence's micro-mixing to avoid clicks. This way of building up functionality is going in time to lead to a more powerful Audacity.

A motivating analogy to think about is how an image editor like Gimp has n tools for modifying selections and m tools for doing something with selected regions giving n x m compound operations. Databases do the same thing with select-then-act. This kind of architecture is also way better for optimising quality of complex operations than dialogs with lots of parameters and crucially no feedback on the intermediate stages.

Richard: If you want another example to think about design with, then consider breaking the current click removal effect into two parts, a click detector and a click fixer. Then provide a way to replace the latter (currently a filter I think) with the Repair effect (based on interpolation) to see if that is more effective as a click removal system.

I think the ability to use labels to mark up complex selections is very powerful in this context, but we do need some more sophisticated means of applying effects to many labels - which will probably be useful in their own right.

Deconstructing Compound Commands
This section, which may move to a new page, is just playing with the idea of deconstructing commands into more atomic ones.


 * Trim = InvertSelection + Cut
 * Cut = SplitCut + RemoveGap
 * Delete = PushCutBuffer + Cut + PopCutBuffer
 * TruncateSilence = SelectSilence + ShortenGaps
 * Zoom To Fit = PushSelection + SelectAll + ZoomToSelection + PopSelection
 * SoftwarePlayThrough = Play + Record (see buttons on Proposal TrackPanel Evolution for how the toolbar can do this)