W3C home > Mailing lists > Public > public-xg-audio@w3.org > July 2010

Re: Picking out the channels of an audio source

From: Chris Rogers <crogers@google.com>
Date: Thu, 15 Jul 2010 15:51:09 -0700
Message-ID: <AANLkTimlKppChzvwl_ItEE9bLh39csXvqCmCHTZUwq0f@mail.gmail.com>
To: Chris Marrin <cmarrin@apple.com>
Cc: public-xg-audio@w3.org
Yes, it would be interesting to process the 5.1 channels using HRTF panners
and/or convolution to virtualize the surround mix down to stereo.  I worked
on some experiments for this at Apple, but prototyping would be much easier
by being able to quickly iterate some javascript and reload page, rather
than having to recompile/relaunch.  This is just one of the possible
applications for processing individual channels...

As for encoding AC3, there are licensing concerns with Dolby, and also
bitstream encoding would probably be closer to the driver level (after the
AudioDestination).  JavaScript (and underlying engine) would operate on the
linear PCM data (before it potentially gets encoded to AC3).  So I think the
AC3 part would be more at the OS audio device setup level, rather than part
of the web API.

Chris


On Wed, Jul 14, 2010 at 1:46 PM, Chris Marrin <cmarrin@apple.com> wrote:

>
> On Jul 14, 2010, at 12:20 PM, Chris Rogers wrote:
>
> > Hi Chris,
> >
> > There isn't anything currently, but we could add a ChannelSplitterNode
> and ChannelMergerNode.
> >
> > The ChannelSplitterNode would have a single input, and multiple outputs
> (one per channel).  For example, in the stereo case it would take a stereo
> input, with two mono outputs which could be routed in strange ways
> (ping-pong delay effects for example).
> >
> > The ChannelMergerNode would have multiple inputs and combine all the
> channels into a single output.  In the simplest case, it would accept two
> mono inputs with a single stereo output.
> >
> > We would have to be careful with the ChannelSplitterNode, because its
> number of outputs could change dynamically simply by connecting a different
> source (with different number of channels) to its input.
>
> Yeah, all this sounds fine. It should extend to multi-channel (e.g. AC3)
> sources. It would be an interesting experiment to do some simple 3D
> spatialization using this technique. You could also add a subwoofer channel
> for explosion effects in games. Is it reasonable to do AC3 encoding from 6
> separate channels in real time (not in JS, but in native code)?
>
> -----
> ~Chris
> cmarrin@apple.com
>
>
>
>
>
Received on Thursday, 15 July 2010 22:51:40 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:54:30 UTC