On 01/02/2014 22:11, Benjamin Smedberg wrote:
> Not sure if there's a better group to ask about WebAudio stuff
> specifically. Is there a way to keep WebAudio from "popping" when I
> start/stop an oscillator or change gain? The WebAudio spec claims that
> changes in gain should be dezippered to avoid popping, but that doesn't
> seem to happen in practice. e.g. this kind of script is popping a lot
> for me on mac:
> 
> var gAudio = new AudioContext();
> var gGain = gAudio.createGain();
> gGain.gain.value = 0;
> gGain.connect(gAudio.destination);
> var gOscillator = gAudio.createOscillator();
> gOscillator.frequency.value = 256;
> gOscillator.connect(gGain);
> gOscillator.start(0);
> 
> function toggleGain()
> {
>   if (gGain.gain.value == 0) {
>     gGain.gain.value = 1;
>   }
>   else {
>     gGain.gain.value = 0;
>   }
> }
> setInterval(toggleGain, 400);

There is an ongoing spec discussion [1] on how this should work:
automatic dezippering or explicit dezippering, on all AudioParam or only
a subset of them, which constant to use for the dezippering, etc. Gecko
implements dezippering only on the DelayNode's delayTime AudioParam, at
the moment. Note that in the meantime, something like:

> gGain.gain.setTargetAtTime(desiredVolume, gAudio.currentTime, 0.05);

will smooth the transition for you with an exponential curve.

> Also, is there a minimum frequency for an oscillator? It seems like I
> don't get any audible output for sine-wafe frequencies below 115 or so
> and square-wave frequencies below 55 or so, when both piano and human
> hearing go down to 25hz or so.

This behaves just fine here (I can go down to super low frequencies, and
hear/feel it, but I've got high-end audio equipment). I'm running Linux,
but this code should be platform independent. Please get in touch on irc
(#media, ping padenot) or file a bug in the Core :: Web Audio component,
so we can fix it.

Cheers,
Paul.

[1]: http://lists.w3.org/Archives/Public/public-audio/2013OctDec/0304.html,
http://lists.w3.org/Archives/Public/public-audio/2013OctDec/0242.html
and followups.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to