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

    • Jan 05 2016 | 6:06 pm
      Could you please freeze the device.
    • Jan 06 2016 | 4:31 pm
      Hi Dimitri, Oh yes sorry ! I forgot that. It is now frozen :) Best regards
    • Mar 01 2016 | 3:11 pm
      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
    • Mar 01 2016 | 3:55 pm
      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
    • Mar 01 2016 | 4:45 pm
      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
    • Jul 14 2016 | 1:27 pm
      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