- From: Karl Tomlinson <karlt+public-audio@karlt.net>
- Date: Wed, 11 Dec 2013 18:13:49 +1300
- To: Olivier Thereaux <olivier.thereaux@bbc.co.uk>
- Cc: Audio WG <public-audio@w3.org>
On Thu, 5 Dec 2013 09:57:28 +0000, Olivier Thereaux wrote: > On 5 Dec 2013, at 01:02, Karl Tomlinson <karlt+public-audio@karlt.net> wrote: > >> Chris Lowis writes: >> >>> On the call the participants reached a consensus to: >>> >>> 1) Keep dezippering in the spec >>> 2) Apply it universally to all parameters (such that there are no >>> "edge cases" in the spec >> >> Is someone able to elaborate, please on the reason for the change >> in viewpoint? Previously, most people on this list seemed to be >> in the explicit-is-better-than-implicit camp. > > See the minutes of our last teleconference for details: > http://www.w3.org/2013/11/21-audio-minutes.html#item03 > > It was tossup. We went for “paving the cowpaths” and standardising the > behaviour in Blink/Webkit. Given the quorum at the teleconference, there was > an obvious need to check that other implementors and WG members could live > with this, hence this CfC. I had a look at what Blink code does, so I'll post my notes here for reference. (I don't know whether or not this differs from Webkit.) When there are no nodes connected to an AudioParam, changes from the value setter are smoothed using a function similar setTargetAtTime() on these nodes: BiquadFilterNode and OscillatorNode use a factor of 0.95 per sample interval, which at 44.1 kHz is roughly equivalent to a time constant of 0.44ms. GainNode uses a factor of 0.995 per sample, which at 44.1 kHz is roughly equivalent to a time constant of 4.5 ms. DelayNode uses a time constant of 20 ms, independent of sample rate. I don't see any smoothing on AudioBufferSourceNode.playbackRate or in DynamicsCompressorNode. There is also smoothing in PannerNode that is not applied to AudioParams, but to functions of double attributes. Cone and distance gain are smoothed using a time constant around 4.5 ms at 44.1 kHz, and the time constant for smoothing the panning gain is 50 ms independent of the sample rate. In Gecko, the only smoothing of attributes that I know of is on DelayNode.
Received on Wednesday, 11 December 2013 05:14:46 UTC