nw::snd::FxReverb::Param Structure

Header file: nw/snd/snd_FxReverb.h

Syntax

struct Param
{
   u32 m_EarlyReflectionTime;
   u32 m_FusedTime;
   u32 m_PreDelayTime;
   f32 m_Coloration;
   f32 m_Damping;
   FilterSize * m_pFilterSize;
   f32 m_EarlyGain;
   f32 m_FusedGain;
   bool m_IsEnableSurround;
};

Description

The data structure for reverb parameters.

Reverb can be divided into two large groups: "early reflection" and "subsequent reverb sounds."

"Early reflection" can be adjusted with m_EarlyReflectionTime and m_EarlyGain.

m_EarlyReflectionTime signifies the time until the early reflection returns. Larger values indicate longer times from when the sound reflects until it returns. Units are in msec and must be larger than 5 set in multiples of 5. The initial value is set to 60.

m_EarlyGain signifies the output gain for early reflection. Set a value from 0.0.f to 1.0.f. When set to 0.0f, the early reflection cannot be heard. The initial value is set to 0.6f.

"Subsequent reverb sound" can be adjusted with m_FusedTime, m_FusedGain, m_PreDelayTime, m_Coloration, m_Damping, and m_pFilterSize.

m_FusedTime signifies the time that the subsequent reverb sound continues to play. Larger values can express spaces where sounds are easily reflected. Units are in msec, and the initial value is set to 4000.

m_FusedGain signifies the output gain for subsequent reverb sound. Set a value from 0.0.f to 1.0.f. When set to 0.0f, the subsequent reverb sound cannot be heard. The initial value is set to 0.4f.

m_PreDelayTime is the lag time before the subsequent reverb sound. Larger values cause the subsequent reverb sound to be heard later. Units are in msec and must be larger than 5 set in multiples of 5. The initial value is 100.

m_Coloration signifies the coefficient for the full band pass filter of the subsequent reverb sound. Large values make the subsequent reverb sound more detailed and mix in more complex echoes. Set a value from 0.0.f to 1.0.f. When set to 0.0f, the full band pass filter is passed through. The initial value is 0.5.0f.

m_Damping indicates how the low-pass filter (LPF) is applied to subsequent reverb sound. Set a value from 0.0.f to 1.0.f. The greater this value is made to be, the lower the cutoff frequency. Setting 0.0f results in the LPF not being applied at all. The initial value is 0.4.0f.

See the FilterSize description regarding each member variable of m_pFilterSize.

m_IsEnableSurround signifies whether the reverb process will enable the sound channel. When true, surround components (rear L and R channels) also undergo reverb processing. If false, reverb processing of surround components is skipped. The process load can be reduced by the corresponding amount by setting false. The initial value is false.

The required memory size obtained by GetRequiredMemSize depends on:
・m_EarlyReflectionTime
・m_PreDelayTime
・m_pFilterSize
・m_IsEnableSurround

If following values are changed while an effect is executing, noise may be generated.
・m_EarlyReflectionTime
・m_PreDelayTime

Also, if the following values are changed "continuously", no noise is generated even if an effect is being executed.
・m_FusedTime
・m_Coloration
・m_Damping
・m_EarlyGain
・m_FusedGain

Call SetParam to change parameters while an effect is being executed.

Member Variables

m_EarlyReflectionTime u32 Early reflection time (msec).
m_FusedTime u32 Attenuation time (msec) for subsequent reverb sounds.
m_PreDelayTime u32 Subsequent reverb sound pre-delay time (msec).
m_Coloration f32 Coefficient for the full band pass filter for subsequent reverb sound.
m_Damping f32 Low-pass filter damping for subsequent reverb sound.
m_pFilterSize FilterSize * Filter size. Default values are used to set members of the FilterSize structure if NULL is specified.
m_EarlyGain f32 Output gain for early reflection.
m_FusedGain f32 Output gain for subsequent reverb sound.
m_IsEnableSurround bool Flag indicating whether to enable reverb processing for surround channels.

Member Functions

Param Constructor.

Revision History

2010/10/28
Corrected a typo in the original Japanese text (初期値値 was changed to 初期値 in the description of the m_pFilterSize member variable).
2010/10/14
Added to the description for each variable
2010/09/30
Added information about initial values and the required memory size.
2010/07/22
Added m_IsEnableSurround
2010/07/07
Clarified that the unit of m_PreDelayTime is msec
2010/06/17
Initial version.

CONFIDENTIAL