Copyright © 2001-2018 MultiMedia Soft

Effects.ChorusApply method

Previous pageReturn to chapter overviewNext page

Remarks

 

Applies a chorus effect on the playing song. This effect can be reset through the Effects.ChorusReset method.

 

True vintage chorus works the same way as flanging. It mixes a varying delayed signal with the original to produce a large number of harmonically related notches in the frequency response. Chorus uses a longer delay than flanging, so there is a perception of "spaciousness", although the delay is too short to hear as a distinct slap-back echo. There is also little or no feedback, so the effect is more subtle.

 

See the How to apply special effects to a playing sound section for further details.

 

 

Syntax

 

[Visual Basic]

control.Effects.ChorusApply (

nPlayer as Integer,

nAffectedChannel as enumChannelMasks,

fDryMix as Single,

fWetMix as Single,

fFeedback as Single,

fMinSweep as Single,

fMaxSweep as Single,

fRate as Single,

nPriority as Integer

) as enumErrorCodes


 

[C++]

short control.Effects.ChorusApply (

short nPlayer,

short nAffectedChannel,

float fDryMix,

float fWetMix,

float fFeedback,

float fMinSweep,

float fMaxSweep,

float fRate,

short nPriority

);


 

 

 

Parameter

Description

 

 

nPlayer

Number representing the zero-based index of the involved player

nAffectedChannel

Numeric value that determines the combination of affected channels.

Supported values are the following:

Mnemonic constant

Value

Meaning

CHANNEL_MASK_0

1 (0x01)

Channel 0 or left channel

CHANNEL_MASK_1

2 (0x02)

Channel 1 or right channel

CHANNEL_MASK_2

4 (0x04)

Channel 2

CHANNEL_MASK_3

8 (0x08)

Channel 3

CHANNEL_MASK_4

16 (0x10)

Channel 4

CHANNEL_MASK_5

32 (0x20)

Channel 5

CHANNEL_MASK_6

64 (0x40)

Channel 6

CHANNEL_MASK_7

128 (0x80)

Channel 7

CHANNEL_MASK_LEFTS

85 (0x55)

All left channels

CHANNEL_MASK_RIGHTS

170 (0xAA)

All right channels

CHANNEL_MASK_ALL

255 (0xFF)

All available channels

fDryMix

Numeric value representing the Dry (unaffected) signal mix.

Supported values are in the range from -2 to +2.

fWetMix

Numeric value representing the Wet (affected) signal mix.

Supported values are in the range from -2 to +2.

fFeedback

Numeric value representing the output signal to feed back into input.

Supported values are in the range from -1 to +1.

fMinSweep

Numeric value representing the minimum delay expressed in milliseconds.

Supported values are in the range from 0 to 6000.

fMaxSweep

Numeric value representing the maximum delay expressed in milliseconds.

Supported values are in the range from 0 to 6000.

fRate

Numeric value representing the rate of delay change in milliseconds per second.

Supported values are in the range from 0 to 1000.

nPriority

Effect's priority level inside the chain of DirectX effects, custom DSP effects and VST effects. Effects with higher priority are applied before effects with lower priority; in case more effects should have the same priority, they would be invoked in the same order that they were added.

 

The fDryMix is the volume of input signal and the fWetMix is the volume of delayed signal. The fFeedback sets feedback of chorus. The fRate, fMinSweep and fMaxSweep parameters control how fast and far the frequency notches move. The fRate is the rate of delay change in milliseconds per second, fMaxSweep-fMinSweep is the range or width of sweep in milliseconds.

 

Below some sample:

 

Effect type

fDryMix

fWetMix

fFeedback

fMinSweep

fMaxSweep

fRate


 

 

 

 

 

 

Flanger

1.0

0.35

0.5

1.0

5.0

1.0

Exaggerated chorus leads to multiple pitch shifted voices

0.7

0.25

0.5

1.0

200.0

50.0

Motorcycle

0.9

0.45

0.5

1.0

100.0

25.0

Devil

0.9

0.35

0.5

1.0

50.0

200.0

Who say that there are not many voices?

0.9

0.35

0.5

1.0

400.0

200.0

Back chipmunk

0.9

-0.2

0.5

1.0

400.0

400.0

Water

0.9

-0.4

0.5

1.0

2.0

1.0

This is the airplane

0.3

0.4

0.5

1.0

10.0

5.0

 

 

Return value

 

Value

Meaning

 

 

Negative value

An error occurred (see the LastError property for further error details)

enumErrorCodes.ERR_NOERROR (0)

The call was successful.