< Back to IRCAM Forum

Getting Transaural working in Spat and max

Hi there,
Can anyone tell me the best way to create transaural panning in max with spat ? At the moment when I drop a .sofa file on the drop square nothing happens, also any recommendations on neutral .sofa files? Also - binaural won’t work well on two speakers because of crosstalk, so transaural tries to deal with this using cross talk cancellation. Would transaural files still work well as binaural files though? Ie would a transaural file work on headphones, assuming the same hrtfs were used?

Hi Augustine,

The spat5.binaural~ object performs binaural synthesis.
The spat5.ctc~ object applies cross-talk cancellation i.e. produces transaural signals.
It is (strongly) recommended to use the same HRTF set for both objects.

There is no specific files for transaural. spat5.ctc~ computes the CTC filters from the HRTFs “on the fly” (i.e. when you load a HRTF set); there’s a couple of options available (see help patcher).

would a transaural file work on headphones

A transaural stream is intended for speakers only, and listening to it over headphones is theoretically an heresy.
It is however possible to convert a transaural stream to a binaural stream; I think spat5.decoder~ can do that, but I’ll need to double-check.

any recommendations on neutral .sofa files?

There’s no neutral HRTFs, but some recommandations of commonly appreciated :

My recommandation is to use 24th order SOS filters, e.g. IRC_1040_I_SOS24_48000.sofa
(Have a look at spat5.sofa.loader help patcher to download these files).

Finally, for CTC applications, you could also have a look at spat5.transpan~ which mixes transaural with conventional panpot (namely vbap). This object is primarily designed for 5.1 mixing, but it can also deliver stereo-compatible stream (with the /mode stereo option). One nice feature of this object is that the balance between transaural and panpot layers can be automatically slaved to virtual source position.

I hope this helps.