Difference between revisions of "Taxonomy of Effects"

From Audacity Wiki
Jump to: navigation, search
(New Page.)
 
(Rough and Ready Classification: format tweak for clarity)
 
(6 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
==Properties==
 
==Properties==
  
'''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.
+
* '''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.
+
* '''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 Time<sub>1</sub>:''' 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 Time'''<sub>''PLAY''</sub> ''':''' 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 Time<sub>1</sub>:''' 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.
+
* '''Real Time'''<sub>''TWIDDLE''</sub> ''':''' 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 i nthe frequency domian without converting back to the time domain for intermediate steps.
+
* '''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.
  
  
Line 17: Line 17:
  
 
[[Category:For Developers]]
 
[[Category:For Developers]]
 +
 +
 +
==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.

Latest revision as of 10:00, 17 June 2018

This page attempts to classify effects in a way that is useful/relevant to programmers working on the code


WIP.png Work in Progress. Please add to it and edit

Properties

  • 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.


Auto Duck

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.