Taxonomy of Effects
From Audacity Wiki
|This page attempts to classify effects in a way that is useful/relevant to programmers working on the code
- Tail: Possibly parameter dependent amount by which an effect lengthens the data it operates on. In Equalization we usually truncate (ignore) the tail. In echo and reverb we currently do so too, and perhaps should not.
- Time Warping: Does the effect 'move things' temporally? E,g, TruncateSilence does. This is NOT a hard and fast concept, since Echo does and doesn't move audio.
- Real TimePLAY : Can the effect be processed as fast as audio is played? This is computer and parameter dependent. There are also rendering trade offs. For example we can pre-buffer some processing, and then 'play in real time' for a while, generating audio a little slower than we consume it.
- Real TimeTWIDDLE : Can we twiddle effect parameters as it plays? Looping could be regarded as an effect with selection as a parameter that can be varied as the audio plays.
- FFT Based: Is the effect in the frequency domain? It may be we can chain filters in the frequency domain without converting back to the time domain for intermediate steps.
Is Auto Duck an effect, or something else? What if it uses labels to auto-duck rather than audio?
Rough and Ready Classification
- An 'Effect' is a function from audio samples to audio samples, taking parameters from a dialog.
- A 'Generator' is a function with a duration as input taking parameters from a dialog and yielding samples.
- An 'Analyzer' is a function from audio samples to audio samples or labels, taking parameters from a dialog.
- A 'Tool' is everything else.