- From: Chris Pike <Chris.Pike@bbc.co.uk>
- Date: Tue, 20 Nov 2012 13:00:18 +0000
- To: Chris Rogers <crogers@google.com>
- CC: <public-audio@w3.org>
- Message-ID: <1A62048D-72F9-4E1C-ABBB-E3826A5FDCB6@bbc.co.uk>
Thanks for your thoughts Chris. I think there's definitely potential for use of this, more so in the future, and we should consider this for development. > 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. If some standard method of provided meta-data on measurement directions/distance, IR lengths etc can be decided as well as a convention for supplying many IRs with a single ConvolverNode then that could make a good interface. Have you experienced any similar existing use of a ConvolverNode, using a subset of the buffer? What would be the benefit of using a ConvolverNode rather than simply providing an audio file to the PannerNode? Is it about abstracting file handling from the PannerNode? Chris On 9 Nov 2012, at 21:42, Chris Rogers wrote: > > > 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. > 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 Tuesday, 20 November 2012 13:00:54 UTC