Thanks for your help. We've received your bug report.

FFT-based binaural panner

by

The FFT-based binaural panner is not an external, but rather a project that consists of a couple of Max patches and 43 pairs of HRTF-subject files to be read by jit.matrix~.

It was created in 2011 as part of a thesis on the possibilities of binaural synthesis in combination with head-tracking, in an aesthetic/experience-oriented context. In the thesis project, the FFT-based binaural panner is a small, but essential, part of a larger construction in Max, involving sensor-based head-tracking, room simulation, configurable sound- and listener positions etc..

The project is inspired by other Max projects such as Head in Space (http://sites.google.com/site/dariopizzamiglio/projects/head-in-space) and Binaural Tools (http://www.ece.ucdavis.edu/binaural/binaural_tools.html). The FFT-based binaural panner was created to reduce the substantial load on the cpu that comes with convolution in the time-domain. It uses pfft~ to perform an equivalent but ‘cheaper’ mutliplying process in the frequency-domain.

The panner uses the impulse responses from the CIPIC HRTF database (http://interface.cipic.ucdavis.edu/sound/hrtf.html) but in a frequency-domain and interpolated version.

The project also includes a HRTFSubjectMatcher sub patch, which relies on a java external (‘HRTFSubjectMatcher.class’). The HRTFSubjectMatcher tries to match the entered listener measurements with the subjects in the CIPIC database. However it must be mentioned that it is by no means scientifically valid, but might serve at a rudimentary tool for selecting an appropriate HRTF file set.

Best regards
Jakob Hougaard Andersen

FFT-based binaural panner

Dec 12, 2011 at 8:58am

Fantastic idea!

#262516
Sep 29, 2012 at 7:11pm

Hey Jacob –
Thanks for the great patch..
The javascript for the DirectionAndDistanceHandler seems a bit off to me – I was wondering if anyone else had a similar problem – the Left Ear Gain is in whole numbers, usually >50, whereas the other stuff seems to be scaling proportionately under 1.

#262517
Oct 3, 2012 at 9:38am

Hi m.
Tanks for your comment.
You are perfectly right – there is a problem. It is because I had included an earlier version of the DirectionAndDistanceHandler, where the second outlet was elevation for the panner. In the correct verson azimuth and elevation comes out as a list from the first outlet. I am sorry for this mistake, but now it should have been corrected. It is important to overwrite or delete the old DirectionAndDistanceHandler.class file, so that Max uses the new one instead. Be shure to write again, if there are other bugs.
Best regards Jakob

#262518

You must be logged in to reply to this topic.