The distance filtering applies the low/high pass to simulate the effect of air absorption on the different frequencies of sound based on distance. They are not global filters like reverb they are per channel, so it can be based on the channel’s distance from the listener.
Thanks for the quick answer.
Distance filter in Channel and Event are the same. The FMOD_INIT_DISTANCE_FILTERING and FMOD_ADVANCEDSETTINGS are used to apply distance filtering to all events and channels and are overridden by the individual settings. I don’t have to use FMOD_INIT_DISTANCE_FILTERING to setup individual filters in channels and events. Is that correct?
What is the formula for the Lowpass/Highpass filters cuttoff, center frequency and distance relation?
Yes, that’s correct, the FMOD_INIT_DISTANCE_FILTERING flag must be set to apply automatic event/channel distance filtering. You don’t need to set the flag if you want to do your own distance filtering using distance automation and filters added in designer or in code. Note, however, that the built in distance filtering will make use of the built-in lowpass filter that comes for free with each channel (the one that’s also used for occlusion). If you want to do your own distance filtering, consider automating the user occlusion level so that it can also use the built-in filter and not add an extra DSP per event.
The lowpass filter is used to roughly simulate air absorption but it is exaggerated for extra effect. The combination of highpass and lowpass will act as a bandpass to ‘thin’ the sound out as it gets further away, and again is more for effect than realism. The bandpass will be at full width (0 to 22k) when the distance is within the minimum rolloff distance and will converge onto the centre frequency as the distance approaches the maximum rolloff distance. The cutoff frequencies don’t vary linearly with distance, they narrow-in more quickly close to min-distance than they do at max-distance (cutoffs are roughly a function of the inverse-square of the distance).
Please login first to submit.