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
Download this tool
Could you please freeze the device.
Hi Dimitri,
Oh yes sorry ! I forgot that. It is now frozen :)
Best regards
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
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
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
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
Author