< Back to IRCAM Forum

Disable distance-based attenuation

We’re using Spat in 3D VBAP mode only for positioning a sound source and are trying to bypass any distance-based alterations like filtering, volume attenuation or reverb mixing.

However, there seems to be an automatic link between the distance parameter and the “Source Presence” parameter. The “Source Presence” parameter goes towards 0 the further the distance. The “Source Presence” parameter also seems to be controlling the volume of the source directly.

What is the neutral position of the “Source Presence” parameter so that it doesn’t have any effect on the volume of an input source?

Is it possible to break the link between distance and “Source Presence” or would it be advisable to cap the distance parameter in our OSC messages to a specific value?

Is it possible to bypass the omni and axis filters via OSC messages?

hello there, it’s a very interesting question you are rising! I was trying to achieve the same result so, for the moment, in order to solve the issue I am using spat.pan instead of vbap. All the alterations are excluded here, but maybe there are better solutions to that… curious to read what other users might suggest.

1 Like

Hi,

Yes the spat5.pan~ module offers that possibility.

Bye

N.

1 Like

If you don’t want any room effect, you can use spat5.pan~ instead of spat5.spat~
(spat5.pan~ performs the panning stage, without room effect or distance attenuation)

The “neutral” position of the “source presence” factor is 120.

If you want to disable the distance attenuation (in spat5.oper / spat5.spat~) you can use a drop factor of 0 dB.

You can bypass the omni/axis filters with the following OSC messages :
/source/[index]/axis/bypass [boolean]
/source/[index]/omni/bypass [boolean]

2 Likes

Thanks for all your answers!

Sending a float value of 0 to /source/*/drop did the trick to break the distance based attenuation for all sources. My OSC library was unable to send bools via OSC, but it’s open source so I added that functionality to the library and now also the filters are bypassed.

I’ll consider switching to the spat5.pan~ module in the future.

Great to hear you have been able to solve your problems.

NB : in terms of booleans, you could also send an integer with 0 or 1. Spat5 should accept that kind of syntax too. Doesn’t have to be an “official” OSC boolean (i.e. ‘T’ or ‘F’)

Best,
T.

1 Like