[vlc-devel] Binaural virtual acoustics via headphones

Andrew Price messiahandrw at gmail.com
Mon May 16 12:55:28 CEST 2011

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

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.

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,

There is also Rapture3D
is a drop in OpenAL placement for Windows. I don't know if anything exists
for Linux.

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

Good luck, I'm looking forward to any progress you make!


On Sun, May 15, 2011 at 6:50 PM, Jean-Baptiste Kempf <jb at videolan.org>wrote:

> On Sun, May 15, 2011 at 10:08:40AM +0200, Piotr Majdak wrote :
> > >
> http://git.videolan.org/?p=vlc.git;a=blob;f=modules/audio_filter/channel_mixer/headphone.c;hb=HEAD
> >
> > Thanks for the pointer. It seems like there is just a delay-and-gain
> > implemented. I think that this a good point to start.
> Good point for start, but maybe, copy it to another file if you want to
> moodify heavily.
> > >seem to show 3 options, one integer (dim) and 2 booleans (one of which
> > >I think is useless
> >
> > How do I use/set these options? Are these command line parameters?
> As all VLC option both in command-line --option=value and in the
> preferences (All->Audio->Filters->Headphones)
> > >Audio filters would be welcome, and not only HRTF, but upmixing or
> > >SRS-WoW-like filters
> > >
> > >See
> > >http://wiki.videolan.org/Documentation:Hacker%27s_Guide/Audio_Filters
> > >and
> > >http://wiki.videolan.org/Documentation:Hacker%27s_Guide
> >
> > Thanks for the guides. I'd like to focus on HRTF implementation
> > first. Maybe we'll look later how SRS-WoW actually works.
> ok.
> > Another general question: I'd like to adapt the filtering to the
> > actual head position/orientation in real time. I thought about
> > capturing the head information with web-cam using openCV or similar
> > - is time-variant filtering possible within the current audio-filter
> > framework?
> No, it isn't now. You need to work both on the video filter and on an
> audio filter.
> The best might be to do the audio filter and have a callback on the
> "head-angle" variable. Make a UI to change this in real-time.
> Once this works, and is accepted in VLC trunk, make a video-filter that
> changes that variable.
> > As for the human resources, a student could work on that
> > in his master thesis, so spending let's say 4 to 6 months. Do you
> > think is this practicable?
> Yes. Just remember that VLC is a fast evolving community... If your code
> forks/evolves too far/too long from the tree, it won't get merged.
> I would then recommend to merge your code as soon it is mergeable, not
> when it is perfect...
> Best Regards,
> --
> Jean-Baptiste Kempf
> http://www.jbkempf.com/ - +33 672 704 734
> Sent from my Electronic Device
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110516/d775d359/attachment.html>

More information about the vlc-devel mailing list