W3C home > Mailing lists > Public > public-audio@w3.org > October to December 2012

Re: Web Audio API sequencer capabilities

From: Srikumar Karaikudi Subramanian <srikumarks@gmail.com>
Date: Sat, 6 Oct 2012 09:38:18 +0530
Cc: Joe Berkovitz <joe@noteflight.com>, Jussi Kalliokoski <jussi.kalliokoski@gmail.com>, "public-audio@w3.org Group" <public-audio@w3.org>
Message-Id: <4341E244-569E-4152-96EA-DBE4F18A60A0@gmail.com>
To: Chris Rogers <crogers@google.com>
Sorry, I messed up reading dates (the gain param was removed on 11 Apr 2012), but the overall point is valid I think.


On 6 Oct, 2012, at 9:33 AM, Srikumar Karaikudi Subramanian <srikumarks@gmail.com> wrote:

> On 6 Oct, 2012, at 4:27 AM, Joe Berkovitz <joe@noteflight.com> wrote:
>> Actually, I didn't ever think a GainNode would generate its own signal. Rather, it did not occur to me to drive a set of AudioParams with an envelope via the audio rate modulation feature, using a gain controlled unity signal. It is this last idea that seems a bit tricky and unclear for API novices. If there were something like a UnitySourceNode, I would feel better.
> Chris R - I see that the AudioBufferSourceNode's 'gain' attribute was removed from the spec in Apr '11 (https://dvcs.w3.org/hg/audio/file/908b6b7b8702/webaudio/specification.html), but it is present in all webkit implementations even today, including Chrome Canary. In http://lists.w3.org/Archives/Public/public-audio/2012AprJun/0072.html, you wrote -- "We may need to re-visit the removal of these gain attributes from the API, since I've found several pages out in the wild using them.  They're not harmful attributes, just ones I felt could be cleaned up (removed) since AudioGainNode can be used instead.  We may need to choose a deprectation path, or simply keep them."
> With the 'gain' parameter, the AudioBufferSourceNode would offer a single node solution to envelope generation. You can set a one sample buffer with sample value = 1, turn on looping and work with its gain parameter. This is simple enough that a special UnitySourceNode and an EnvelopeNode would be superfluous. (I only just realized I've been using the ABSN this way instead of the "GainNode with unity signal" approach I mentioned earlier .. but was surprised to find that the ABSN.gain parameter was removed from the spec.)
> AudioBuffer.gain and AudioListener.gain are likely to be superfluous, but if AudioBufferSourceNode.gain is removed, a gain node seems likely to be necessary most of the time anyway. Given that the ability to connect a node to an AudioParam didn't exist when the ABSN.gain parameter was removed, it is worth reconsidering it in the context of envelopes as well.
> Best,
> -Kumar

Received on Saturday, 6 October 2012 04:08:38 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:03:14 UTC