[vlc-devel] Binaural virtual acoustics via headphones

Piotr Majdak piotr at majdak.com
Tue May 17 19:51:57 CEST 2011

Andrew Price wrote:
> Hi everyone,
> This is something I would be interested in seeing in VLC. HRTFs are 
> nice and in many cases produce better surround sound than actual 
> surround sound speakers.

Thanks for the nice "welcome".

> I can't think of any open source implementations since most 
> implementations are commercial such as Dolby Headphones and the 
> hardware accelerated Creative CMS-3D.

 From the signal-processing point of view, the implementation is quite 
straight forward. The actual issues will appear if the software 
framework limits the filtering. These issues (among others) should be 
addressed during the project.

 From the psychoacoustic point of view, individualized HRTFs should be 
used and I plan to provide an option to load listeners-specific HRTFs to 
VLC. In case where individual HRTFs are not available (valid for the 
most of the listeners outside our lab ;-) we will provide a database. In 
the first version, the users will have a choice of an HRTF set which he 
will like. Later, maybe we'll implement some of the recently published 
methods to customize generalized HRTFs. On a long term, we are working 
on alternative methods to obtain individualized HRTFs. But here we are 
talking about 3 to 5 years ;-)

> I once found a 'virtual sound card' for Windows that act as a 5.1 or 
> 7.1 soundcard then outputs a stereo stream which you can play directly 
> to your headphones (I don't remember the name of the software but it 
> was by an Australian company). The downside of this is the CPU usage 
> as the driver is always running and mixing and it might introduce 
> notable latency to the audio. But the surround sound effect was really 
> good, as long as you spent some time configuring each individual 
> 'virtual speaker' to your headset/ears (you could tell each speaker to 
> move lower/higher, forward, back, closer, etc).
> There is also Rapture3D (http://www.blueripplesound.com/ 
> <http://www.blueripplesound.com/index.php?target=products&phpsessid=b45965f0f5dd4d1a1474fb478c44777c>) which 
> is a drop in OpenAL placement for Windows. I don't know if anything 
> exists for Linux.

At the moment, we have a database of HRTFs 
<http://www.kfs.oeaw.ac.at/content/view/608/606/lang,8859-1/> and simple 
convolving the signal with a pair of HRTFs will produce spatialized 
sound. Some additional tricks are required to increase the naturalness 
and externalization - we are working on that at the moment and the 
results could be incorporated into VLC.

> It would be great to have HRTF built in to VLC for multiple reasons. 
> Since VLC is open source it would be a great reference code for future 
> HRTF work. HRTF could be used to compress audio during streaming (by 
> streaming stereo audio rather than a lot of independent audio 
> channels). Most importantly, HRTF would be available to everyone, not 
> just those that have specialised drivers.

I'm afraid that our intended implementation will be a simple convolution 
of the audio signals with the appropriate HRTF for a given sound 
direction. We also could have a simple room model to include a more 
natural reverberation (I think there is something like that already in 
VLC). I have no idea if our approach will be able to reduce redundancy 
in the streaming - sorry.


Piotr Majdak
Psychoakustik und Experimentelle Audiologie
Institut für Schallforschung <http://www.kfs.oeaw.ac.at>
Österreichische Akademie der Wissenschaften <http://www.oeaw.ac.at/>
Wohllebengasse 12-14, 1040 Wien
Tel.: +43 1 51581-2511
Fax: +43 1 51581-2530
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110517/71065d53/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: piotr.vcf
Type: text/x-vcard
Size: 415 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110517/71065d53/attachment.vcf>

More information about the vlc-devel mailing list