Im building a virtual environment within Max/Msp and have one final thing to implement. The goal is to emulate real world physics within this fictional space. This space got no physical objects, no ground, no nothing, only sound. That means that the amplitude follows the inverse square law to 100%, as an example.

Now I need to fix with the frequencies. What I'm wondering is if there's some rule like the inverse square law but who'll focus on frequencies? I know that different frequencies have different range.

By the way. Most objects don't move so there's not much doppler going on.



2 Answers 2


AFAIK that is usually modelled by some basic lowpass filtering according to the distance value. Not sure of the actual formula but there must be one as there are a few online calculators that also take variables like humidity temperature and frequency etc. (look up 'air absorption calculators'). With that said, if you want to implement one in Max, locate the ICST Ambisonic externals package. Somewhere in the examples there is one called Absorption. Inside the patch, in [p absorption] the process is modelled using a biquad~ as a lowpass filter - In that case it uses AED coordinates but the distance value is the only one you would really need to provide.

  • Thanks! Just needed to know what to search for then sengpielaudio.com/Calculations03.htm had the math. But wow! That little subpatcher in the ICST external was just what im looking for. I've already got the distance calculated, might have to scale it but it should work. Been thinking of doing it the easy way with only ambisonic externals but that's just no fun :)
    – MaxM
    Feb 21, 2013 at 18:25

You might wanna check out the "Proximity" plug-in by Tokyo Dawn Labs, it's the most realistic "distance algorithm" I've heard. I'm afraid I can't help as to how it's implemented, but the basic parameters should give you an idea, and perhaps you could contact the guys who developed the plug.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.