Re: PannerNode HRTF options

On Thu, Nov 8, 2012 at 4:32 AM, Chris Pike <Chris.Pike@bbc.co.uk> wrote:

> The PannerNode.panningModel default mode is HRTF. It is well known that
> the HRTF set has a large impact on audio quality and individual
> measurements can improve localisation. The PannerNode currently provides no
> HRTF selection option so the HRTF set used will be decided by the developer
> of each implementation. Looking back through the WebKit repository it
> appears that in this implementation, the HRTF set used is a composite
> derived from measurements of several individuals in the IRCAM LISTEN
> database (http://recherche.ircam.fr/equipes/salles/listen/). Whilst it
> may be early yet, I think it is important to consider the potential
> capability for users to apply their own HRTF set. This could allow in
> future for application developers to set a specific HRTF or potentially for
> a user to apply their individual measurements.
>
>
Hi Chris, thanks for having such a detailed look.  Yes, the WebKit
implementation uses a set of composite impulse responses generated from
several individuals.  I *do* agree that it could be very interesting to
allow the setting of custom responses.  Although it would be used in more
specialized cases, I believe this capability would be used.


> The simplest way I guess would be to create AudioBuffer objects for HRTFs
> at specific directions and link this to the PannerNode somehow, but given
> the number of different directional measurements taken in most HRTF sets
> (hundreds) this could get quite laborious. It is worth noting that there
> are efforts going on to create an interchange file format for HRTF
> datasets. A project has recently been launched in the Audio Engineering
> Society standards subcommittee SC-02-08 to standardise a file format for
> exchanging HRTFs (
> http://www.aes.org/standards/meetings/aes133-sc-02-08-report.cfm),
> initiated by Matthew Parmentier of France Television. There also exists an
> open-source project for creating and reading files containing directional
> audio data, such as HRTF sets (http://www.opendaff.org/).
>

Interesting to learn about this new project... The IRCAM datasets assume a
number of measurements at different azimuths for several different
elevations.  If we adopted such an approach for this standard data format
then it would be relatively easy to hook this into WebKit's engine.  As you
mention, this could be done by setting a number of (potentially hundreds
of) AudioBuffer objects on the PannerNode, or it could be a single
AudioBuffer with concatenated impulse responses in a certain standard
sequence.  Either one would be fine.


>
> HRTF filters are effective for headphone playback, to create a convincing
> spatial impression over loudspeakers a cross-talk cancellation processing
> is required. Could this be added as an option to the PannerNode perhaps?
>

Yes, or it can also already be achieved today by adding a ConvolverNode
loaded with a cross-talk canceling impulse response.  I've already dabbled
with this a little bit, and here is one I've made:
http://chromium.googlecode.com/svn/trunk/samples/audio/impulse-responses/crosstalk.wav

It's just a start, and people could certainly engineer a better one than
this.  But the basic idea is a 4-channel impulse response...


>
> Thanks for the great work on the PannerNode so far. Very impressive.
>

Thanks Chris!


>
> *Chris Pike*
> *Research Engineer - Audio Team*
> BBC Research & Development
>
>
> http://www.bbc.co.uk
> This e-mail (and any attachments) is confidential and may contain personal
> views which are not the views of the BBC unless specifically stated.
> If you have received it in error, please delete it from your system.
> Do not use, copy or disclose the information in any way nor act in
> reliance on it and notify the sender immediately.
> Please note that the BBC monitors e-mails sent or received.
> Further communication will signify your consent to this.
>

Received on Friday, 9 November 2012 21:42:56 UTC