< Back to IRCAM Forum

Spat 5.2.0 released

Dear all,

Spat 5.2.0 has been released.

The new features are listed below, some of which are still in an experimental stage, so use at your own risk. Feel free to post your issues/questions/feedback/requests in the Spat discussion forum.

Please read this thread regarding installation, troubleshooting, and bug reporting guidelines.


Release Version : 5.2.0
Release Date : 10/2020

  • spat5.delay~ : added “thiran2” and “thiran3” interpolation modes
  • spat5.filterdesign : improved documentation
  • spat5.grids : added many aliases
  • spat5.routing : improved “/row/*/color” messages
  • spat5.turntable : fix bug where the socket connection would always failed
  • added spat5.screencapture
  • spat5.calibrate.delay~ : fix possible crash
  • spat5.conv~ : major CPU improvement on Windows
  • spat5.folder.infos : fix “/findfolders” message not working
  • spat5.file.infos : fix spurious error messages with directories
  • OSC : improved support for UTF8 strings
  • spat5.smk~ : added “/options/saverawtxt”, “/options/saveirtxt”, “/options/saveaxml”, “/options/savelog” messages
  • spat5.smk~ : overwritten files are now deleted (rather than moved to trashbin) for efficiency
  • spat5.calibrate.gain~ : fix possible crash
  • spat5.pan~, spat5.panoramix~, spat5.spat~ : fix possible crash when using invalid loudspeaker setups for LBAP
  • spat5.hoa.binaural~ : fix bug with “/norm” message
  • spat5.hoa.binaural~ : added new “/mode” message. changed default mode to “t-design”
  • spat5.panoramix~ : fix critical bug where speaker gains/delays were not applied to reverb bus
  • spat5.panoramix : added divergence on vbap/vbip busses
  • added spat5.hoa.slaconv~
  • spat5.panoramix~, spat5.pan~, etc. : fix potential issues with zenith/nadir phantom speakers
  • spat5.panoramix : added delay on LFE bus
  • spat5.hoa.decoder~ : fix possible crashes with CSAD
  • spat5.hoa.decoder~ : fix possible crashes with phantom speakers
  • spat5.hoa.decoder~ : added safety guards to avoid decoder blow-up
  • spat5.hoa.decoder~ : fix bugs with regularized-mode-matching
  • spat5.sfplay~ : fix scheduling bug with [int] and “/start” message
  • spat5.panoramix : fix “/neighbors/exponent” not working
  • reduced size of the distribution package for Windows
  • spat5.ltc.encode~ : added “/forward” and “/backward” messages
  • all objects : fix possible crashes in Ableton Live
  • spat5.panoramix~ : cpu optimization for HOA busses
  • spat5.panoramix~ : minor cpu optimization for compressors (when channels are linked)
  • spat5.oper_ : added “/reverb/[index]/roomsize” message
  • spat5.oper : improved documentation
  • spat5.trajectories : fix issue with “/rate” message
  • spat5.panoramix : speed up preset loading time
  • spat5.panoramix : added “/options/parallel/bus” message for multi-threading (use at your own risks).

Dear Spat developers,
First of all let me thank you for this great tool. I really enjoy working with Spat.
In the new version 5.2. I noticed the following difference in the behavior:
I have a setting with 12 sources which I distribute on a circle with the following initial message:
/source/1/az 0, /source/2/az 30, /source/3/az 60, /source/4/az 90, /source/5/az 120, /source/6/az 150, /source/7/az 180, /source/8/az 210, /source/9/az 240, /source/10/az 270, /source/11/az 300, /source/12/az 330
And this works fine. Then I receive messages from another patch which changes the distances of the sources (silently assuming that the azimuth values remain unchanged). Nevertheless in the new version version 5.2. the sources flip back to the
zero azimut, while they do not in the previous version.
with best wishes
Thomas Noll

Hi Thomas,

What kind of message do you receive “from another patch” ?
If you use /source/[index]/dist [float], only the distance will change, and the azimuth/elevation are preserved.

If this doesnt solve your issue, please send a minimal patcher that demonstrates your problem, and I’ll inspect it.

NB : you can also initialize the 12 source azimuths with /sources/az 0 30 60 90 120 150 180 210 240 270 300 330 (this might be more convenient sometimes)



Thank you for this offer to help me. As a “new user” I’m not allowed to upload a patcher.
This is precisely, the command which I use.
/source/[index]/dist [float]
Here is a video from the older spat version.

The other patch on the right side synthezises (via Fourier) 12 floats, which are coordinates of a jit-matrix. And I send these matrix coordinates with messages like
send s1x 0 0 (this is meant to become the distance of the first source.)
And in spat I receive them, make sure they are not negative and delegate them to spat5.oper
Here is it for the first of the 12 sources
receive s1x
if $f1 < 0 then 0. else $f1
/source/1/dist $1
The Spat patch is a modified tutorial.
many thanks for you help.
best wishes

Hi Thomas,

Try posting the (minimal) patch as “copy compressed” ?
Or try uploading a zip version of the patch ?
Or try to send it to me via private message ?

I hope one of these way will work.


Hello Thomas,

Thanks for sending your patch.

Now I understand : something is going wrong/strange (and may have changed compared to previous versions) when the source distance was set to 0.

I just fixed that behaviour, and things should work as you expect in the next release.

Sorry for the inconvenience,


Hello Thibaut,
thank you. Mathematically, one could also take the view that the new behavior is “correct”.
But practically it is of course convenient to rely on the previous one.
best wishes