# irrklang::ISoundEffectControl Class Reference

Interface to control the active sound effects (echo, reverb,...) of an ISound object, a playing sound. More...

`#include <ik_ISoundEffectControl.h>`

List of all members.

## Public Member Functions
virtual void | disableAllEffects ()=0
| Disables all active sound effects.
virtual bool | enableChorusSoundEffect (ik_f32 fWetDryMix=50, ik_f32 fDepth=10, ik_f32 fFeedback=25, ik_f32 fFrequency=1.1, bool sinusWaveForm=true, ik_f32 fDelay=16, ik_s32 lPhase=90)=0
| Enables the chorus sound effect or adjusts its values.
virtual void | disableChorusSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isChorusSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableCompressorSoundEffect (ik_f32 fGain=0, ik_f32 fAttack=10, ik_f32 fRelease=200, ik_f32 fThreshold=-20, ik_f32 fRatio=3, ik_f32 fPredelay=4)=0
| Enables the Compressor sound effect or adjusts its values.
virtual void | disableCompressorSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isCompressorSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableDistortionSoundEffect (ik_f32 fGain=-18, ik_f32 fEdge=15, ik_f32 fPostEQCenterFrequency=2400, ik_f32 fPostEQBandwidth=2400, ik_f32 fPreLowpassCutoff=8000)=0
| Enables the Distortion sound effect or adjusts its values.
virtual void | disableDistortionSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isDistortionSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableEchoSoundEffect (ik_f32 fWetDryMix=50, ik_f32 fFeedback=50, ik_f32 fLeftDelay=500, ik_f32 fRightDelay=500, ik_s32 lPanDelay=0)=0
| Enables the Echo sound effect or adjusts its values.
virtual void | disableEchoSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isEchoSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableFlangerSoundEffect (ik_f32 fWetDryMix=50, ik_f32 fDepth=100, ik_f32 fFeedback=-50, ik_f32 fFrequency=0.25f, bool triangleWaveForm=true, ik_f32 fDelay=2, ik_s32 lPhase=0)=0
| Enables the Flanger sound effect or adjusts its values.
virtual void | disableFlangerSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isFlangerSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableGargleSoundEffect (ik_s32 rateHz=20, bool sinusWaveForm=true)=0
| Enables the Gargle sound effect or adjusts its values.
virtual void | disableGargleSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isGargleSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableI3DL2ReverbSoundEffect (ik_s32 lRoom=-1000, ik_s32 lRoomHF=-100, ik_f32 flRoomRolloffFactor=0, ik_f32 flDecayTime=1.49f, ik_f32 flDecayHFRatio=0.83f, ik_s32 lReflections=-2602, ik_f32 flReflectionsDelay=0.007f, ik_s32 lReverb=200, ik_f32 flReverbDelay=0.011f, ik_f32 flDiffusion=100.0f, ik_f32 flDensity=100.0f, ik_f32 flHFReference=5000.0f)=0
| Enables the Interactive 3D Level 2 reverb sound effect or adjusts its values.
virtual void | disableI3DL2ReverbSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isI3DL2ReverbSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableParamEqSoundEffect (ik_f32 fCenter=8000, ik_f32 fBandwidth=12, ik_f32 fGain=0)=0
| Enables the ParamEq sound effect or adjusts its values.
virtual void | disableParamEqSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isParamEqSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound
virtual bool | enableWavesReverbSoundEffect (ik_f32 fInGain=0, ik_f32 fReverbMix=0, ik_f32 fReverbTime=1000, ik_f32 fHighFreqRTRatio=0.001f)=0
| Enables the Waves Reverb sound effect or adjusts its values.
virtual void | disableWavesReverbSoundEffect ()=0
| removes the sound effect from the sound
virtual bool | isWavesReverbSoundEffectEnabled ()=0
| returns if the sound effect is active on the sound

## Detailed Description

Interface to control the active sound effects (echo, reverb,...) of an ISound object, a playing sound.

Sound effects such as chorus, distorsions, echo, reverb and similar can be controlled using this. An instance of this interface can be obtained via ISound::getSoundEffectControl(). The sound containing this interface has to be started via ISoundEngine::play2D() or ISoundEngine::play3D() with the flag enableSoundEffects=true, otherwise no acccess to this interface will be available. For the DirectSound driver, these are effects available since DirectSound8. For most effects, sounds should have a sample rate of 44 khz and should be at least 150 milli seconds long for optimal quality when using the DirectSound driver. Note that the interface pointer is only valid as long as the ISound pointer is valid. If the ISound pointer gets dropped (IVirtualRefCounted::drop()), the ISoundEffects may not be used any more.

## Member Function Documentation

virtual void irrklang::ISoundEffectControl::disableAllEffects | ( |  | ) | `[pure virtual]`

Disables all active sound effects.

virtual void irrklang::ISoundEffectControl::disableChorusSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableCompressorSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableDistortionSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableEchoSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableFlangerSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableGargleSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableI3DL2ReverbSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableParamEqSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual void irrklang::ISoundEffectControl::disableWavesReverbSoundEffect | ( |  | ) | `[pure virtual]`

removes the sound effect from the sound

virtual bool irrklang::ISoundEffectControl::enableChorusSoundEffect | ( | ik_f32 | fWetDryMix = `50`,
|  | ik_f32 | fDepth = `10`,
|  | ik_f32 | fFeedback = `25`,
|  | ik_f32 | fFrequency = `1.1`,
|  | bool | sinusWaveForm = `true`,
|  | ik_f32 | fDelay = `16`,
|  | ik_s32 | lPhase = `90` |
| ) |  |  | `[pure virtual]`

Enables the chorus sound effect or adjusts its values.

Chorus is a voice-doubling effect created by echoing the original sound with a slight delay and slightly modulating the delay of the echo. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | fWetDryMix | Ratio of wet (processed) signal to dry (unprocessed) signal. Minimal Value:0, Maximal Value:100.0f;
  | fDepth | Percentage by which the delay time is modulated by the low-frequency oscillator, in hundredths of a percentage point. Minimal Value:0, Maximal Value:100.0f;
  | fFeedback | Percentage of output signal to feed back into the effect's input. Minimal Value:-99, Maximal Value:99.0f;
  | fFrequency | Frequency of the LFO. Minimal Value:0, Maximal Value:10.0f;
  | sinusWaveForm | True for sinus wave form, false for triangle.
  | fDelay | Number of milliseconds the input is delayed before it is played back. Minimal Value:0, Maximal Value:20.0f;
  | lPhase | Phase differential between left and right LFOs. Possible values: -180, -90, 0, 90, 180

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableCompressorSoundEffect | ( | ik_f32 | fGain = `0`,
|  | ik_f32 | fAttack = `10`,
|  | ik_f32 | fRelease = `200`,
|  | ik_f32 | fThreshold = `-20`,
|  | ik_f32 | fRatio = `3`,
|  | ik_f32 | fPredelay = `4` |
| ) |  |  | `[pure virtual]`

Enables the Compressor sound effect or adjusts its values.

Compressor is a reduction in the fluctuation of a signal above a certain amplitude. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | fGain | Output gain of signal after Compressor. Minimal Value:-60, Maximal Value:60.0f;
  | fAttack | Time before Compressor reaches its full value. Minimal Value:0.01, Maximal Value:500.0f;
  | fRelease | Speed at which Compressor is stopped after input drops below fThreshold. Minimal Value:50, Maximal Value:3000.0f;
  | fThreshold | Point at which Compressor begins, in decibels. Minimal Value:-60, Maximal Value:0.0f;
  | fRatio | Compressor ratio. Minimal Value:1, Maximal Value:100.0f;
  | fPredelay | Time after lThreshold is reached before attack phase is started, in milliseconds. Minimal Value:0, Maximal Value:4.0f;

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableDistortionSoundEffect | ( | ik_f32 | fGain = `-18`,
|  | ik_f32 | fEdge = `15`,
|  | ik_f32 | fPostEQCenterFrequency = `2400`,
|  | ik_f32 | fPostEQBandwidth = `2400`,
|  | ik_f32 | fPreLowpassCutoff = `8000` |
| ) |  |  | `[pure virtual]`

Enables the Distortion sound effect or adjusts its values.

Distortion is achieved by adding harmonics to the signal in such a way that, If this sound effect is already enabled, calling this only modifies the parameters of the active effect. as the level increases, the top of the waveform becomes squared off or clipped.

Parameters:

  | fGain | Amount of signal change after distortion. Minimal Value:-60, Maximal Value:0;
  | fEdge | Percentage of distortion intensity. Minimal Value:0, Maximal Value:100;
  | fPostEQCenterFrequency | Center frequency of harmonic content addition. Minimal Value:100, Maximal Value:8000;
  | fPostEQBandwidth | Width of frequency band that determines range of harmonic content addition. Minimal Value:100, Maximal Value:8000;
  | fPreLowpassCutoff | Filter cutoff for high-frequency harmonics attenuation. Minimal Value:100, Maximal Value:8000;

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableEchoSoundEffect | ( | ik_f32 | fWetDryMix = `50`,
|  | ik_f32 | fFeedback = `50`,
|  | ik_f32 | fLeftDelay = `500`,
|  | ik_f32 | fRightDelay = `500`,
|  | ik_s32 | lPanDelay = `0` |
| ) |  |  | `[pure virtual]`

Enables the Echo sound effect or adjusts its values.

An echo effect causes an entire sound to be repeated after a fixed delay. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | fWetDryMix | Ratio of wet (processed) signal to dry (unprocessed) signal. Minimal Value:0, Maximal Value:100.0f;
  | fFeedback | Percentage of output fed back into input. Minimal Value:0, Maximal Value:100.0f;
  | fLeftDelay | Delay for left channel, in milliseconds. Minimal Value:1, Maximal Value:2000.0f;
  | fRightDelay | Delay for right channel, in milliseconds. Minimal Value:1, Maximal Value:2000.0f;
  | lPanDelay | Value that specifies whether to swap left and right delays with each successive echo. Minimal Value:0, Maximal Value:1;

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableFlangerSoundEffect | ( | ik_f32 | fWetDryMix = `50`,
|  | ik_f32 | fDepth = `100`,
|  | ik_f32 | fFeedback = `-50`,
|  | ik_f32 | fFrequency = `0.25f`,
|  | bool | triangleWaveForm = `true`,
|  | ik_f32 | fDelay = `2`,
|  | ik_s32 | lPhase = `0` |
| ) |  |  | `[pure virtual]`

Enables the Flanger sound effect or adjusts its values.

Flange is an echo effect in which the delay between the original signal and its echo is very short and varies over time. The result is sometimes referred to as a sweeping sound. The term flange originated with the practice of grabbing the flanges of a tape reel to change the speed. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | fWetDryMix | Ratio of wet (processed) signal to dry (unprocessed) signal. Minimal Value:0, Maximal Value:100.0f;
  | fDepth | Percentage by which the delay time is modulated by the low-frequency oscillator, in hundredths of a percentage point. Minimal Value:0, Maximal Value:100.0f;
  | fFeedback | Percentage of output signal to feed back into the effect's input. Minimal Value:-99, Maximal Value:99.0f;
  | fFrequency | Frequency of the LFO. Minimal Value:0, Maximal Value:10.0f;
  | triangleWaveForm | True for triangle wave form, false for square.
  | fDelay | Number of milliseconds the input is delayed before it is played back. Minimal Value:0, Maximal Value:20.0f;
  | lPhase | Phase differential between left and right LFOs. Possible values: -180, -90, 0, 90, 180

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableGargleSoundEffect | ( | ik_s32 | rateHz = `20`,
|  | bool | sinusWaveForm = `true` |
| ) |  |  | `[pure virtual]`

Enables the Gargle sound effect or adjusts its values.

The gargle effect modulates the amplitude of the signal. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | rateHz | Rate of modulation, in Hertz. Minimal Value:1, Maximal Value:1000
  | sinusWaveForm | True for sinus wave form, false for triangle.

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableI3DL2ReverbSoundEffect | ( | ik_s32 | lRoom = `-1000`,
|  | ik_s32 | lRoomHF = `-100`,
|  | ik_f32 | flRoomRolloffFactor = `0`,
|  | ik_f32 | flDecayTime = `1.49f`,
|  | ik_f32 | flDecayHFRatio = `0.83f`,
|  | ik_s32 | lReflections = `-2602`,
|  | ik_f32 | flReflectionsDelay = `0.007f`,
|  | ik_s32 | lReverb = `200`,
|  | ik_f32 | flReverbDelay = `0.011f`,
|  | ik_f32 | flDiffusion = `100.0f`,
|  | ik_f32 | flDensity = `100.0f`,
|  | ik_f32 | flHFReference = `5000.0f` |
| ) |  |  | `[pure virtual]`

Enables the Interactive 3D Level 2 reverb sound effect or adjusts its values.

An implementation of the listener properties in the I3DL2 specification. Source properties are not supported. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | lRoom | Attenuation of the room effect, in millibels (mB). Interval: [-10000, 0] Default: -1000 mB
  | lRoomHF | Attenuation of the room high-frequency effect. Interval: [-10000, 0] default: 0 mB
  | flRoomRolloffFactor | Rolloff factor for the reflected signals. Interval: [0.0, 10.0] default: 0.0
  | flDecayTime | Decay time, in seconds. Interval: [0.1, 20.0] default: 1.49s
  | flDecayHFRatio | Ratio of the decay time at high frequencies to the decay time at low frequencies. Interval: [0.1, 2.0] default: 0.83
  | lReflections | Attenuation of early reflections relative to lRoom. Interval: [-10000, 1000] default: -2602 mB
  | flReflectionsDelay | Delay time of the first reflection relative to the direct path in seconds. Interval: [0.0, 0.3] default: 0.007 s
  | lReverb | Attenuation of late reverberation relative to lRoom, in mB. Interval: [-10000, 2000] default: 200 mB
  | flReverbDelay | Time limit between the early reflections and the late reverberation relative to the time of the first reflection. Interval: [0.0, 0.1] default: 0.011 s
  | flDiffusion | Echo density in the late reverberation decay in percent. Interval: [0.0, 100.0] default: 100.0 %
  | flDensity | Modal density in the late reverberation decay, in percent. Interval: [0.0, 100.0] default: 100.0 %
  | flHFReference | Reference high frequency, in hertz. Interval: [20.0, 20000.0] default: 5000.0 Hz

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableParamEqSoundEffect | ( | ik_f32 | fCenter = `8000`,
|  | ik_f32 | fBandwidth = `12`,
|  | ik_f32 | fGain = `0` |
| ) |  |  | `[pure virtual]`

Enables the ParamEq sound effect or adjusts its values.

Parametric equalizer amplifies or attenuates signals of a given frequency. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.

Parameters:

  | fCenter | Center frequency, in hertz, The default value is 8000. Minimal Value:80, Maximal Value:16000.0f
  | fBandwidth | Bandwidth, in semitones, The default value is 12. Minimal Value:1.0f, Maximal Value:36.0f
  | fGain | Gain, default value is 0. Minimal Value:-15.0f, Maximal Value:15.0f

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::enableWavesReverbSoundEffect | ( | ik_f32 | fInGain = `0`,
|  | ik_f32 | fReverbMix = `0`,
|  | ik_f32 | fReverbTime = `1000`,
|  | ik_f32 | fHighFreqRTRatio = `0.001f` |
| ) |  |  | `[pure virtual]`

Enables the Waves Reverb sound effect or adjusts its values.

Parameters:

  | fInGain | Input gain of signal, in decibels (dB). Min/Max: [-96.0,0.0] Default: 0.0 dB. If this sound effect is already enabled, calling this only modifies the parameters of the active effect.
  | fReverbMix | Reverb mix, in dB. Min/Max: [-96.0,0.0] Default: 0.0 dB
  | fReverbTime | Reverb time, in milliseconds. Min/Max: [0.001,3000.0] Default: 1000.0 ms
  | fHighFreqRTRatio | High-frequency reverb time ratio. Min/Max: [0.001,0.999] Default: 0.001

Returns:
  Returns true if successful.

virtual bool irrklang::ISoundEffectControl::isChorusSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isCompressorSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isDistortionSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isEchoSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isFlangerSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isGargleSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isI3DL2ReverbSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isParamEqSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

virtual bool irrklang::ISoundEffectControl::isWavesReverbSoundEffectEnabled | ( |  | ) | `[pure virtual]`

returns if the sound effect is active on the sound

The documentation for this class was generated from the following file:

- ik_ISoundEffectControl.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

| The irrKlang Engine Documentation © 2003-2018 by Nikolaus Gebhardt. Generated by Doxygen (1.6.1)