- From: Chris Lowis <chris.lowis@gmail.com>
- Date: Tue, 3 Dec 2013 19:58:02 +0000
- To: Audio WG <public-audio@w3.org>
Hello, In our last teleconference we discussed the issue of de-zippering[1], which is the effect observed in some current implementations when a developer sets a parameter using one of the setters, e.g. context = new AudioContext; osc = context.createOscillator() osc.connect(context.destination) osc.start(0) osc.frequency = 1000 // Will have an audible portamento or "slide" effect. Dezippering is designed to prevent audio glitches when parameters are changed. For more detail see there are two open issues[2-3] and a recent thread on this list[4]. On the call we noted that: 1) Dezippering (especially of frequency on oscillators and playback rate of audio buffers) was somewhat surprising to developers 2) Removing it would indeed result in some audible glitches 3) A lot of the confusion is due to people setting parameters using the setters on AudioParam rather than by using the scheduled parameter change functions (e.g. setValueAtTime), when the latter would in fact be better for their application. 4) Chrome in particular already implements this and has done for some time. 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 3) Define it in terms of one of the other methods (probably exponentialRampToValueAtTime) to simplify the spec and also to indicate to developers how to achieve parameter changes without dezippering by using those methods directly. We didn't have any representatives from Mozilla on the call, so it would be great to get their input. I think Olivier would like to consider this a Call for Consensus, so if I've missed anything, please say so. Otherwise, if we agree on the above approach then we can start turning this into a PR against the current spec. (Personally, I'd quite like to change the wording from dezippering to "parameter smoothing", as I'm not sure how familiar people are with the former term, but we can probably save that discussion for the PR) Cheers, Chris [1] http://www.w3.org/2013/11/21-audio-minutes.html#item03 [2] https://github.com/WebAudio/web-audio-api/issues/48 [3] https://github.com/WebAudio/web-audio-api/issues/76 [4] http://lists.w3.org/Archives/Public/public-audio/2013OctDec/thread.html#msg242
Received on Tuesday, 3 December 2013 19:58:29 UTC