< Back to IRCAM Forum

Spat5.hoa.binaural~ + reverb

Hi, I’m wondering what would be the proper way of adding a reverb effect for the spat5.hoa.binaural~.
I’m trying to use the spat5.converb~ but it only takes audio one input. Will I have to do this for each sound source I want to encode into the binaural scene? or maybe spat5.convolve, where I add the same IR to the inputs?
According to this thred (Use a recorded RIR in spat5.oper~) it would make more sense to add spat.converb before encoding each object. (it would be less time consuming that adding it afrer encoding for 3d 4order)
A plan B would be to add reverb using spat5ircamverb~, but the virtual speakers will conflict with the virutal spearker in the hoa.binaural~ object. Is there a work around for this?
Thanks!
Nico

Hi Nico,
Well, it really depends on 1) what input material you have (mono dry sounds ? b-format recordings ? etc) and 2) what kind of reverb effects you expect.

spat5.hoa.binaural~ takes an HOA stream as input.
So you need to generate reverb effect in the HOA domain.
Some options are :

  • use spat5.spat~ @initwith "/panning/type hoa" to synthesize room effect for each sources
  • perform convolution with spat5.conv~, assuming you have HOA-encoded IR
  • just generate a monophonic omnidirectional reverb (using convolution or whatever) and feed the W-channel with it
  • generate various reverb channels (using spat5.spat~ or spat5.ircamverb~ or others) and later encode these channels (aka virtual speakers) into HOA
  • etc.

Many options. No right or wrong answer. Just a matter of choice.

Best,
T.

Thanks Thibaut for you input,

I am mainly troubled by this. spat5.conv~ only takes one audio input. Which means I cannot feed it any HOA. I do have some B-Format IR. Do I need to do each channel separately?

Here’s my solution. I’m not sure it makes sense, specially the hoa.decoder~ part, but the result sounds convincing to my hears.


Does it make sense to you?
Best,
Nico

No, I don’t think that is correct.

You need to convolve a mono (dry) sound with your 4-channel B-format IR. Resulting in a 4-channel Ambisonic stream (FOA).
This means you would separately convolve the mono (dry) sound with W, X, Y, and Z channels.

This can be done with four monophonic spat5.conv~ (all fed with the same mono (dry) signal).
Or more elegantly and more efficiently with one single spat5.conv~ @channels 4 (wherein you load a 4-channel B-format IR).

Best,
T.

Thanks for the clarification!
OK so that means I will have to do this spat5.conv~ @channels 4 for every sound source. That’s a bit intense on the CPU.
I was thinking more on a general reverb effect that I can add to the whole scene so that the different sources share the same acoustic space. So maybe adding reverb to the W channel is not such a bad idea.

Best,
Nico