Group Admins

  • Profile picture of warusfel
  • Profile picture of T.


Public Group active 20 hours, 19 minutes ago

User group for Spat, panoramix, ToscA , and ADMix

Set delay times in spat.early~ & spat.cluster

Author 2 Subscribed Users |
Profile photo of DaveHunt


In spat.early~ & spat.cluster it only seems possible to set a minimum and maximum delay time. How are the delay times set ??

In the help file there is a message box “minmax 20. 40. 0.5″ routed to a spat.delaygen object. This does not have a loadbang attached. How is it initialised ??

Presumably the 0.5 is the feedback amount ??

I am trying to build a b-format reverb, sending it four channel b-format from each panner and having a separate early/cluster/reverb chain for W,X,Y,Z with delay times derived from a cuboidal “room” model. Obviously it would be nice to cross-feed the outputs from each set of early reflections in each chain to the other chains, with gains related to the delay times.

Hence the desire to specify the delay times. Ideally the direction of the early reflections should also be included, though this would add to the processing load. I have tried this just in Max and it is very effective. I was hoping that the increase in efficiency in spat would make it more useable.


Dave Hunt

July 21, 2017 at 16:07 #23160
Profile photo of T.

Hi Dave,

You can actually set the delay times as you want:
Either send message delays [list] (where [list] is the list of delays in milliseconds) or delay [index] [value] (where [index] is the channel index).

The spat.delgen object that is used in the help patchers is just a handy way to generate a list of delays, but you dont have to use it.
There is actually a loadbang in the help patchers, but it is hidden. (visible when you switch to edit mode).

The 0.5 refers to the delay “distribution”. Have a look at the spat.delgen help patch for details.
There is no such “feedback amount” as spat.early~ and spat.cluster~ do not feedback.

Since you derive the delay times from your own room model, you might actually want to use spat.delay~ or spat.tapout~.

NB: I think that spat.delay~ or spat.tapout~ could greatly simplify your patching (compared to standard Max objects); However I would not expect huge differences in CPU performance.
(yes, spat objects are very optimized, but delay processing is so cheap anyway, that it probably does not really matter — unless you run a lot of delay lines in your patch)


July 21, 2017 at 18:36 #23167
Profile photo of DaveHunt

Hi T,

Thanks for your reply.

I used to subscribe to spat about 10 years ago, and have recently taken up subscription again. It has changed a lot. The documentation and help patches are much improved, though they still leave many aspects undocumented. In particular, what messages can be send to objects. Are they the same as the attributes ??

I did find the spat.delgen help patch after sending my email. As, effectively, a new user I have to trawl through a long list of items in the File Browser to try and find what I’m looking for.

I have my own set of spatial audio patches, all with a common front end and graphic display, and am trying to incorporate spat objects to achieve things that become very complex in Max alone.

Obviously as I work more with it it will get easier. I realise that good documentation takes a lot of time and is very tedious compared to patching and coding.



July 22, 2017 at 10:54 #23180
Profile photo of T.

Hi Dave,

Regarding messages/attributes:
Attributes are properties of the objects. They can be used “directly in the box”, e.g. typing:
[ spat.delay~ @numchannels 8 @delays 20 40 60 80 100 120 140 160 ]

They can also be used as messages, e.g. sending :
[ delays 20 40 60 80 100 120 140 160 ]
to the spat.delay~ object.

In addition to that, objects can be addressed via specific messages e.g. the “delay [index] [value]” message that I mentioned earlier.

Attributes can be viewed/edited in the Inspector, or using the [attrui] object.
Spat attributes are (somehow) documented in the object reference pages (the “?” on top of the help patchers).

As for the long list of items, I suggest having a look at the “Ircam Spat Overview.maxpat” patcher where spat objects are somehow sorted by category.


July 24, 2017 at 10:50 #23183

You must be logged in to reply to this topic.

Log in now