< Back to IRCAM Forum

Level match decorrelate~

Hi there,

I’m working on a patch that generates early reflections and I would like to explore using spat5.decorrelate~. When enabled, the output appears to be significantly louder than when bypassed. Is the level difference a known quantity or is it best to measure and manually correct? Ultimately I would like to match the enabled level to the bypassed level.

Thank you,

I’ve found the boost to be around 33.5 to 33.6dB, but it varies depending on the filter parameters.


Thanks for the report.
I’ll try to improve that in the future.
For now, you’d have to compensate the level difference “manually”. This is not a precisely known gain, and indeed it depends on the filter parameters.


Thanks for the quick response! I’m working on an early reflection engine and am trying to slightly decorellate signals that are delayed between 1 and 100ms of the original signal. From looking at the exported filters, the minimum amount of decorellation smears signals over a relatively long amount of time. Is there a way to set the object so that the time smear is only over several milliseconds? If not, are there other spat objects that could be implemented similarly?

Interesting questions.
I guess that reducing the number of allpass filters might “shorten” the smearing effect ? I admit I haven’t tried it. Maybe also increasing the minimum pole radius ?

The only other options I can think of :

  • generate some decorrelation filters on your own, and use them with spat5.conv~ (if they are FIR)
  • you could try out with spat5.reverb~, using very short delays and decay time. spat5.reverb~ implements a FDN, and FDNs can be good decorrelation engines.