Clarify lack of prepackaged support for automatic level detection on a signal path.
authorJoe Berkovitz <joe@noteflight.com>
Thu, 30 Aug 2012 10:57:59 -0400
changeset 155 9d14e0e3a3a6
parent 154 3dbacbe041d9
child 156 2a6431dcb680
Clarify lack of prepackaged support for automatic level detection on a signal path.
reqs/Overview.html
--- a/reqs/Overview.html	Thu Aug 30 10:59:38 2012 +0100
+++ b/reqs/Overview.html	Thu Aug 30 10:57:59 2012 -0400
@@ -232,7 +232,7 @@
         <li><p>Building this application requires the application of <em>gain control</em>, <em>panning</em>, <em>audio effects</em> and <em>blending</em> of multiple <em>mono and stereo audio sources</em> to yield a stereo mix. Some relevant features in the API include <code>AudioGainNode</code>, <code>ConvolverNode</code>, <code>AudioPannerNode</code>.</p></li>
         
         <li><p><em>Noise gating</em> (suppressing output when a source's level falls below some minimum threshold) is highly desirable for microphone inputs to avoid stray room noise being included in the broadcast mix. This could be implemented as a custom algorithm using a <code>JavaScriptAudioNode</code>.</p></li>
-        <li><p>To drive the visual feedback to the broadcaster on audio source activity and to control automatic ducking, this scenario needs a way to easily <em>detect the time-averaged signal level</em> on a given audio source.</p></li>
+        <li><p>To drive the visual feedback to the broadcaster on audio source activity and to control automatic ducking, this scenario needs a way to easily <em>detect the time-averaged signal level</em> on a given audio source. The Web Audio API does not currently provide a prepackaged way to do this, but it can be implemented with custom JS processing or an ultra-low-pass filter built with <code>BiquadFilterNode</code>.</p></li>
         <li><p>Ducking affects the level of multiple audio sources at once, which implies the ability to associate a single <em>dynamic audio parameter</em> to the gain associated with these sources' signal paths.  The specification's <code>AudioGain</code> interface provides this.</p></li>
         <li><p>Smooth muting requires the ability to <em>smoothly automate gain changes</em> over a time interval, without using browser-unfriendly coding techniques like tight loops or high-frequency callbacks. The <em>parameter automation</em> features associated with <code>AudioParam</code> are useful for this kind of feature.</p></li>
         <li><p>Pausing and resuming the show on the audience side implies the ability to <em>buffer data received from audio sources</em> in the processing graph, and also to <em>send buffered data to audio destinations</em>.</p></li>