SoundReverb Class
This class is used to create reverberation zones for sound sources with reverberation flag. Such sound will have initial reflections, reverberation and echo. It can have modified pitch.
If the sound passes through two reverberation zones (for example, one reverberation zone around the player and another one around the sound source), the heard sound reverberation effect will be twice as strong.
SoundReverb Class
This class inherits from NodeMembers
SoundReverb (vec3 size)
Constructor. Creates a new reverberation zone of specified size.Arguments
- vec3 size - Size of the reverberation zone in units.
float getAirAbsorption ()
Returns the current air absorption value determining the distance-dependent attenuation at high frequencies caused by the propagation medium.Return value
Air absorption value.float getDecayHFRatio ()
Returns the current ratio of high-frequency decay time relative to the time set by general reverberation decay time. The value 1.0 is neutral.Return value
High-frequency decay ratio.float getDecayLFRatio ()
Returns the current ratio of low-frequency decay time relative to the time set by general reverberation decay time. The value 1.0 is neutral.Return value
Low-frequency decay ratio.float getDecayTime ()
Returns the current reverberation decay time.Return value
Decay time in seconds.float getDensity ()
Returns the current density of the resonances making up the reverberation sound.Return value
Density value.float getDiffusion ()
Returns the current diffusion determining the rate at which the reverberation resonances increase in density after the original sound.Return value
Diffusion value.float getEchoDepth ()
Returns the current depth value determining how long the cyclic echo persists along the reverberation decay.Return value
Echo depth value.float getEchoTime ()
Returns the current time period for cyclic echo to repeat itself along the reverberation decay.Return value
Echo repeating time in seconds.float getGainHF ()
Returns the current gain filter value for attenuating the reverberation sound at high frequencies. If set to 1.0, no filter is applied.Return value
High-frequency gain value.float getGainLF ()
Returns the current gain filter value for attenuating the reverberation sound at low frequencies. If set to 1.0, no filter is applied.Return value
Low-frequency gain value.float getGain ()
Returns the current gain controlling the overall amount of the initial reflections and later reverberations. If set to 0.0, the reverberation sound is muted.Return value
Gain value.float getLateReverbDelay ()
Returns the current late reverberation delay determining the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections).Return value
Late reverberation delay in seconds.float getLateReverbGain ()
Returns the current gain controlling the amount of later reverberation relative to the general reverberation gain. If set to 0.0, the sound has no late reverberation at all.Return value
Late reverberation gain value.float getModulationDepth ()
Returns the current modulation depth determining the amount of pitch change.Return value
Modulation depth value.float getModulationTime ()
Returns the current time for repeating the pitch modulation in the reverberation sound.Return value
Modulation repeating time in seconds.float getReflectionDelay ()
Returns the current initial reflection delay determining the begin time of the first reflection from the source relative to the arrival time of the original sound.Return value
Initial reflection delay in seconds.float getReflectionGain ()
Returns the current gain controlling the amount of initial reflections relative to the general reverberation gain. If set to 0.0, the sound has no initial reflections at all.Return value
Initial reflections gain value.int getReverbMask ()
Returns the current bit mask that determines what reverberation zones can be heard. For sound to reverberate, at least one bit of this mask should match with the player's reverberation mask. At the same time, reverb mask of the sound source should also match with the player's one (but not necessarily in the same bit as this mask matches it).Return value
Integer, each bit of which is a mask for reverberating sound sources and reverberation zones.float getRoomRolloff ()
Returns the current scaling room rolloff factor determining attenuation of the reflected sound (containing both reflections and reverberation) over distance.Return value
Room rolloff factor.vec3 getSize ()
Returns the current size of the reverberation zone.Return value
Size of the reverberation zone in units.vec3 getThreshold ()
Returns the current threshold size values along the coordinates axes relative to the reverberation zone size. It determines the distance of changing from partial to full reverberation audibility.Return value
Threshold size in units.void setAirAbsorption (float gain)
Updates the air absorption value determining the distance-dependent attenuation at high frequencies caused by the propagation medium. The default value of 0.994 per unit represents normal atmospheric humidity and temperature.Arguments
- float gain - Air absorption value in range [0.892;1.0].
void setDecayHFRatio (float ratio)
Updates the ratio of high-frequency decay time relative to the time set by general reverberation decay time. The value 1.0 is neutral.The default is 0.83.Arguments
- float ratio - High-frequency decay ratio in range [0.1;2.0].
void setDecayLFRatio (float ratio)
Updates the ratio of low-frequency decay time relative to the time set by general reverberation decay time. The value 1.0 is neutral. The default is 1.0.Arguments
- float ratio - Low-frequency decay ratio in range [0.1;2.0].
void setDecayTime (float time)
Updates the reverberation decay time. The default is 1.49 seconds.Arguments
- float time - Decay time in range [0.1;20.0] seconds.
void setDensity (float density)
Updates the density of the resonances making up the reverberation sound. The default is 1.0.Arguments
- float density - Density value in range [0.0;1.0].
void setDiffusion (float diffusion)
Updates the diffusion determining the rate at which the reverberation resonances increase in density after the original sound. The default is 1.0.Arguments
- float diffusion - Diffusion value in range [0.0;1.0].
void setEchoDepth (float depth)
Updates the depth value determining how long the cyclic echo will persist along the reverberation decay. The default is 0.Arguments
- float depth - Echo depth value in range [0.0;1.0].
void setEchoTime (float time)
Updates the time period for cyclic echo to repeat itself along the reverberation decay. The default is 0.25 seconds.Arguments
- float time - Echo repeating time in range [0.075,0.25] seconds.
void setGainHF (float gain)
Updates the gain filter value for attenuating the reverberation sound at high frequencies. When setting the value to 1.0, no filter is applied. The default is 0.89.Arguments
- float gain - High frequencies gain value in range [0.0;1.0].
void setGainLF (float gain)
Updates the gain filter value for attenuating the reverberation sound at low frequencies. When setting the value to 1.0, no filter is applied. The default is 1.0.Arguments
- float gain - Low frequencies gain value in range [0.0;1.0].
void setGain (float gain)
Updates the gain controlling the overall amount of the initial reflections and later reverberations. Setting the value to 0.0 mutes the reverberation sound. The default is 0.32.Arguments
- float gain - Gain value in range [0.0;1.0].
void setLateReverbDelay (float delay)
Updates the late reverberation delay determining the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). The default is 0.011 seconds.Arguments
- float delay - Late reverberation delay in range [0.0;0.1] seconds.
void setLateReverbGain (float gain)
Updates the gain controlling the amount of later reverberation relative to the general reverberation gain. Setting the value to 0.0 will result in sound having no late reverberation at all. The default is 1.26.Arguments
- float gain - Late reverberation gain value in range [0.0;10.0].
void setModulationDepth (float depth)
Updates the modulation depth determining the amount of pitch change. The default is 0.Arguments
- float depth - Modulation depth value in range [0.0;1.0].
void setModulationTime (float time)
Updates the time for repeating the pitch modulation in the reverberation sound. The default is 0.25 seconds.Arguments
- float time - Modulation repeating time in range [0.0;1.0] seconds.
void setReflectionDelay (float delay)
Updates the initial reflection delay determining the begin time of the first reflection from the source relative to the arrival time of the original sound. The default is 0.007 seconds.Arguments
- float delay - Initial reflection delay in range [0.0;0.3] seconds.
void setReflectionGain (float gain)
Updates the gain controlling the amount of initial reflections relative to the general reverberation gain. Setting the value to 0.0 will result in sound having no initial reflections at all. The default is 0.05.Arguments
- float gain - Initial reflections gain value in range [0.0;3.1].
void setReverbMask (int mask)
Updates the bit mask that determines what reverberation zones can be heard. For sound to reverberate, at least one bit of this mask should match with the player's reverberation mask. At the same time, reverb mask of the sound source should also match with the player's one (but not necessarily in the same bit as this mask matches it).Arguments
- int mask - Integer, each bit of which is a mask for reverberating sound sources and reverberation zones.
void setRoomRolloff (float rolloff)
Updates the scaling room rolloff factor determining attenuation of the reflected sound (containing both reflections and reverberation) over distance. The default is 0.Arguments
- float rolloff - Room rolloff factor in range [0.0;10.0].
void setSize (vec3 size)
Updates the size of the reverberation zone.Arguments
- vec3 size - Size of the reverberation zone in units.
void setThreshold (vec3 threshold)
Updates the threshold size values along the coordinates axes relative to the reverberation zone size. It determines the distance of changing from partial to full reverberation audibility.Arguments
- vec3 threshold - Threshold size in units.
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)