AXFX_CHORUS_EXP/AXFX_CHORUS_EXP_DPL2

Syntax

#include <cafe.h>
#include <cafe/axfx.h>

/*----------------------------------------------*
    For mono, stereo, surround
 *----------------------------------------------*/

typedef struct AXFX_BUS
{
    s32       *left;
    s32       *right;
    s32       *surround;

} AXFX_BUS;

typedef struct AXFX_CHORUS_EXP
{
    // don't touch these
    AXFX_CHORUS_EXP_DELAY  delay;
    AXFX_CHORUS_EXP_LFO    lfo;
    f32        history[3][4];
    u32        histIndex;
    u32        active;

    // user params
    f32        delayTime;   // 0.1 - 50.f (msec)
    f32        depth;       // 0.f - 1.f
    f32        rate;        // 0.1 - 2.f (Hz)
    f32        feedback;    // 0.f - < 1.f

    AXFX_BUS  *busIn;
    AXFX_BUS  *busOut;
    f32        outGain;
    f32        sendGain;
    
} AXFX_CHORUS_EXP;

/*----------------------------------------------*
    For Dolby Pro Logic II
 *----------------------------------------------*/

typedef struct AXFX_BUS_DPL2
{
    s32       *L;
    s32       *R;
    s32       *Ls;
    s32       *Rs;

} AXFX_BUS_DPL2;

typedef struct AXFX_CHORUS_EXP_DPL2
{
    // don't touch these
    AXFX_CHORUS_EXP_DELAY_DPL2  delay;
    AXFX_CHORUS_EXP_LFO_DPL2    lfo;
    f32        history[4][4];
    u32        histIndex;
    u32        active;

    // user params
    f32        delayTime;   // 0.1 - 50.f (msec)
    f32        depth;       // 0.f - 1.f
    f32        rate;        // 0.1f - 2.f (Hz)
    f32        feedback;    // 0.f - < 1.f

    AXFX_BUS_DPL2 *busIn;
    AXFX_BUS_DPL2 *busOut;
    f32        outGain;
    f32        sendGain;

} AXFX_CHORUS_EXP_DPL2;

Elements

delayTime Length of the delay line (=standard delay time of input audio). Specify a value as 0.1 <= value <= 50.0 (in msec).
depth Range over which the output position from the delay line (=delay time) is varied in time by the LFO. Specified as a proportion of delayTime; the value is in the range of 0.0 <= value <= 1.0.
rate Frequency of LFO. Specify a value as 0.1 <= value <= 2.0 (in Hertz).
feedback Feedback gain. Specify a value as 0.0 <= value < 1.0. This is mainly used to heighten the flanging effect when chorus is used as a flanger. (It produces the powerful swell of sound called "jet plane" sound.) It is also possible to use this as a characteristic delay effect by setting a somewhat longer delay time.
busIn Specifies the input buffer for effect bus sends.
busOut Specifies the output buffer for effect bus sends.
outGain Output gain. Specify a value as 0.0 <= value <= 1.0.
sendGain Send gain to the next-level effect bus. Specify a value as 0.0 <= value <= 1.0.

Description

When using Chorus Expansion, assign appropriate values to the various parameters of the AXFX_CHORUS_EXP or AXFX_CHORUS_EXP_DPL2 structure. Normally, the AXFX_CHORUS_EXP structure is used; the AXFX_CHORUS_EXP_DPL2 structure is used with Dolby Pro Logic II.

Revision History

2013/05/08 Automated cleanup pass.
2007/08/07 Initial version.


CONFIDENTIAL