cSPAThrtfV1 : Binaural Max For Live plugin (FFT based binaural panner using CIPIC HRTF database)

The cSPAThrtf is a project created in november 2015 to be used as a binaural Max For Live plugin for theatre performances.
It is based on the FFT-based binaural panner developed by Jakod Hougaard Andersen in 2011 : https://cycling74.com/tools/fft-based-binaural-panner/

" FFT-based binaural panner was 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. "

This package only contains one set of HRTF matrix files (Subject3).
You can download more on : http://4-to-one.dk/fftBinPan/All%20HRTF%20matrix%20files.rar and put them in the lib folder.

cSAThrtf uses two java classes for part of the process and ambimonitor (external by Ambisonics) as interface.

Functions :
- up to 44 different HRTF subjects
- HRTF subject matcher
- customisable dimensions of the virtual room
- Mono or Stereo (DualMono) mode
- Azimuth and Elevation test function with clock testing sound
- coordinates of the different points (Listener, Sound 1, Sound2) given to Ableton Live as plugin values allow you to use automation

I hope you'll like it, and I would be happy to have your comments on this tool, in order to make it better !

Thanks to JHA and François WEBER.

Best regards,

Clément HUBERT

Dimitri Aatos's icon

Dimitri Aatos

1月 05 2016 | 6:06 午後

Could you please freeze the device.

Clément HUBERT's icon

Clément HUBERT

1月 06 2016 | 4:31 午後

Hi Dimitri,
Oh yes sorry ! I forgot that. It is now frozen :)
Best regards

Antoine de Maleprade's icon

Antoine de Maleprade

3月 01 2016 | 3:11 午後

Hi Clement,
Thanks for this device. Not sure though why you use frequency domain, it could be way more efficient in storage, memory & computation using the temporal domain and the direct impulsion response given by the database. I do not know very well max/msp built-in functions and it may not contain a convolution module with continuous impulse response adaptation.
You could checkout the HISS toolbox use in the convolution reverb device : https://github.com/HISSTools/HISSTools_Impulse_Response_Toolbox

Cheers,
Antoine

bassik's icon

bassik

3月 01 2016 | 3:55 午後

HISS Tools use FFT-based ocnvolution..
The HIRT takes an FFT-based approach to convolution and deconvolution problems, using a 64-bit precision FFT for all frequency domain processing.

They are so efficient because they use a method called partitioned convolution (look into the convolvezerolatency abstraction).

FFT based convolution is just a technique to perform convolution that is faster than any technique performed in time-domain because it needs less operations to be performed.
https://ccrma.stanford.edu/~jos/ReviewFourier/FFT_Convolution_vs_Direct.html

Antoine de Maleprade's icon

Antoine de Maleprade

3月 01 2016 | 4:45 午後

Yep my bad, you're right !

I did some test with the device and I get a non-negligeable amount of latency, is the latency-compensation feature enabled with this device ?

Thanks

Clément HUBERT's icon

Clément HUBERT

7月 14 2016 | 1:27 午後

It appears that the device doesn't work on Windows because of some Java issues. I will try to fix it when I could have Max running on both OSX and Windows.

Antoine, concerning the latency, I must confess that I didn't test it. What is the latency-compensation feature you're talking about ? Anyway, I think I could simplify the patch to make the device more efficient. I will try this when I'll have some time.

Best regards

Published

2016年1月5日 17:28
Creative Commons License