FMOD Engine User Manual 2.03

7. Core API Reference | Effect Parameters

These are the parameters for controlling digital signal processors.

DSP Types:

DSP Parameters:

DSP Parameter Types:

FMOD_DSP_CHANNELMIX

Channel Mix DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_CHANNELMIX {
  FMOD_DSP_CHANNELMIX_OUTPUTGROUPING,
  FMOD_DSP_CHANNELMIX_GAIN_CH0,
  FMOD_DSP_CHANNELMIX_GAIN_CH1,
  FMOD_DSP_CHANNELMIX_GAIN_CH2,
  FMOD_DSP_CHANNELMIX_GAIN_CH3,
  FMOD_DSP_CHANNELMIX_GAIN_CH4,
  FMOD_DSP_CHANNELMIX_GAIN_CH5,
  FMOD_DSP_CHANNELMIX_GAIN_CH6,
  FMOD_DSP_CHANNELMIX_GAIN_CH7,
  FMOD_DSP_CHANNELMIX_GAIN_CH8,
  FMOD_DSP_CHANNELMIX_GAIN_CH9,
  FMOD_DSP_CHANNELMIX_GAIN_CH10,
  FMOD_DSP_CHANNELMIX_GAIN_CH11,
  FMOD_DSP_CHANNELMIX_GAIN_CH12,
  FMOD_DSP_CHANNELMIX_GAIN_CH13,
  FMOD_DSP_CHANNELMIX_GAIN_CH14,
  FMOD_DSP_CHANNELMIX_GAIN_CH15,
  FMOD_DSP_CHANNELMIX_GAIN_CH16,
  FMOD_DSP_CHANNELMIX_GAIN_CH17,
  FMOD_DSP_CHANNELMIX_GAIN_CH18,
  FMOD_DSP_CHANNELMIX_GAIN_CH19,
  FMOD_DSP_CHANNELMIX_GAIN_CH20,
  FMOD_DSP_CHANNELMIX_GAIN_CH21,
  FMOD_DSP_CHANNELMIX_GAIN_CH22,
  FMOD_DSP_CHANNELMIX_GAIN_CH23,
  FMOD_DSP_CHANNELMIX_GAIN_CH24,
  FMOD_DSP_CHANNELMIX_GAIN_CH25,
  FMOD_DSP_CHANNELMIX_GAIN_CH26,
  FMOD_DSP_CHANNELMIX_GAIN_CH27,
  FMOD_DSP_CHANNELMIX_GAIN_CH28,
  FMOD_DSP_CHANNELMIX_GAIN_CH29,
  FMOD_DSP_CHANNELMIX_GAIN_CH30,
  FMOD_DSP_CHANNELMIX_GAIN_CH31,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH0,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH1,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH2,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH3,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH4,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH5,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH6,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH7,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH8,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH9,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH10,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH11,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH12,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH13,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH14,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH15,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH16,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH17,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH18,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH19,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH20,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH21,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH22,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH23,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH24,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH25,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH26,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH27,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH28,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH29,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH30,
  FMOD_DSP_CHANNELMIX_OUTPUT_CH31
} FMOD_DSP_CHANNELMIX;
enum DSP_CHANNELMIX
{
  OUTPUTGROUPING,
  GAIN_CH0,
  GAIN_CH1,
  GAIN_CH2,
  GAIN_CH3,
  GAIN_CH4,
  GAIN_CH5,
  GAIN_CH6,
  GAIN_CH7,
  GAIN_CH8,
  GAIN_CH9,
  GAIN_CH10,
  GAIN_CH11,
  GAIN_CH12,
  GAIN_CH13,
  GAIN_CH14,
  GAIN_CH15,
  GAIN_CH16,
  GAIN_CH17,
  GAIN_CH18,
  GAIN_CH19,
  GAIN_CH20,
  GAIN_CH21,
  GAIN_CH22,
  GAIN_CH23,
  GAIN_CH24,
  GAIN_CH25,
  GAIN_CH26,
  GAIN_CH27,
  GAIN_CH28,
  GAIN_CH29,
  GAIN_CH30,
  GAIN_CH31,
  OUTPUT_CH0,
  OUTPUT_CH1,
  OUTPUT_CH2,
  OUTPUT_CH3,
  OUTPUT_CH4,
  OUTPUT_CH5,
  OUTPUT_CH6,
  OUTPUT_CH7,
  OUTPUT_CH8,
  OUTPUT_CH9,
  OUTPUT_CH10,
  OUTPUT_CH11,
  OUTPUT_CH12,
  OUTPUT_CH13,
  OUTPUT_CH14,
  OUTPUT_CH15,
  OUTPUT_CH16,
  OUTPUT_CH17,
  OUTPUT_CH18,
  OUTPUT_CH19,
  OUTPUT_CH20,
  OUTPUT_CH21,
  OUTPUT_CH22,
  OUTPUT_CH23,
  OUTPUT_CH24,
  OUTPUT_CH25,
  OUTPUT_CH26,
  OUTPUT_CH27,
  OUTPUT_CH28,
  OUTPUT_CH29,
  OUTPUT_CH30,
  OUTPUT_CH31
}
FMOD.DSP_CHANNELMIX_OUTPUTGROUPING
FMOD.DSP_CHANNELMIX_GAIN_CH0
FMOD.DSP_CHANNELMIX_GAIN_CH1
FMOD.DSP_CHANNELMIX_GAIN_CH2
FMOD.DSP_CHANNELMIX_GAIN_CH3
FMOD.DSP_CHANNELMIX_GAIN_CH4
FMOD.DSP_CHANNELMIX_GAIN_CH5
FMOD.DSP_CHANNELMIX_GAIN_CH6
FMOD.DSP_CHANNELMIX_GAIN_CH7
FMOD.DSP_CHANNELMIX_GAIN_CH8
FMOD.DSP_CHANNELMIX_GAIN_CH9
FMOD.DSP_CHANNELMIX_GAIN_CH10
FMOD.DSP_CHANNELMIX_GAIN_CH11
FMOD.DSP_CHANNELMIX_GAIN_CH12
FMOD.DSP_CHANNELMIX_GAIN_CH13
FMOD.DSP_CHANNELMIX_GAIN_CH14
FMOD.DSP_CHANNELMIX_GAIN_CH15
FMOD.DSP_CHANNELMIX_GAIN_CH16
FMOD.DSP_CHANNELMIX_GAIN_CH17
FMOD.DSP_CHANNELMIX_GAIN_CH18
FMOD.DSP_CHANNELMIX_GAIN_CH19
FMOD.DSP_CHANNELMIX_GAIN_CH20
FMOD.DSP_CHANNELMIX_GAIN_CH21
FMOD.DSP_CHANNELMIX_GAIN_CH22
FMOD.DSP_CHANNELMIX_GAIN_CH23
FMOD.DSP_CHANNELMIX_GAIN_CH24
FMOD.DSP_CHANNELMIX_GAIN_CH25
FMOD.DSP_CHANNELMIX_GAIN_CH26
FMOD.DSP_CHANNELMIX_GAIN_CH27
FMOD.DSP_CHANNELMIX_GAIN_CH28
FMOD.DSP_CHANNELMIX_GAIN_CH29
FMOD.DSP_CHANNELMIX_GAIN_CH30
FMOD.DSP_CHANNELMIX_GAIN_CH31
FMOD.DSP_CHANNELMIX_OUTPUT_CH0,
FMOD.DSP_CHANNELMIX_OUTPUT_CH1,
FMOD.DSP_CHANNELMIX_OUTPUT_CH2,
FMOD.DSP_CHANNELMIX_OUTPUT_CH3,
FMOD.DSP_CHANNELMIX_OUTPUT_CH4,
FMOD.DSP_CHANNELMIX_OUTPUT_CH5,
FMOD.DSP_CHANNELMIX_OUTPUT_CH6,
FMOD.DSP_CHANNELMIX_OUTPUT_CH7,
FMOD.DSP_CHANNELMIX_OUTPUT_CH8,
FMOD.DSP_CHANNELMIX_OUTPUT_CH9,
FMOD.DSP_CHANNELMIX_OUTPUT_CH10,
FMOD.DSP_CHANNELMIX_OUTPUT_CH11,
FMOD.DSP_CHANNELMIX_OUTPUT_CH12,
FMOD.DSP_CHANNELMIX_OUTPUT_CH13,
FMOD.DSP_CHANNELMIX_OUTPUT_CH14,
FMOD.DSP_CHANNELMIX_OUTPUT_CH15,
FMOD.DSP_CHANNELMIX_OUTPUT_CH16,
FMOD.DSP_CHANNELMIX_OUTPUT_CH17,
FMOD.DSP_CHANNELMIX_OUTPUT_CH18,
FMOD.DSP_CHANNELMIX_OUTPUT_CH19,
FMOD.DSP_CHANNELMIX_OUTPUT_CH20,
FMOD.DSP_CHANNELMIX_OUTPUT_CH21,
FMOD.DSP_CHANNELMIX_OUTPUT_CH22,
FMOD.DSP_CHANNELMIX_OUTPUT_CH23,
FMOD.DSP_CHANNELMIX_OUTPUT_CH24,
FMOD.DSP_CHANNELMIX_OUTPUT_CH25,
FMOD.DSP_CHANNELMIX_OUTPUT_CH26,
FMOD.DSP_CHANNELMIX_OUTPUT_CH27,
FMOD.DSP_CHANNELMIX_OUTPUT_CH28,
FMOD.DSP_CHANNELMIX_OUTPUT_CH29,
FMOD.DSP_CHANNELMIX_OUTPUT_CH30,
FMOD.DSP_CHANNELMIX_OUTPUT_CH31
FMOD_DSP_CHANNELMIX_OUTPUTGROUPING

Channel mix output grouping. (FMOD_DSP_CHANNELMIX_OUTPUT)

FMOD_DSP_CHANNELMIX_GAIN_CH0

Channel #0 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH1

Channel #1 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH2

Channel #2 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH3

Channel #3 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH4

Channel #4 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH5

Channel #5 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH6

Channel #6 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH7

Channel #7 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH8

Channel #8 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH9

Channel #9 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH10

Channel #10 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH11

Channel #11 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH12

Channel #12 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH13

Channel #13 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH14

Channel #14 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH15

Channel #15 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH16

Channel #16 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH17

Channel #17 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH18

Channel #18 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH19

Channel #19 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH20

Channel #20 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH21

Channel #21 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH22

Channel #22 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH23

Channel #23 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH24

Channel #24 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH25

Channel #25 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH26

Channel #26 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH27

Channel #27 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH28

Channel #28 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH29

Channel #29 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH30

Channel #30 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_GAIN_CH31

Channel #31 gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CHANNELMIX_OUTPUT_CH0

Output channel for Input channel #0

  • Type: int
  • Default: 0
FMOD_DSP_CHANNELMIX_OUTPUT_CH1

Output channel for Input channel #1

  • Type: int
  • Default: 1
FMOD_DSP_CHANNELMIX_OUTPUT_CH2

Output channel for Input channel #2

  • Type: int
  • Default: 2
FMOD_DSP_CHANNELMIX_OUTPUT_CH3

Output channel for Input channel #3

  • Type: int
  • Default: 3
FMOD_DSP_CHANNELMIX_OUTPUT_CH4

Output channel for Input channel #4

  • Type: int
  • Default: 4
FMOD_DSP_CHANNELMIX_OUTPUT_CH5

Output channel for Input channel #5

  • Type: int
  • Default: 5
FMOD_DSP_CHANNELMIX_OUTPUT_CH6

Output channel for Input channel #6

  • Type: int
  • Default: 6
FMOD_DSP_CHANNELMIX_OUTPUT_CH7

Output channel for Input channel #7

  • Type: int
  • Default: 7
FMOD_DSP_CHANNELMIX_OUTPUT_CH8

Output channel for Input channel #8

  • Type: int
  • Default: 8
FMOD_DSP_CHANNELMIX_OUTPUT_CH9

Output channel for Input channel #9

  • Type: int
  • Default: 9
FMOD_DSP_CHANNELMIX_OUTPUT_CH10

Output channel for Input channel #10

  • Type: int
  • Default: 10
FMOD_DSP_CHANNELMIX_OUTPUT_CH11

Output channel for Input channel #11

  • Type: int
  • Default: 11
FMOD_DSP_CHANNELMIX_OUTPUT_CH12

Output channel for Input channel #12

  • Type: int
  • Default: 12
FMOD_DSP_CHANNELMIX_OUTPUT_CH13

Output channel for Input channel #13

  • Type: int
  • Default: 13
FMOD_DSP_CHANNELMIX_OUTPUT_CH14

Output channel for Input channel #14

  • Type: int
  • Default: 14
FMOD_DSP_CHANNELMIX_OUTPUT_CH15

Output channel for Input channel #15

  • Type: int
  • Default: 15
FMOD_DSP_CHANNELMIX_OUTPUT_CH16

Output channel for Input channel #16

  • Type: int
  • Default: 16
FMOD_DSP_CHANNELMIX_OUTPUT_CH17

Output channel for Input channel #17

  • Type: int
  • Default: 17
FMOD_DSP_CHANNELMIX_OUTPUT_CH18

Output channel for Input channel #18

  • Type: int
  • Default: 18
FMOD_DSP_CHANNELMIX_OUTPUT_CH19

Output channel for Input channel #19

  • Type: int
  • Default: 19
FMOD_DSP_CHANNELMIX_OUTPUT_CH20

Output channel for Input channel #20

  • Type: int
  • Default: 20
FMOD_DSP_CHANNELMIX_OUTPUT_CH21

Output channel for Input channel #21

  • Type: int
  • Default: 21
FMOD_DSP_CHANNELMIX_OUTPUT_CH22

Output channel for Input channel #22

  • Type: int
  • Default: 22
FMOD_DSP_CHANNELMIX_OUTPUT_CH23

Output channel for Input channel #23

  • Type: int
  • Default: 23
FMOD_DSP_CHANNELMIX_OUTPUT_CH24

Output channel for Input channel #24

  • Type: int
  • Default: 24
FMOD_DSP_CHANNELMIX_OUTPUT_CH25

Output channel for Input channel #25

  • Type: int
  • Default: 25
FMOD_DSP_CHANNELMIX_OUTPUT_CH26

Output channel for Input channel #26

  • Type: int
  • Default: 26
FMOD_DSP_CHANNELMIX_OUTPUT_CH27

Output channel for Input channel #27

  • Type: int
  • Default: 27
FMOD_DSP_CHANNELMIX_OUTPUT_CH28

Output channel for Input channel #28

  • Type: int
  • Default: 28
FMOD_DSP_CHANNELMIX_OUTPUT_CH29

Output channel for Input channel #29

  • Type: int
  • Default: 29
FMOD_DSP_CHANNELMIX_OUTPUT_CH30

Output channel for Input channel #30

  • Type: int
  • Default: 30
FMOD_DSP_CHANNELMIX_OUTPUT_CH31

Output channel for Input channel #31

  • Type: int
  • Default: 31

For FMOD_DSP_CHANNELMIX_OUTPUTGROUPING, this value will set the output speaker format for the DSP. This determines the number of output channels.

If an input channel is mapped to an output channel in excess of the number of output channels, the input channel is instead mapped to the modulo of that channel's index. E.g.: If there are 4 output channels, an input channel mapped to output channel index 5 is mapped to index 1.

See Also: FMOD_DSP_TYPE_CHANNELMIX, DSP::setParameterInt, DSP::setParameterFloat, FMOD_DSP_TYPE

FMOD_DSP_CHANNELMIX_OUTPUT

Channel mix DSP output grouping types for the FMOD_DSP_CHANNELMIX_OUTPUTGROUPING parameter. Output grouping sets the output speaker format for the Channel Mix DSP. This determines the number of output channels.

C
C++
C#
JS

typedef enum FMOD_DSP_CHANNELMIX_OUTPUT {
  FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALLMONO,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALLSTEREO,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALLQUAD,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALL5POINT1,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE,
  FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4
} FMOD_DSP_CHANNELMIX_OUTPUT;
enum DSP_CHANNELMIX_OUTPUT
{
  DEFAULT,
  ALLMONO,
  ALLSTEREO,
  ALLQUAD,
  ALL5POINT1,
  ALL7POINT1,
  ALLLFE,
  ALL7POINT1POINT4
}
FMOD.DSP_CHANNELMIX_OUTPUT_DEFAULT
FMOD.DSP_CHANNELMIX_OUTPUT_ALLMONO
FMOD.DSP_CHANNELMIX_OUTPUT_ALLSTEREO
FMOD.DSP_CHANNELMIX_OUTPUT_ALLQUAD
FMOD.DSP_CHANNELMIX_OUTPUT_ALL5POINT1
FMOD.DSP_CHANNELMIX_OUTPUT_ALL7POINT1
FMOD.DSP_CHANNELMIX_OUTPUT_ALLLFE
FMOD.DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4
FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT
Output channel count = input channel count. Mapping: See FMOD_SPEAKER enumeration.
FMOD_DSP_CHANNELMIX_OUTPUT_ALLMONO
Output channel count = 1. Mapping: Mono, Mono, Mono, Mono, Mono, Mono, ... (each channel all the way up to FMOD_MAX_CHANNEL_WIDTH channels are treated as if they were mono)
FMOD_DSP_CHANNELMIX_OUTPUT_ALLSTEREO
Output channel count = 2. Mapping: Left, Right, Left, Right, Left, Right, ... (each pair of channels is treated as stereo all the way up to FMOD_MAX_CHANNEL_WIDTH channels)
FMOD_DSP_CHANNELMIX_OUTPUT_ALLQUAD
Output channel count = 4. Mapping: Repeating pattern of Front Left, Front Right, Surround Left, Surround Right.
FMOD_DSP_CHANNELMIX_OUTPUT_ALL5POINT1
Output channel count = 6. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right.
FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1
Output channel count = 8. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right.
FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE
Output channel count = 6. Mapping: Repeating pattern of LFE in a 5.1 output signal.
FMOD_DSP_CHANNELMIX_OUTPUT_ALL7POINT1POINT4
Output channel count = 12. Mapping: Repeating pattern of Front Left, Front Right, Center, LFE, Surround Left, Surround Right, Back Left, Back Right, Top Front Left, Top Front Right, Top Back Left, Top Back Right.

See Also: FMOD_DSP_CHANNELMIX_OUTPUTGROUPING, FMOD_DSP_TYPE_CHANNELMIX, DSP::setParameterInt, DSP::getParameterInt, FMOD_DSP_TYPE

FMOD_DSP_CHORUS

Chorus DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_CHORUS {
  FMOD_DSP_CHORUS_MIX,
  FMOD_DSP_CHORUS_RATE,
  FMOD_DSP_CHORUS_DEPTH
} FMOD_DSP_CHORUS;
enum DSP_CHORUS
{
  MIX,
  RATE,
  DEPTH,
}
FMOD.DSP_CHORUS_MIX
FMOD.DSP_CHORUS_RATE
FMOD.DSP_CHORUS_DEPTH
FMOD_DSP_CHORUS_MIX

Percentage of wet signal in mix.

  • Type: float
  • Units: Percentage
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_CHORUS_RATE

Chorus modulation rate.

  • Type: float
  • Units: Hertz
  • Range: [0, 20]
  • Default: 0.8
FMOD_DSP_CHORUS_DEPTH

Chorus modulation depth.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 100]
  • Default: 3

Chorus is an effect where the sound is more 'spacious' due a copy of the signal being played along side the original, but with the delay of each copy modulating on a sine wave. As there are 2 versions of the same signal (dry vs wet), by default each signal is given 50% mix, so that the total is not louder than the original unaffected signal.

See Also: FMOD_DSP_TYPE_CHORUS, DSP::setParameterFloat, DSP::getParameterFloat, FMOD_DSP_TYPE

FMOD_DSP_COMPRESSOR

Compressor DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_COMPRESSOR {
  FMOD_DSP_COMPRESSOR_THRESHOLD,
  FMOD_DSP_COMPRESSOR_RATIO,
  FMOD_DSP_COMPRESSOR_ATTACK,
  FMOD_DSP_COMPRESSOR_RELEASE,
  FMOD_DSP_COMPRESSOR_GAINMAKEUP,
  FMOD_DSP_COMPRESSOR_USESIDECHAIN,
  FMOD_DSP_COMPRESSOR_LINKED
} FMOD_DSP_COMPRESSOR;
enum DSP_COMPRESSOR
{
  THRESHOLD,
  RATIO,
  ATTACK,
  RELEASE,
  GAINMAKEUP,
  USESIDECHAIN,
  LINKED
}
FMOD.DSP_COMPRESSOR_THRESHOLD
FMOD.DSP_COMPRESSOR_RATIO
FMOD.DSP_COMPRESSOR_ATTACK
FMOD.DSP_COMPRESSOR_RELEASE
FMOD.DSP_COMPRESSOR_GAINMAKEUP
FMOD.DSP_COMPRESSOR_USESIDECHAIN
FMOD.DSP_COMPRESSOR_LINKED
FMOD_DSP_COMPRESSOR_THRESHOLD

Threshold level.

  • Type: float
  • Units: Decibels
  • Range: [-60, 0]
  • Default: 0
FMOD_DSP_COMPRESSOR_RATIO

Compression Ratio.

  • Type: float
  • Units: Linear
  • Range: [1, 50]
  • Default: 2.5
FMOD_DSP_COMPRESSOR_ATTACK

Attack time.

  • Type: float
  • Units: Milliseconds
  • Range: [0.1, 500]
  • Default: 20
FMOD_DSP_COMPRESSOR_RELEASE

Release time.

  • Type: float
  • Units: Milliseconds
  • Range: [10, 5000]
  • Default: 100
FMOD_DSP_COMPRESSOR_GAINMAKEUP

Make-up gain applied after limiting.

  • Type: float
  • Units: Decibels
  • Range: [-30, 30]
  • Default: 0
FMOD_DSP_COMPRESSOR_USESIDECHAIN
Data of type FMOD_DSP_PARAMETER_SIDECHAIN. Whether to analyse the sidechain signal instead of the input signal. The FMOD_DSP_PARAMETER_SIDECHAIN::sidechainenable default is false.
FMOD_DSP_COMPRESSOR_LINKED

false = Independent (compressor per channel), true = Linked.

  • Type: bool
  • Default: true

This is a multi-channel software limiter that is uniform across the whole spectrum.
The limiter is not guaranteed to catch every peak above the threshold level, because it cannot apply gain reduction instantaneously - the time delay is determined by the attack time. However setting the attack time too short will distort the sound, so it is a compromise. High level peaks can be avoided by using a short attack time - but not too short, and setting the threshold a few decibels below the critical level.

See Also: FMOD_DSP_TYPE_COMPRESSOR, DSP::setParameterFloat, DSP::setParameterBool

FMOD_DSP_CONVOLUTION_REVERB

Convolution reverb DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_CONVOLUTION_REVERB {
  FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR,
  FMOD_DSP_CONVOLUTION_REVERB_PARAM_WET,
  FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY,
  FMOD_DSP_CONVOLUTION_REVERB_PARAM_LINKED
} FMOD_DSP_CONVOLUTION_REVERB;
enum DSP_CONVOLUTION_REVERB
{
  IR,
  WET,
  DRY,
  LINKED
}
FMOD.DSP_CONVOLUTION_REVERB_PARAM_IR
FMOD.DSP_CONVOLUTION_REVERB_PARAM_WET
FMOD.DSP_CONVOLUTION_REVERB_PARAM_DRY
FMOD.DSP_CONVOLUTION_REVERB_PARAM_LINKED
FMOD_DSP_CONVOLUTION_REVERB_PARAM_IR
Array of signed 16-bit (short) PCM data to be used as reverb impulse response. First member of the array should be a 16 bit value (short) which specifies the number of channels. Array looks like [index 0=numchannels][index 1+ = raw 16 bit PCM data]. Data is copied internally so source can be freed.
FMOD_DSP_CONVOLUTION_REVERB_PARAM_WET

Volume of echo signal to pass to output.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CONVOLUTION_REVERB_PARAM_DRY

Original sound volume.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_CONVOLUTION_REVERB_PARAM_LINKED

Linked - channels are mixed together before processing through the reverb.

  • Type: bool
  • Default: true

Convolution reverb is a reverberation effect that uses a recording of a physical space known as an Impulse Response file (or IR file) to generate frequency specific reverberation.

See Also: FMOD_DSP_TYPE_CONVOLUTIONREVERB, DSP::setParameterFloat, DSP::setParameterData

FMOD_DSP_DELAY

Delay DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_DELAY {
  FMOD_DSP_DELAY_CH0,
  FMOD_DSP_DELAY_CH1,
  FMOD_DSP_DELAY_CH2,
  FMOD_DSP_DELAY_CH3,
  FMOD_DSP_DELAY_CH4,
  FMOD_DSP_DELAY_CH5,
  FMOD_DSP_DELAY_CH6,
  FMOD_DSP_DELAY_CH7,
  FMOD_DSP_DELAY_CH8,
  FMOD_DSP_DELAY_CH9,
  FMOD_DSP_DELAY_CH10,
  FMOD_DSP_DELAY_CH11,
  FMOD_DSP_DELAY_CH12,
  FMOD_DSP_DELAY_CH13,
  FMOD_DSP_DELAY_CH14,
  FMOD_DSP_DELAY_CH15,
  FMOD_DSP_DELAY_MAXDELAY
} FMOD_DSP_DELAY;
enum DSP_DELAY
{
  CH0,
  CH1,
  CH2,
  CH3,
  CH4,
  CH5,
  CH6,
  CH7,
  CH8,
  CH9,
  CH10,
  CH11,
  CH12,
  CH13,
  CH14,
  CH15,
  MAXDELAY,
}
FMOD.DSP_DELAY_CH0
FMOD.DSP_DELAY_CH1
FMOD.DSP_DELAY_CH2
FMOD.DSP_DELAY_CH3
FMOD.DSP_DELAY_CH4
FMOD.DSP_DELAY_CH5
FMOD.DSP_DELAY_CH6
FMOD.DSP_DELAY_CH7
FMOD.DSP_DELAY_CH8
FMOD.DSP_DELAY_CH9
FMOD.DSP_DELAY_CH10
FMOD.DSP_DELAY_CH11
FMOD.DSP_DELAY_CH12
FMOD.DSP_DELAY_CH13
FMOD.DSP_DELAY_CH14
FMOD.DSP_DELAY_CH15
FMOD.DSP_DELAY_MAXDELAY
FMOD_DSP_DELAY_CH0

Channel #0 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH1

Channel #1 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH2

Channel #2 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH3

Channel #3 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH4

Channel #4 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH5

Channel #5 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH6

Channel #6 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH7

Channel #7 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH8

Channel #8 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH9

Channel #9 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH10

Channel #10 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH11

Channel #11 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH12

Channel #12 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH13

Channel #13 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH14

Channel #14 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_CH15

Channel #15 Delay.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 0
FMOD_DSP_DELAY_MAXDELAY

Maximum delay, for memory allocation purposes.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 10000]
  • Default: 10

Every time MaxDelay is changed, the plug-in re-allocates the delay buffer. This means the delay disappears at that time while it refills its new buffer. A larger MaxDelay results in larger amounts of memory allocated.

Channel delays above MaxDelay will be clipped to MaxDelay and the delay buffer will not be resized.

See Also: FMOD_DSP_TYPE_DELAY, DSP::setParameterFloat

FMOD_DSP_DISTORTION

Distortion DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_DISTORTION {
  FMOD_DSP_DISTORTION_LEVEL
} FMOD_DSP_DISTORTION;
enum DSP_DISTORTION
{
  LEVEL
}
FMOD.DSP_DISTORTION_LEVEL
FMOD_DSP_DISTORTION_LEVEL

Distortion value.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0.5

See Also: FMOD_DSP_TYPE_DISTORTION, DSP::setParameterFloat

FMOD_DSP_ECHO

Echo DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_ECHO {
  FMOD_DSP_ECHO_DELAY,
  FMOD_DSP_ECHO_FEEDBACK,
  FMOD_DSP_ECHO_DRYLEVEL,
  FMOD_DSP_ECHO_WETLEVEL,
  FMOD_DSP_ECHO_DELAYCHANGEMODE
} FMOD_DSP_ECHO;
enum DSP_ECHO
{
  DELAY,
  FEEDBACK,
  DRYLEVEL,
  WETLEVEL,
  DELAYCHANGEMODE
}
FMOD.DSP_ECHO_DELAY
FMOD.DSP_ECHO_FEEDBACK
FMOD.DSP_ECHO_DRYLEVEL
FMOD.DSP_ECHO_WETLEVEL
FMOD.DSP_ECHO_DELAYCHANGEMODE
FMOD_DSP_ECHO_DELAY

Echo delay.

  • Type: float
  • Units: Milliseconds
  • Range: [1, 5000]
  • Default: 500
FMOD_DSP_ECHO_FEEDBACK

Echo decay per delay. 100.0 = No decay, 0.0 = total decay.

  • Type: float
  • Units: Percentage
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_ECHO_DRYLEVEL

Original sound volume.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_ECHO_WETLEVEL

Volume of echo signal to pass to output.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_ECHO_DELAYCHANGEMODE

The method used to smooth delay changes.

Every time the delay is changed, the plug-in reallocates the echo buffer. This means the echo disappears at that time while it refills its new buffer. Larger echo delays result in larger amounts of memory allocated.

See Also: FMOD_DSP_TYPE_ECHO, DSP::setParameterFloat

FMOD_DSP_ECHO_DELAYCHANGEMODE_TYPE

Options for smoothing delay changes in the echo effect.

C
C++
C#
JS

typedef enum FMOD_DSP_ECHO_DELAYCHANGEMODE_TYPE {
    FMOD_DSP_ECHO_DELAYCHANGEMODE_FADE,
    FMOD_DSP_ECHO_DELAYCHANGEMODE_LERP,
    FMOD_DSP_ECHO_DELAYCHANGEMODE_NONE
} FMOD_DSP_ECHO_DELAYCHANGEMODE_TYPE;
enum DSP_ECHO_DELAYCHANGEMODE_TYPE
{
    FADE,
    LERP,
    NONE
}
    FMOD.DSP_ECHO_DELAYCHANGEMODE_FADE,
    FMOD.DSP_ECHO_DELAYCHANGEMODE_LERP,
    FMOD.DSP_ECHO_DELAYCHANGEMODE_NONE
FMOD_DSP_ECHO_DELAYCHANGEMODE_FADE
The ramp delay change mode will fade-in the new delay value and fade-out the old delay value. This is best suited for large, fast parameter changes.
FMOD_DSP_ECHO_DELAYCHANGEMODE_LERP
The lerp delay change mode will use linear interpolation to approach the new delay target. This is best suited for small, slow parameter changes, and for emulating the doppler effect.
FMOD_DSP_ECHO_DELAYCHANGEMODE_NONE
The none delay change mode will disable value smoothing between delay changes.

See Also: FMOD_DSP_ECHO_DELAYCHANGEMODE

FMOD_DSP_FADER

Fader DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_FADER {
  FMOD_DSP_FADER_GAIN,
  FMOD_DSP_FADER_OVERALL_GAIN
} FMOD_DSP_FADER;
enum DSP_FADER
{
  GAIN,
  OVERALL_GAIN,
}

Not supported for JavaScript.

FMOD_DSP_FADER_GAIN

Signal gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_FADER_OVERALL_GAIN

Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes.

See Also: FMOD_DSP_TYPE_FADER, DSP::setParameterFloat

FMOD_DSP_FFT

FFT DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_FFT {
  FMOD_DSP_FFT_WINDOWSIZE,
  FMOD_DSP_FFT_WINDOW,
  FMOD_DSP_FFT_BAND_START_FREQ,
  FMOD_DSP_FFT_BAND_STOP_FREQ,
  FMOD_DSP_FFT_SPECTRUMDATA,
  FMOD_DSP_FFT_RMS,
  FMOD_DSP_FFT_SPECTRAL_CENTROID,
  FMOD_DSP_FFT_IMMEDIATE_MODE,
  FMOD_DSP_FFT_DOWNMIX,
  FMOD_DSP_FFT_CHANNEL
} FMOD_DSP_FFT;
enum DSP_FFT
{
    WINDOWSIZE,
    WINDOW,
    BAND_START_FREQ,
    BAND_STOP_FREQ,
    SPECTRUMDATA,
    RMS,
    SPECTRAL_CENTROID,
    IMMEDIATE_MODE,
    DOWNMIX,
    CHANNEL
}
FMOD.DSP_FFT_WINDOWSIZE
FMOD.DSP_FFT_WINDOW
FMOD.DSP_FFT_BAND_START_FREQ
FMOD.DSP_FFT_BAND_STOP_FREQ
FMOD.DSP_FFT_SPECTRUMDATA
FMOD.DSP_FFT_RMS
FMOD.DSP_FFT_SPECTRAL_CENTROID
FMOD.DSP_FFT_IMMEDIATE_MODE
FMOD.DSP_FFT_DOWNMIX
FMOD.DSP_FFT_CHANNEL
FMOD_DSP_FFT_WINDOWSIZE

Window size. Must be a power of 2 between 128 and 16384.

  • Type: int
  • Default: 2048
FMOD_DSP_FFT_WINDOW

FFT Window Type.

FMOD_DSP_FFT_BAND_START_FREQ

The start frequency of the analysis band.

  • Type: float
  • Default: 0
FMOD_DSP_FFT_BAND_STOP_FREQ

The stop frequency of the analysis band.

  • Type: float
  • Default: 22000
FMOD_DSP_FFT_SPECTRUMDATA R/O

Returns the current spectrum values between 0 and 1 for each 'fft bin'. Divide the Nyquist frequency by the window size to get the hz value per entry.

FMOD_DSP_FFT_RMS R/O

The total RMS value of the spectral components within the analysis band.

  • Type: float
FMOD_DSP_FFT_SPECTRAL_CENTROID R/O

Returns the centroid of the spectral components within the analysis band for the first channel.

  • Type: float
FMOD_DSP_FFT_IMMEDIATE_MODE

Immediate Mode. False = data requests will have a delay on first time use and hardware acceleration, if available, will be used. True = data requests will have no delay on first time use, and no hardware acceleration will be used.

  • Type: bool
  • Default: false
FMOD_DSP_FFT_DOWNMIX

Downmix mode. If set to FMOD_DSP_FFT_DOWNMIX_MONO, the DSP will downmix the input signal to mono before analysis, producing a single spectrum. Note that this only affects the analysis - the DSP will pass the unmodified signal through to its output regardless of the downmix setting.

FMOD_DSP_FFT_CHANNEL

The channel to analyze. If set to -1, all channels will be analyzed, producing multiple spectra. Otherwise only the specified channel will be analyzed, producing a single spectrum.

  • Type: int
  • Default: -1

Set the attributes for the spectrum analysis with FMOD_DSP_FFT_WINDOWSIZE, FMOD_DSP_FFT_WINDOW, FMOD_DSP_FFT_BAND_START_FREQ, FMOD_DSP_FFT_BAND_STOP_FREQ, FMOD_DSP_FFT_DOWNMIX, and FMOD_DSP_FFT_CHANNEL.
Retrieve the results with FMOD_DSP_FFT_SPECTRUMDATA, FMOD_DSP_FFT_RMS and FMOD_DSP_FFT_SPECTRAL_CENTROID.
FMOD_DSP_FFT_SPECTRUMDATA stores its data in the FMOD_DSP_PARAMETER_DATA_TYPE_FFT. You will need to cast to this structure to get the right data.

See Also: FMOD_DSP_TYPE_FFT, DSP::setParameterFloat, DSP::setParameterInt, DSP::setParameterData, FMOD_DSP_FFT_WINDOW_TYPE

FMOD_DSP_FFT_DOWNMIX_TYPE

List of downmix modes for the FFT DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_FFT_DOWNMIX_TYPE {
  FMOD_DSP_FFT_DOWNMIX_NONE,
  FMOD_DSP_FFT_DOWNMIX_MONO
} FMOD_DSP_FFT_DOWNMIX_TYPE;
enum DSP_FFT_DOWNMIX_TYPE
{
  NONE,
  MONO
}
FMOD.DSP_FFT_DOWNMIX_NONE
FMOD.DSP_FFT_DOWNMIX_MONO
FMOD_DSP_FFT_DOWNMIX_NONE
No downmix.
FMOD_DSP_FFT_DOWNMIX_MONO
Downmix to mono.

Used to specify the downmix applied by the FFT DSP before spectrum analysis.

See Also: FMOD_DSP_FFT, FMOD_DSP_TYPE_FFT

FMOD_DSP_FFT_WINDOW_TYPE

List of windowing methods for the FFT DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_FFT_WINDOW_TYPE {
  FMOD_DSP_FFT_WINDOW_RECT,
  FMOD_DSP_FFT_WINDOW_TRIANGLE,
  FMOD_DSP_FFT_WINDOW_HAMMING,
  FMOD_DSP_FFT_WINDOW_HANNING,
  FMOD_DSP_FFT_WINDOW_BLACKMAN,
  FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
} FMOD_DSP_FFT_WINDOW_TYPE;
enum DSP_FFT_WINDOW_TYPE
{
  RECT,
  TRIANGLE,
  HAMMING,
  HANNING,
  BLACKMAN,
  BLACKMANHARRIS
}
FMOD.DSP_FFT_WINDOW_RECT
FMOD.DSP_FFT_WINDOW_TRIANGLE
FMOD.DSP_FFT_WINDOW_HAMMING
FMOD.DSP_FFT_WINDOW_HANNING
FMOD.DSP_FFT_WINDOW_BLACKMAN
FMOD.DSP_FFT_WINDOW_BLACKMANHARRIS
FMOD_DSP_FFT_WINDOW_RECT
w[n] = 1.0
FMOD_DSP_FFT_WINDOW_TRIANGLE
w[n] = TRI(2n/N)
FMOD_DSP_FFT_WINDOW_HAMMING
w[n] = 0.54 - (0.46 * COS(n/N) )
FMOD_DSP_FFT_WINDOW_HANNING
w[n] = 0.5 * (1.0 - COS(n/N) )
FMOD_DSP_FFT_WINDOW_BLACKMAN
w[n] = 0.42 - (0.5 * COS(n/N) ) + (0.08 * COS(2.0 * n/N) )
FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS
w[n] = 0.35875 - (0.48829 * COS(1.0 * n/N)) + (0.14128 * COS(2.0 * n/N)) - (0.01168 * COS(3.0 * n/N))

Used in spectrum analysis to reduce leakage / transient signals interfering with the analysis. This is a problem with analysis of continuous signals that only have a small portion of the signal sample (the fft window size). Windowing the signal with a curve or triangle tapers the sides of the fft window to help alleviate this problem.

Cyclic signals such as a sine wave that repeat their cycle in a multiple of the window size do not need windowing. I.e. If the sine wave repeats every 1024, 512, 256 etc samples and the FMOD fft window is 1024, then the signal would not need windowing.

Not windowing is represented by FMOD_DSP_FFT_WINDOW_RECT. If the cycle of the signal (ie the sine wave) is not a multiple of the window size, it will cause frequency abnormalities, so a different windowing method is needed.

FMOD_DSP_FFT_WINDOW_RECT

FFT Window Rectangle

FMOD_DSP_FFT_WINDOW_TRIANGLE

FFT Window Triangle

FMOD_DSP_FFT_WINDOW_HAMMING

FFT Window Hamming

FMOD_DSP_FFT_WINDOW_HANNING

FFT Window Hanning

FMOD_DSP_FFT_WINDOW_BLACKMAN

FFT Window Blackman

FMOD_DSP_FFT_WINDOW_BLACKMANHARRIS

FFT Window Blackman Harris

See Also: FMOD_DSP_FFT, FMOD_DSP_TYPE_FFT

FMOD_DSP_FLANGE

Flange DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_FLANGE {
  FMOD_DSP_FLANGE_MIX,
  FMOD_DSP_FLANGE_DEPTH,
  FMOD_DSP_FLANGE_RATE
} FMOD_DSP_FLANGE;
enum DSP_FLANGE
{
  MIX,
  DEPTH,
  RATE
}
FMOD.DSP_FLANGE_MIX
FMOD.DSP_FLANGE_DEPTH
FMOD.DSP_FLANGE_RATE
FMOD_DSP_FLANGE_MIX

Percentage of wet signal in the mix.

  • Type: float
  • Units: Percentage
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_FLANGE_DEPTH

Flange depth.

  • Type: float
  • Units: Linear
  • Range: [0.01, 1]
  • Default: 1
FMOD_DSP_FLANGE_RATE

Flange speed.

  • Type: float
  • Units: Hertz
  • Range: [0, 20]
  • Default: .1

Flange is an effect where the signal is played twice at the same time, and one copy slides back and forth creating a whooshing or flanging effect. As there are 2 versions of the same signal (dry vs wet), by default each signal is given 50% mix, so that the total is not louder than the original unaffected signal.

Flange depth is a percentage of a 10ms shift from the original signal. Anything above 10ms is not considered flange because to the ear it begins to 'echo' so 10ms is the highest value possible.

See Also: FMOD_DSP_TYPE_FLANGE, DSP::setParameterFloat

FMOD_DSP_HIGHPASS

Highpass DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_HIGHPASS {
  FMOD_DSP_HIGHPASS_CUTOFF,
  FMOD_DSP_HIGHPASS_RESONANCE
} FMOD_DSP_HIGHPASS;
enum DSP_HIGHPASS
{
  CUTOFF,
  RESONANCE
}
FMOD.DSP_HIGHPASS_CUTOFF
FMOD.DSP_HIGHPASS_RESONANCE
FMOD_DSP_HIGHPASS_CUTOFF

Highpass cutoff frequency.

  • Type: float
  • Units: Hertz
  • Range: [1, 22000]
  • Default: 5000
FMOD_DSP_HIGHPASS_RESONANCE

Highpass resonance Q value.

  • Type: float
  • Range: [1, 10]
  • Default: 1

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE_MULTIBAND_EQ:

// Configure a single band (band A) as a highpass (all other bands default to off).
// 12dB roll-off to approximate the old effect curve.
// Cutoff frequency can be used the same as with the old effect.
// Resonance can be applied by setting the 'Q' value of the new effect.
FMOD_DSP_SetParameterInt(multiband, FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, frequency);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_Q, resonance);

See Also: FMOD_DSP_TYPE_HIGHPASS, DSP::setParameterFloat

FMOD_DSP_HIGHPASS_SIMPLE

High pass simple DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_HIGHPASS_SIMPLE {
  FMOD_DSP_HIGHPASS_SIMPLE_CUTOFF
} FMOD_DSP_HIGHPASS_SIMPLE;
enum DSP_HIGHPASS_SIMPLE
{
  CUTOFF
}
FMOD.DSP_HIGHPASS_SIMPLE_CUTOFF
FMOD_DSP_HIGHPASS_SIMPLE_CUTOFF

Highpass cutoff frequency.

  • Type: float
  • Units: Hertz
  • Range: [1, 22000]
  • Default: 5000

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE_MULTIBAND_EQ:

// Configure a single band (band A) as a highpass (all other bands default to off).
// 12dB roll-off to approximate the old effect curve.
// Cutoff frequency can be used the same as with the old effect.
// Resonance / 'Q' should remain at default 0.707.
FMOD_DSP_SetParameterInt(multiband, FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, frequency);

This is a very simple single-order high pass filter. The emphasis is on speed rather than accuracy, so this should not be used for task requiring critical filtering.

See Also: FMOD_DSP_TYPE_HIGHPASS_SIMPLE, DSP::setParameterFloat

FMOD_DSP_ITECHO

IT echo DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_ITECHO {
  FMOD_DSP_ITECHO_WETDRYMIX,
  FMOD_DSP_ITECHO_FEEDBACK,
  FMOD_DSP_ITECHO_LEFTDELAY,
  FMOD_DSP_ITECHO_RIGHTDELAY,
  FMOD_DSP_ITECHO_PANDELAY
} FMOD_DSP_ITECHO;
enum DSP_ITECHO
{
  WETDRYMIX,
  FEEDBACK,
  LEFTDELAY,
  RIGHTDELAY,
  PANDELAY
}
FMOD.DSP_ITECHO_WETDRYMIX
FMOD.DSP_ITECHO_FEEDBACK
FMOD.DSP_ITECHO_LEFTDELAY
FMOD.DSP_ITECHO_RIGHTDELAY
FMOD.DSP_ITECHO_PANDELAY
FMOD_DSP_ITECHO_WETDRYMIX

Ratio of wet (processed) signal to dry (unprocessed) signal. Higher is wetter.

  • Type: float
  • Units: Percentage
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_ITECHO_FEEDBACK

Percentage of output fed back into input.

  • Type: float
  • Units: Percentage
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_ITECHO_LEFTDELAY

Delay for left channel.

  • Type: float
  • Units: Milliseconds
  • Range: [1, 2000]
  • Default: 500
FMOD_DSP_ITECHO_RIGHTDELAY

Delay for right channel.

  • Type: float
  • Units: Milliseconds
  • Range: [1, 2000]
  • Default: 500
FMOD_DSP_ITECHO_PANDELAY

Value that specifies whether to swap left and right delays with each successive echo. CURRENTLY NOT SUPPORTED.

  • Type: float
  • Range: 0, 1
  • Default: 0

This is effectively a software based echo filter that emulates the DirectX DMO echo effect. Impulse tracker files can support this, and FMOD will produce the effect on ANY platform, not just those that support DirectX effects!

Every time the delay is changed, the plug-in reallocates the echo buffer. This means the echo disappears at that time while it refills its new buffer. Larger echo delays result in larger amounts of memory allocated.

As this is a stereo filter made mainly for IT playback, it is targeted for stereo signals. With mono signals only the FMOD_DSP_ITECHO_LEFTDELAY is used. For multi-channel signals (>2) there will be no echo on those channels.

See Also: FMOD_DSP_TYPE_ITECHO, DSP::setParameterFloat

FMOD_DSP_ITLOWPASS

Lowpass DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_ITLOWPASS {
  FMOD_DSP_ITLOWPASS_CUTOFF,
  FMOD_DSP_ITLOWPASS_RESONANCE
} FMOD_DSP_ITLOWPASS;
enum DSP_ITLOWPASS
{
  CUTOFF,
  RESONANCE
}
FMOD.DSP_ITLOWPASS_CUTOFF
FMOD.DSP_ITLOWPASS_RESONANCE
FMOD_DSP_ITLOWPASS_CUTOFF

Lowpass cutoff frequency.

  • Type: float
  • Units: Hertz
  • Range: [1, 22000]
  • Default: 5000
FMOD_DSP_ITLOWPASS_RESONANCE

Lowpass resonance Q value.

  • Type: float
  • Range: [0, 127]
  • Default: 1

The FMOD Engine's .IT playback (FMOD_SOUND_TYPE_IT) uses this filter.

This is different to the default FMOD_DSP_TYPE_ITLOWPASS filter in that it uses a different quality algorithm and is the filter used to produce the correct sounding playback in .IT files.

Note! This filter actually has a limited cutoff frequency below the specified maximum, due to its limited design. For a more open range filter, use FMOD_DSP_LOWPASS, or if you don't mind not having resonance, FMOD_DSP_LOWPASS_SIMPLE.

The effective maximum cutoff is about 8060hz.

See Also: FMOD_DSP_TYPE_ITLOWPASS, DSP::setParameterFloat

FMOD_DSP_LIMITER

Limiter DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_LIMITER {
  FMOD_DSP_LIMITER_RELEASETIME,
  FMOD_DSP_LIMITER_CEILING,
  FMOD_DSP_LIMITER_MAXIMIZERGAIN,
  FMOD_DSP_LIMITER_MODE
} FMOD_DSP_LIMITER;
enum DSP_LIMITER
{
  RELEASETIME,
  CEILING,
  MAXIMIZERGAIN,
  MODE,
}
FMOD.DSP_LIMITER_RELEASETIME
FMOD.DSP_LIMITER_CEILING
FMOD.DSP_LIMITER_MAXIMIZERGAIN
FMOD.DSP_LIMITER_MODE
FMOD_DSP_LIMITER_RELEASETIME

Time to return the gain reduction to full in ms.

  • Type: float
  • Units: Milliseconds
  • Range: [1, 1000]
  • Default: 10
FMOD_DSP_LIMITER_CEILING

Maximum level of the output signal.

  • Type: float
  • Units: Decibels
  • Range: [-12, 0]
  • Default: 0
FMOD_DSP_LIMITER_MAXIMIZERGAIN

Maximum amplification allowed.

  • Type: float
  • Units: Decibels
  • Range: [0, 12]
  • Default: 0
FMOD_DSP_LIMITER_MODE

Channel processing mode where false is independent (limiter per channel) and true is linked (all channels are summed together before processing).

  • Type: bool
  • Default: false

See Also: FMOD_DSP_TYPE_LIMITER, DSP::setParameterFloat

FMOD_DSP_LOUDNESS_METER

Loudness meter DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_LOUDNESS_METER {
  FMOD_DSP_LOUDNESS_METER_STATE,
  FMOD_DSP_LOUDNESS_METER_WEIGHTING,
  FMOD_DSP_LOUDNESS_METER_INFO
} FMOD_DSP_LOUDNESS_METER;
enum DSP_LOUDNESS_METER
{
  STATE,
  WEIGHTING,
  INFO
}
FMOD.DSP_LOUDNESS_METER_STATE,
FMOD.DSP_LOUDNESS_METER_WEIGHTING,
FMOD.DSP_LOUDNESS_METER_INFO
FMOD_DSP_LOUDNESS_METER_STATE

Update state.

FMOD_DSP_LOUDNESS_METER_WEIGHTING

Channel weighting.

FMOD_DSP_LOUDNESS_METER_INFO R/O

Metering information.

See Also: FMOD_DSP_TYPE_LOUDNESS_METER, DSP::setParameterInt, DSP::setParameterData

FMOD_DSP_LOUDNESS_METER_INFO_TYPE

Loudness meter information data structure.

C
C++
C#
JS

typedef struct FMOD_DSP_LOUDNESS_METER_INFO_TYPE
{
  float momentaryloudness;
  float shorttermloudness;
  float integratedloudness;
  float loudness10thpercentile;
  float loudness95thpercentile;
  float loudnesshistogram[66];
  float maxtruepeak;
  float maxmomentaryloudness;
} FMOD_DSP_LOUDNESS_METER_INFO_TYPE;
struct DSP_LOUDNESS_METER_INFO_TYPE
{
  float momentaryloudness;
  float shorttermloudness;
  float integratedloudness;
  float loudness10thpercentile;
  float loudness95thpercentile;
  float loudnesshistogram[66];
  float maxtruepeak;
  float maxmomentaryloudness;
}
FMOD_DSP_LOUDNESS_METER_INFO_TYPE
{
  momentaryloudness;
  shorttermloudness;
  integratedloudness;
  loudness10thpercentile;
  loudness95thpercentile;
  loudnesshistogram;
  maxtruepeak;
  maxmomentaryloudness;
}
momentaryloudness
Loudness value indicating current loudness. Calculated using a 400ms window.
shorttermloudness
Loudness value indicating loudness averaged over a short time duration. Calculated using a 3 second window.
integratedloudness
Loudness value indicating loudness over the entire duration of the recording period.
loudness10thpercentile
10th percentile loudness (towards lowest loudness). Uses short term loudness values (3 second averages).
loudness95thpercentile
95th percentile loudness (towards highest loudness). Uses short term loudness values (3 second averages).
loudnesshistogram
Array containing distribution of loudness values. Each array entry is a count of the momentary loudness values (400ms averages) evenly distributed along the range [-60, 6] excluding loudness values outside that range.
maxtruepeak
Highest peak.
maxmomentaryloudness
Highest momentary loudness value (400ms averages).

See Also: FMOD_DSP_PARAMETER_DATA_TYPE, FMOD_DSP_PARAMETER_DESC

FMOD_DSP_LOUDNESS_METER_STATE_TYPE

Loudness meter state indicating update behavior.

C
C++
C#
JS

typedef enum FMOD_DSP_LOUDNESS_METER_STATE_TYPE {
  FMOD_DSP_LOUDNESS_METER_STATE_RESET_INTEGRATED = -3,
  FMOD_DSP_LOUDNESS_METER_STATE_RESET_MAXPEAK = -2,
  FMOD_DSP_LOUDNESS_METER_STATE_RESET_ALL = -1,
  FMOD_DSP_LOUDNESS_METER_STATE_PAUSED = 0,
  FMOD_DSP_LOUDNESS_METER_STATE_ANALYZING = 1
} FMOD_DSP_LOUDNESS_METER_STATE_TYPE;
enum DSP_LOUDNESS_METER_STATE_TYPE
{
  RESET_INTEGRATED = -3,
  RESET_MAXPEAK = -2,
  ESET_ALL = -1,
  PAUSED,
  ANALYZING
}
FMOD.DSP_LOUDNESS_METER_STATE_RESET_INTEGRATED = -3,
FMOD.DSP_LOUDNESS_METER_STATE_RESET_MAXPEAK = -2,
FMOD.DSP_LOUDNESS_METER_STATE_RESET_ALL = -1,
FMOD.DSP_LOUDNESS_METER_STATE_PAUSED = 0,
FMOD.DSP_LOUDNESS_METER_STATE_ANALYZING = 1
FMOD_DSP_LOUDNESS_METER_STATE_RESET_INTEGRATED
Reset loudness meter information except max peak.
FMOD_DSP_LOUDNESS_METER_STATE_RESET_MAXPEAK
Reset loudness meter max peak.
FMOD_DSP_LOUDNESS_METER_STATE_RESET_ALL
Reset all loudness meter information.
FMOD_DSP_LOUDNESS_METER_STATE_PAUSED
Pause loudness meter.
FMOD_DSP_LOUDNESS_METER_STATE_ANALYZING
Enable loudness meter recording and analyzing.

See Also: FMOD_DSP_TYPE_LOUDNESS_METER

FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE

Loudness meter channel weighting.

C
C++
C#
JS

typedef struct FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE
{
  float channelweight[32];
} FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE;
struct DSP_LOUDNESS_METER_WEIGHTING_TYPE
{
  float channelweight[32];
}
FMOD_DSP_LOUDNESS_METER_WEIGHTING_TYPE
{
  channelweight;
}
channelweight

The weighting of each channel used in calculating loudness.

  • Default: { 1, 1, 1, 0, 1.4, 1.4, 1.4, 1.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

See Also: FMOD_DSP_PARAMETER_DATA_TYPE, FMOD_DSP_PARAMETER_DESC

FMOD_DSP_LOWPASS

Low pass DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_LOWPASS {
  FMOD_DSP_LOWPASS_CUTOFF,
  FMOD_DSP_LOWPASS_RESONANCE
} FMOD_DSP_LOWPASS;
enum DSP_LOWPASS
{
  CUTOFF,
  RESONANCE
}
FMOD.DSP_LOWPASS_CUTOFF
FMOD.DSP_LOWPASS_RESONANCE
FMOD_DSP_LOWPASS_CUTOFF

Lowpass cutoff frequency.

  • Type: float
  • Units: Hertz
  • Range: [1, 22000]
  • Default: 5000
FMOD_DSP_LOWPASS_RESONANCE

Lowpass resonance Q value.

  • Type: float
  • Range: [0, 10]
  • Default: 1

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE_MULTIBAND_EQ:

// Configure a single band (band A) as a lowpass (all other bands default to off).
// 24dB roll-off to approximate the old effect curve.
// Cutoff frequency can be used the same as with the old effect.
// Resonance can be applied by setting the 'Q' value of the new effect.
FMOD_DSP_SetParameterInt(multiband, FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, frequency);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_Q, resonance);

See Also: FMOD_DSP_TYPE_LOWPASS, DSP::setParameterFloat

FMOD_DSP_LOWPASS_SIMPLE

Low pass simple DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_LOWPASS_SIMPLE {
  FMOD_DSP_LOWPASS_SIMPLE_CUTOFF
} FMOD_DSP_LOWPASS_SIMPLE;
enum DSP_LOWPASS_SIMPLE
{
  CUTOFF
}
FMOD.DSP_LOWPASS_SIMPLE_CUTOFF
FMOD_DSP_LOWPASS_SIMPLE_CUTOFF

Lowpass cutoff frequency.

  • Type: float
  • Units: Hertz
  • Range: [1, 22000]
  • Default: 5000

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE_MULTIBAND_EQ:

//  Configure a single band (band A) as a lowpass (all other bands default to off).
//  12dB roll-off to approximate the old effect curve.
//  Cutoff frequency can be used the same as with the old effect.
//  Resonance / 'Q' should remain at default 0.707.
FMOD_DSP_SetParameterInt(multiband, FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, frequency);

This is a very simple low pass filter, based on two single-pole RC time-constant modules.

The emphasis is on speed rather than accuracy, so this should not be used for task requiring critical filtering.

See Also: FMOD_DSP_TYPE_LOWPASS_SIMPLE, DSP::setParameterFloat, DSP::getParameterFloat, FMOD_DSP_TYPE

FMOD_DSP_MULTIBAND_DYNAMICS

Three-band compressor/expander effect.

C
C++
C#
JS

typedef enum FMOD_DSP_MULTIBAND_DYNAMICS
{
  FMOD_DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY,
  FMOD_DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY,
  FMOD_DSP_MULTIBAND_DYNAMICS_LINKED,
  FMOD_DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_MODE,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_THRESHOLD,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_RATIO,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_ATTACK,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_RELEASE,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP,
  FMOD_DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_MODE,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_THRESHOLD,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_RATIO,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_ATTACK,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_RELEASE,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP,
  FMOD_DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_MODE,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_THRESHOLD,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_RATIO,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_ATTACK,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_RELEASE,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP,
  FMOD_DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA
};
enum DSP_MULTIBAND_DYNAMICS
{
  LOWER_FREQUENCY,
  UPPER_FREQUENCY,
  LINKED,
  USE_SIDECHAIN,
  A_MODE,
  A_GAIN,
  A_THRESHOLD,
  A_RATIO,
  A_ATTACK,
  A_RELEASE,
  A_GAIN_MAKEUP,
  A_RESPONSE_DATA,
  B_MODE,
  B_GAIN,
  B_THRESHOLD,
  B_RATIO,
  B_ATTACK,
  B_RELEASE,
  B_GAIN_MAKEUP,
  B_RESPONSE_DATA,
  C_MODE,
  C_GAIN,
  C_THRESHOLD,
  C_RATIO,
  C_ATTACK,
  C_RELEASE,
  C_GAIN_MAKEUP,
  C_RESPONSE_DATA
}
FMOD.DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY,
FMOD.DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY,
FMOD.DSP_MULTIBAND_DYNAMICS_LINKED,
FMOD.DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN,
FMOD.DSP_MULTIBAND_DYNAMICS_A_MODE,
FMOD.DSP_MULTIBAND_DYNAMICS_A_GAIN,
FMOD.DSP_MULTIBAND_DYNAMICS_A_THRESHOLD,
FMOD.DSP_MULTIBAND_DYNAMICS_A_RATIO,
FMOD.DSP_MULTIBAND_DYNAMICS_A_ATTACK,
FMOD.DSP_MULTIBAND_DYNAMICS_A_RELEASE,
FMOD.DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP,
FMOD.DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA,
FMOD.DSP_MULTIBAND_DYNAMICS_B_MODE,
FMOD.DSP_MULTIBAND_DYNAMICS_B_GAIN,
FMOD.DSP_MULTIBAND_DYNAMICS_B_THRESHOLD,
FMOD.DSP_MULTIBAND_DYNAMICS_B_RATIO,
FMOD.DSP_MULTIBAND_DYNAMICS_B_ATTACK,
FMOD.DSP_MULTIBAND_DYNAMICS_B_RELEASE,
FMOD.DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP,
FMOD.DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA,
FMOD.DSP_MULTIBAND_DYNAMICS_C_MODE,
FMOD.DSP_MULTIBAND_DYNAMICS_C_GAIN,
FMOD.DSP_MULTIBAND_DYNAMICS_C_THRESHOLD,
FMOD.DSP_MULTIBAND_DYNAMICS_C_RATIO,
FMOD.DSP_MULTIBAND_DYNAMICS_C_ATTACK,
FMOD.DSP_MULTIBAND_DYNAMICS_C_RELEASE,
FMOD.DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP,
FMOD.DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA
FMOD_DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY

Lower crossover frequency. Band A will process the dynamic content ranging from 20Hz to this value, and Band B will process the dynamic content ranging from this value to the value of FMOD_DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY.

  • Type: float
  • Units: Hertz
  • Range: [20, 22000]
  • Default: 400
FMOD_DSP_MULTIBAND_DYNAMICS_UPPER_FREQUENCY

Upper crossover frequency. Band B will process the dynamic content ranging from the value of FMOD_DSP_MULTIBAND_DYNAMICS_LOWER_FREQUENCY to this value, and Band C will process the dynamic content ranging from this value to 20kHz.

  • Type: float
  • Units: Hertz
  • Range: [20, 22000]
  • Default: 4000
FMOD_DSP_MULTIBAND_DYNAMICS_LINKED

Enables optimized processing mode. When set to true, the input signal is mixed down to mono before passing through the dynamic processor bands.

  • Type: Boolean
  • Default: True
FMOD_DSP_MULTIBAND_DYNAMICS_USE_SIDECHAIN

Whether to analyse the sidechain signal instead of the input signal. When sidechaining is enabled the sidechain channel will be split into separate bands and analyzed for their dynamic content, but the resulting dynamic response will still be applied to the host channel.

FMOD_DSP_MULTIBAND_DYNAMICS_A_MODE

Band A: Dynamic response mode. Use this to configure how the band will respond to the envelope of the signal. The "Upward" modes will amplify the signal, and the "Downward" modes will attenuate the signal.

FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN

Band A: Gain applied before dynamic processing. This amplifies or attenuates the signal before it is split into separate bands and dynamic processors.

  • Type: float
  • Units: dB
  • Range: [-30, 30]
  • Default: 0
FMOD_DSP_MULTIBAND_DYNAMICS_A_THRESHOLD

Band A: Dynamic response threshold. This changes the threshold at which this band will start attenuating or amplifying the signal.

  • Type: float
  • Units: dB
  • Range: [-80, 0]
  • Default: -5
FMOD_DSP_MULTIBAND_DYNAMICS_A_RATIO

Band A: Dynamic response ratio. This changes the amount of amplification or attenuation that will be applied to the signal. The result of dynamic processing will be more subtle at lower ratio values, and will intensify as the ratio increases.

  • Type: float
  • Units: Linear
  • Range: [1, 50]
  • Default: 2.5
FMOD_DSP_MULTIBAND_DYNAMICS_A_ATTACK

Band A: Dynamic attack time. This is the duration it will take the dynamic processor to apply the full ratio of amplification or attenuation. Lower values will mean the full ratio is applied quickly, and will approach the ratio value more smoothly as the attack value increases.

  • Type: float
  • Units: ms
  • Range: [0.1, 1000]
  • Default: 20
FMOD_DSP_MULTIBAND_DYNAMICS_A_RELEASE

Band A: Dynamic release time. This is the duration it will take the dynamic processor to return to stop applying amplification or attenuation. Lower values will mean the ratio stops being applied quickly, and will back off the ratio value more smoothly as the release value increases.

  • Type: float
  • Units: ms
  • Range: [10, 5000]
  • Default: 100
FMOD_DSP_MULTIBAND_DYNAMICS_A_GAIN_MAKEUP

Band A: Gain applied after dynamic processing. This amplifies or attenuates the signal after it passes through the dynamic processors and before the split signal is mixed back together.

  • Type: float
  • Units: dB
  • Range: [-30, 30]
  • Default: 0
FMOD_DSP_MULTIBAND_DYNAMICS_A_RESPONSE_DATA

Band A: Dynamic response metering information. This structure contains data on the average attenuation or amplification applied per channel in the last mix block.

FMOD_DSP_MULTIBAND_DYNAMICS_B_MODE
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_THRESHOLD
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_RATIO
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_ATTACK
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_RELEASE
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_GAIN_MAKEUP
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_B_RESPONSE_DATA
Band B: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_MODE
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_THRESHOLD
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_RATIO
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_ATTACK
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_RELEASE
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_GAIN_MAKEUP
Band C: See Band A.
FMOD_DSP_MULTIBAND_DYNAMICS_C_RESPONSE_DATA
Band C: See Band A.

FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE

Multiband Dynamics dynamic response types.

C
C++
C#
JS

typedef enum FMOD_DSP_MULTIBAND_DYNAMICS_MODE_TYPE {
  FMOD_DSP_MULTIBAND_DYNAMICS_MODE_DISABLED,
  FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP,
  FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN,
  FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP,
  FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN
};
enum DSP_MULTIBAND_DYNAMICS_MODE_TYPE
{
  DISABLED,
  COMPRESS_UP,
  COMPRESS_DOWN,
  EXPAND_UP,
  EXPAND_DOWN
}
FMOD.DSP_MULTIBAND_DYNAMICS_MODE_DISABLED,
FMOD.DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP,
FMOD.DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN,
FMOD.DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP,
FMOD.DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_DISABLED
Response disabled, no processing.
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_UP
Dynamic upward compression. Amplifies the signal below a defined threshold.
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_COMPRESS_DOWN
Dynamic downward compression. Attenuates the signal above a defined threshold.
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_UP
Dynamic upward expansion. Amplifies the signal above a defined threshold.
FMOD_DSP_MULTIBAND_DYNAMICS_MODE_EXPAND_DOWN
Dynamic downward expansion. Attenuates the signal below a defined threshold.

See Also: FMOD_DSP_MULTIBAND_DYNAMICS

FMOD_DSP_MULTIBAND_EQ

Multiband equalizer DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_MULTIBAND_EQ {
  FMOD_DSP_MULTIBAND_EQ_A_FILTER,
  FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY,
  FMOD_DSP_MULTIBAND_EQ_A_Q,
  FMOD_DSP_MULTIBAND_EQ_A_GAIN,
  FMOD_DSP_MULTIBAND_EQ_B_FILTER,
  FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY,
  FMOD_DSP_MULTIBAND_EQ_B_Q,
  FMOD_DSP_MULTIBAND_EQ_B_GAIN,
  FMOD_DSP_MULTIBAND_EQ_C_FILTER,
  FMOD_DSP_MULTIBAND_EQ_C_FREQUENCY,
  FMOD_DSP_MULTIBAND_EQ_C_Q,
  FMOD_DSP_MULTIBAND_EQ_C_GAIN,
  FMOD_DSP_MULTIBAND_EQ_D_FILTER,
  FMOD_DSP_MULTIBAND_EQ_D_FREQUENCY,
  FMOD_DSP_MULTIBAND_EQ_D_Q,
  FMOD_DSP_MULTIBAND_EQ_D_GAIN,
  FMOD_DSP_MULTIBAND_EQ_E_FILTER,
  FMOD_DSP_MULTIBAND_EQ_E_FREQUENCY,
  FMOD_DSP_MULTIBAND_EQ_E_Q,
  FMOD_DSP_MULTIBAND_EQ_E_GAIN
} FMOD_DSP_MULTIBAND_EQ;
enum DSP_MULTIBAND_EQ
{
  A_FILTER,
  A_FREQUENCY,
  A_Q,
  A_GAIN,
  B_FILTER,
  B_FREQUENCY,
  B_Q,
  B_GAIN,
  C_FILTER,
  C_FREQUENCY,
  C_Q,
  C_GAIN,
  D_FILTER,
  D_FREQUENCY,
  D_Q,
  D_GAIN,
  E_FILTER,
  E_FREQUENCY,
  E_Q,
  E_GAIN,
}
FMOD.DSP_MULTIBAND_EQ_A_FILTER
FMOD.DSP_MULTIBAND_EQ_A_FREQUENCY
FMOD.DSP_MULTIBAND_EQ_A_Q
FMOD.DSP_MULTIBAND_EQ_A_GAIN
FMOD.DSP_MULTIBAND_EQ_B_FILTER
FMOD.DSP_MULTIBAND_EQ_B_FREQUENCY
FMOD.DSP_MULTIBAND_EQ_B_Q
FMOD.DSP_MULTIBAND_EQ_B_GAIN
FMOD.DSP_MULTIBAND_EQ_C_FILTER
FMOD.DSP_MULTIBAND_EQ_C_FREQUENCY
FMOD.DSP_MULTIBAND_EQ_C_Q
FMOD.DSP_MULTIBAND_EQ_C_GAIN
FMOD.DSP_MULTIBAND_EQ_D_FILTER
FMOD.DSP_MULTIBAND_EQ_D_FREQUENCY
FMOD.DSP_MULTIBAND_EQ_D_Q
FMOD.DSP_MULTIBAND_EQ_D_GAIN
FMOD.DSP_MULTIBAND_EQ_E_FILTER
FMOD.DSP_MULTIBAND_EQ_E_FREQUENCY
FMOD.DSP_MULTIBAND_EQ_E_Q
FMOD.DSP_MULTIBAND_EQ_E_GAIN
FMOD_DSP_MULTIBAND_EQ_A_FILTER

Band A: used to interpret the behavior of the remaining parameters.

FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY

Band A: Significant frequency, cutoff [low/high pass, low/high shelf], center [notch, peaking, band-pass], phase transition point [all-pass].

  • Type: float
  • Units: Hertz
  • Range: [20, 22000]
  • Default: 8000
FMOD_DSP_MULTIBAND_EQ_A_Q

Band A: Quality factor, resonance [low/high pass], bandwidth [notch, peaking, band-pass], phase transition sharpness [all-pass], unused [low/high shelf].

  • Type: float
  • Range: [0.1, 10]
  • Default: 0.707
FMOD_DSP_MULTIBAND_EQ_A_GAIN

Band A: Boost or attenuation in dB [peaking, high/low shelf only]. -30 to 30. Default = 0.

  • Type: float
  • Units: Decibels
  • Range: [-30, 30]
  • Default: 8000
FMOD_DSP_MULTIBAND_EQ_B_FILTER

Band B: See Band A.

FMOD_DSP_MULTIBAND_EQ_B_FREQUENCY
Band B: See Band A
FMOD_DSP_MULTIBAND_EQ_B_Q
Band B: See Band A
FMOD_DSP_MULTIBAND_EQ_B_GAIN
Band B: See Band A
FMOD_DSP_MULTIBAND_EQ_C_FILTER

Band C: See Band A.

FMOD_DSP_MULTIBAND_EQ_C_FREQUENCY
Band C: See Band A.
FMOD_DSP_MULTIBAND_EQ_C_Q
Band C: See Band A.
FMOD_DSP_MULTIBAND_EQ_C_GAIN
Band C: See Band A.
FMOD_DSP_MULTIBAND_EQ_D_FILTER

Band D: See Band A.

FMOD_DSP_MULTIBAND_EQ_D_FREQUENCY
Band D: See Band A.
FMOD_DSP_MULTIBAND_EQ_D_Q
Band D: See Band A.
FMOD_DSP_MULTIBAND_EQ_D_GAIN
Band D: See Band A.
FMOD_DSP_MULTIBAND_EQ_E_FILTER

Band E: See Band A.

FMOD_DSP_MULTIBAND_EQ_E_FREQUENCY
Band E: See Band A.
FMOD_DSP_MULTIBAND_EQ_E_Q
Band E: See Band A.
FMOD_DSP_MULTIBAND_EQ_E_GAIN
Band E: See Band A.

Flexible five band parametric equalizer.

See Also: FMOD_DSP_TYPE_MULTIBAND_EQ, DSP::setParameterInt, DSP::setParameterFloat

FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE

Multiband equalizer filter types.

C
C++
C#
JS

typedef enum FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE {
  FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED,
  FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_LOWSHELF,
  FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF,
  FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING,
  FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS,
  FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH,
  FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS,
  FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB,
  FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB
} FMOD_DSP_MULTIBAND_EQ_FILTER_TYPE;
enum DSP_MULTIBAND_EQ_FILTER_TYPE
{
  DISABLED,
  LOWPASS_12DB,
  LOWPASS_24DB,
  LOWPASS_48DB,
  HIGHPASS_12DB,
  HIGHPASS_24DB,
  HIGHPASS_48DB,
  LOWSHELF,
  HIGHSHELF,
  PEAKING,
  BANDPASS,
  NOTCH,
  ALLPASS,
  LOWPASS_6DB,
  HIGHPASS_6DB
}
FMOD.DSP_MULTIBAND_EQ_FILTER_DISABLED
FMOD.DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB
FMOD.DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB
FMOD.DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB
FMOD.DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB
FMOD.DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB
FMOD.DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB
FMOD.DSP_MULTIBAND_EQ_FILTER_LOWSHELF
FMOD.DSP_MULTIBAND_EQ_FILTER_HIGHSHELF
FMOD.DSP_MULTIBAND_EQ_FILTER_PEAKING
FMOD.DSP_MULTIBAND_EQ_FILTER_BANDPASS
FMOD.DSP_MULTIBAND_EQ_FILTER_NOTCH
FMOD.DSP_MULTIBAND_EQ_FILTER_ALLPASS
FMOD.DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB
FMOD.DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB
FMOD_DSP_MULTIBAND_EQ_FILTER_DISABLED
Disabled filter, no processing.
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_12DB
Resonant low-pass filter, attenuates frequencies (12dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_24DB
Resonant low-pass filter, attenuates frequencies (24dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_48DB
Resonant low-pass filter, attenuates frequencies (48dB per octave) above a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_12DB
Resonant high-pass filter, attenuates frequencies (12dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_24DB
Resonant high-pass filter, attenuates frequencies (24dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_48DB
Resonant high-pass filter, attenuates frequencies (48dB per octave) below a given point (with specificed resonance) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWSHELF
Low-shelf filter, boosts or attenuates frequencies (with specified gain) below a given point while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHSHELF
High-shelf filter, boosts or attenuates frequencies (with specified gain) above a given point while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING
Peaking filter, boosts or attenuates frequencies (with specified gain) at a given point (with specificed bandwidth) while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_BANDPASS
Band-pass filter, allows frequencies at a given point (with specificed bandwidth) to pass while attenuating frequencies outside this range.
FMOD_DSP_MULTIBAND_EQ_FILTER_NOTCH
Notch or band-reject filter, attenuates frequencies at a given point (with specificed bandwidth) while allowing frequencies outside this range to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_ALLPASS
All-pass filter, allows all frequencies to pass, but changes the phase response at a given point (with specified sharpness).
FMOD_DSP_MULTIBAND_EQ_FILTER_LOWPASS_6DB
Non-resonant low-pass filter, attenuates frequencies (6dB per octave) above a given point while allowing the rest to pass.
FMOD_DSP_MULTIBAND_EQ_FILTER_HIGHPASS_6DB
Non-resonant high-pass filter, attenuates frequencies (6dB per octave) below a given point while allowing the rest to pass.

See Also: FMOD_DSP_MULTIBAND_EQ

FMOD_DSP_NORMALIZE

Normalize DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_NORMALIZE {
  FMOD_DSP_NORMALIZE_FADETIME,
  FMOD_DSP_NORMALIZE_THRESHOLD,
  FMOD_DSP_NORMALIZE_MAXAMP
} FMOD_DSP_NORMALIZE;
enum DSP_NORMALIZE
{
  FADETIME,
  THRESHOLD,
  MAXAMP
}
FMOD.DSP_NORMALIZE_FADETIME
FMOD.DSP_NORMALIZE_THRESHOLD
FMOD.DSP_NORMALIZE_MAXAMP
FMOD_DSP_NORMALIZE_FADETIME

Time to ramp the silence to full.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 20000]
  • Default: 5000
FMOD_DSP_NORMALIZE_THRESHOLD

Lower volume range threshold to ignore.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0.1
FMOD_DSP_NORMALIZE_MAXAMP

Maximum amplification allowed.

  • Type: float
  • Units: Linear
  • Range: [1, 100000]
  • Default: 20

Normalize amplifies the sound based on the maximum peaks within the signal. For example if the maximum peaks in the signal were 50% of the bandwidth, it would scale the whole sound by 2.

The lower threshold value makes the normalizer ignore peaks below a certain point, to avoid over-amplification if a loud signal suddenly came in, and also to avoid amplifying to maximum things like background hiss.

Because FMOD is a realtime audio processor, it doesn't have the luxury of knowing the peak for the whole sound (ie it can't see into the future), so it has to process data as it comes in.

To avoid very sudden changes in volume level based on small samples of new data, FMOD fades towards the desired amplification which makes for smooth gain control. The fadetime parameter can control this.

See Also: FMOD_DSP_TYPE_NORMALIZE, DSP::setParameterFloat

FMOD_DSP_OBJECTPAN

Object based spatializer parameters.

C
C++
C#
JS

typedef enum FMOD_DSP_OBJECTPAN {
  FMOD_DSP_OBJECTPAN_3D_POSITION,
  FMOD_DSP_OBJECTPAN_3D_ROLLOFF,
  FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE,
  FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE,
  FMOD_DSP_OBJECTPAN_3D_EXTENT_MODE,
  FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE,
  FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT,
  FMOD_DSP_OBJECTPAN_OVERALL_GAIN,
  FMOD_DSP_OBJECTPAN_OUTPUTGAIN,
  FMOD_DSP_OBJECTPAN_ATTENUATION_RANGE,
  FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE
} FMOD_DSP_OBJECTPAN;
enum DSP_OBJECTPAN
{
  _3D_POSITION,
  _3D_ROLLOFF,
  _3D_MIN_DISTANCE,
  _3D_MAX_DISTANCE,
  _3D_EXTENT_MODE,
  _3D_SOUND_SIZE,
  _3D_MIN_EXTENT,
  OVERALL_GAIN,
  OUTPUTGAIN,
  ATTENUATION_RANGE,
  OVERRIDE_RANGE
}
FMOD.DSP_OBJECTPAN_3D_POSITION
FMOD.DSP_OBJECTPAN_3D_ROLLOFF
FMOD.DSP_OBJECTPAN_3D_MIN_DISTANCE
FMOD.DSP_OBJECTPAN_3D_MAX_DISTANCE
FMOD.DSP_OBJECTPAN_3D_EXTENT_MODE
FMOD.DSP_OBJECTPAN_3D_SOUND_SIZE
FMOD.DSP_OBJECTPAN_3D_MIN_EXTENT
FMOD.DSP_OBJECTPAN_OVERALL_GAIN
FMOD.DSP_OBJECTPAN_OUTPUTGAIN
FMOD.DSP_OBJECTPAN_ATTENUATION_RANGE
FMOD.DSP_OBJECTPAN_OVERRIDE_RANGE
FMOD_DSP_OBJECTPAN_3D_POSITION

3D Position.

FMOD_DSP_OBJECTPAN_3D_ROLLOFF

3D Roll-off Type.

FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE

3D Min Distance when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is true.

FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE

3D Max Distance when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is true.

FMOD_DSP_OBJECTPAN_3D_EXTENT_MODE

3D Extent Mode.

FMOD_DSP_OBJECTPAN_3D_SOUND_SIZE

3D Sound Size.

FMOD_DSP_OBJECTPAN_3D_MIN_EXTENT

3D Min Extent.

  • Type: float
  • Units: Degrees
  • Range: [0, 360]
  • Default: 0
FMOD_DSP_OBJECTPAN_OVERALL_GAIN R/O

Overall gain to allow FMOD to know the DSP is scaling the signal for virtualization purposes.

FMOD_DSP_OBJECTPAN_OUTPUTGAIN

Output gain level.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0
FMOD_DSP_OBJECTPAN_ATTENUATION_RANGE

Attenuation Range when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is false.

FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE

Override Attenuation Range with FMOD_DSP_OBJECTPAN_3D_MIN_DISTANCE and FMOD_DSP_OBJECTPAN_3D_MAX_DISTANCE.

  • Type: bool
  • Default: true

Signal processed by this DSP will be sent to the global object mixer (effectively a send), any DSP connected after this will receive silence.

For best results this DSP should be used with FMOD_OUTPUTTYPE_WINSONIC or FMOD_OUTPUTTYPE_AUDIO3D to get height spatialization. Playback with any other output will result in fallback spatialization provided by FMOD_DSP_TYPE_PAN.

FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE defaults to true for backwards compatability.

See Also: FMOD_DSP_TYPE_OBJECTPAN, DSP::setParameterFloat, DSP::setParameterInt, DSP::setParameterData, Controlling a Spatializer DSP

FMOD_DSP_OSCILLATOR

Oscillator DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_OSCILLATOR {
  FMOD_DSP_OSCILLATOR_TYPE,
  FMOD_DSP_OSCILLATOR_RATE
} FMOD_DSP_OSCILLATOR;
enum DSP_OSCILLATOR
{
  TYPE,
  RATE
}
FMOD.DSP_OSCILLATOR_TYPE
FMOD.DSP_OSCILLATOR_RATE
FMOD_DSP_OSCILLATOR_TYPE

Waveform type. 0 = sine. 1 = square. 2 = sawup. 3 = sawdown. 4 = triangle. 5 = noise.

  • Type: int
  • Default: 0
FMOD_DSP_OSCILLATOR_RATE

Frequency of the tone. Does not affect the noise generator.

  • Type: float
  • Units: Hertz
  • Range: [0, 22000]
  • Default: 220

See Also: FMOD_DSP_TYPE_OSCILLATOR, DSP::setParameterFloat, DSP::setParameterInt

FMOD_DSP_PAN

Pan DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_PAN {
  FMOD_DSP_PAN_MODE,
  FMOD_DSP_PAN_2D_STEREO_POSITION,
  FMOD_DSP_PAN_2D_DIRECTION,
  FMOD_DSP_PAN_2D_EXTENT,
  FMOD_DSP_PAN_2D_ROTATION,
  FMOD_DSP_PAN_2D_LFE_LEVEL,
  FMOD_DSP_PAN_2D_STEREO_MODE,
  FMOD_DSP_PAN_2D_STEREO_SEPARATION,
  FMOD_DSP_PAN_2D_STEREO_AXIS,
  FMOD_DSP_PAN_ENABLED_SPEAKERS,
  FMOD_DSP_PAN_3D_POSITION,
  FMOD_DSP_PAN_3D_ROLLOFF,
  FMOD_DSP_PAN_3D_MIN_DISTANCE,
  FMOD_DSP_PAN_3D_MAX_DISTANCE,
  FMOD_DSP_PAN_3D_EXTENT_MODE,
  FMOD_DSP_PAN_3D_SOUND_SIZE,
  FMOD_DSP_PAN_3D_MIN_EXTENT,
  FMOD_DSP_PAN_3D_PAN_BLEND,
  FMOD_DSP_PAN_LFE_UPMIX_ENABLED,
  FMOD_DSP_PAN_OVERALL_GAIN,
  FMOD_DSP_PAN_SURROUND_SPEAKER_MODE,
  FMOD_DSP_PAN_2D_HEIGHT_BLEND,
  FMOD_DSP_PAN_ATTENUATION_RANGE,
  FMOD_DSP_PAN_OVERRIDE_RANGE
} FMOD_DSP_PAN;
enum DSP_PAN
{
  MODE,
  _2D_STEREO_POSITION,
  _2D_DIRECTION,
  _2D_EXTENT,
  _2D_ROTATION,
  _2D_LFE_LEVEL,
  _2D_STEREO_MODE,
  _2D_STEREO_SEPARATION,
  _2D_STEREO_AXIS,
  ENABLED_SPEAKERS,
  _3D_POSITION,
  _3D_ROLLOFF,
  _3D_MIN_DISTANCE,
  _3D_MAX_DISTANCE,
  _3D_EXTENT_MODE,
  _3D_SOUND_SIZE,
  _3D_MIN_EXTENT,
  _3D_PAN_BLEND,
  LFE_UPMIX_ENABLED,
  OVERALL_GAIN,
  SURROUND_SPEAKER_MODE,
  _2D_HEIGHT_BLEND,
  ATTENUATION_RANGE,
  OVERRIDE_RANGE
}
FMOD.DSP_PAN_MODE
FMOD.DSP_PAN_2D_STEREO_POSITION
FMOD.DSP_PAN_2D_DIRECTION
FMOD.DSP_PAN_2D_EXTENT
FMOD.DSP_PAN_2D_ROTATION
FMOD.DSP_PAN_2D_LFE_LEVEL
FMOD.DSP_PAN_2D_STEREO_MODE
FMOD.DSP_PAN_2D_STEREO_SEPARATION
FMOD.DSP_PAN_2D_STEREO_AXIS
FMOD.DSP_PAN_ENABLED_SPEAKERS
FMOD.DSP_PAN_3D_POSITION
FMOD.DSP_PAN_3D_ROLLOFF
FMOD.DSP_PAN_3D_MIN_DISTANCE
FMOD.DSP_PAN_3D_MAX_DISTANCE
FMOD.DSP_PAN_3D_EXTENT_MODE
FMOD.DSP_PAN_3D_SOUND_SIZE
FMOD.DSP_PAN_3D_MIN_EXTENT
FMOD.DSP_PAN_3D_PAN_BLEND
FMOD.DSP_PAN_LFE_UPMIX_ENABLED
FMOD.DSP_PAN_OVERALL_GAIN
FMOD.DSP_PAN_SURROUND_SPEAKER_MODE
FMOD.DSP_PAN_2D_HEIGHT_BLEND
FMOD.DSP_PAN_ATTENUATION_RANGE
FMOD.DSP_PAN_OVERRIDE_RANGE
FMOD_DSP_PAN_MODE

Panner mode.

FMOD_DSP_PAN_2D_STEREO_POSITION

2D Stereo pan position.

  • Type: float
  • Units: Linear
  • Range: [-100, 100]
  • Default: 0
FMOD_DSP_PAN_2D_DIRECTION

2D Surround pan direction. Direction from center point of panning circle where 0 is front center and -180 or +180 is rear speakers center point.

  • Type: float
  • Units: Degrees
  • Range: [-180, 180]
  • Default: 0
FMOD_DSP_PAN_2D_EXTENT

2D Surround pan extent.

  • Type: float
  • Units: Degrees
  • Range: [0, 360]
  • Default: 360
FMOD_DSP_PAN_2D_ROTATION

2D Surround pan rotation.

  • Type: float
  • Units: Degrees
  • Range: [-180, 180]
  • Default: 0
FMOD_DSP_PAN_2D_LFE_LEVEL

2D Surround pan LFE level.

  • Type: float
  • Units: Decibels
  • Range: [-80, 20]
  • Default: 0
FMOD_DSP_PAN_2D_STEREO_MODE

Stereo-To-Surround Mode.

FMOD_DSP_PAN_2D_STEREO_SEPARATION

Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE mode. Separation/width of L/R parts of stereo sound.

  • Type: float
  • Units: Degrees
  • Range: [-180, 180]
  • Default: 60
FMOD_DSP_PAN_2D_STEREO_AXIS

Stereo-To-Surround Stereo For FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE mode. Axis/rotation of L/R parts of stereo sound.

  • Type: float
  • Units: Degrees
  • Range: [-180, 180]
  • Default: 0
FMOD_DSP_PAN_ENABLED_SPEAKERS

Speakers Enabled Bitmask for each speaker from 0 to 32 to be considered by panner. Use to disable speakers from being panned to. 0 to 0xFFF. Default = 0xFFF (All on).

  • Type: int
  • Range: [0, 0xFFF]
  • Default: 0xFFF
FMOD_DSP_PAN_3D_POSITION

3D Position of panner and listener(s).

FMOD_DSP_PAN_3D_ROLLOFF

3D volume attenuation curve shape.

FMOD_DSP_PAN_3D_MIN_DISTANCE

3D volume attenuation minimum distance when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is true.

FMOD_DSP_PAN_3D_MAX_DISTANCE

3D volume attenuation maximum distance when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is true.

FMOD_DSP_PAN_3D_EXTENT_MODE

3D Extent Mode.

FMOD_DSP_PAN_3D_SOUND_SIZE

3D Sound Size.

FMOD_DSP_PAN_3D_MIN_EXTENT

3D Min Extent.

  • Type: float
  • Units: Degrees
  • Range: [0, 360]
  • Default: 0
FMOD_DSP_PAN_3D_PAN_BLEND

3D Pan Blend.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0
FMOD_DSP_PAN_LFE_UPMIX_ENABLED

LFE Upmix Enabled. Determines whether non-LFE source channels should mix to the LFE or leave it alone. 0 (off) to 1 (on). Default = 0 (off).

  • Type: int
  • Units: Linear
  • Range: [0, 1]
  • Default: 0
FMOD_DSP_PAN_OVERALL_GAIN

Overall gain to allow FMOD to know the DSP is scaling the signal for visualization purposes.

FMOD_DSP_PAN_SURROUND_SPEAKER_MODE

Surround speaker mode. (FMOD_SPEAKERMODE)

FMOD_DSP_PAN_2D_HEIGHT_BLEND

2D Height blend. When the input or FMOD_DSP_PAN_SURROUND_SPEAKER_MODE has height speakers, control the blend between ground and height. -1.0 (push top speakers to ground), 0.0 (preserve top / ground separation), 1.0 (push ground speakers to top).

  • Type: float
  • Units: Linear
  • Range: [-1, 1]
  • Default: 0
FMOD_DSP_PAN_ATTENUATION_RANGE

Attenuation Range when FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE is false.

FMOD_DSP_PAN_OVERRIDE_RANGE

Override Attenuation Range with FMOD_DSP_PAN_3D_MIN_DISTANCE and FMOD_DSP_PAN_3D_MAX_DISTANCE.

  • Type: bool
  • Default: true

FMOD_DSP_PAN_3D_PAN_BLEND controls the percentage of the effect supplied by FMOD_DSP_PAN_2D_DIRECTION and FMOD_DSP_PAN_2D_EXTENT.

For FMOD_DSP_PAN_3D_POSITION, the following members in the FMOD_DSP_PARAMETER_3DATTRIBUTES_MULTI struct should be non zero.
- numlisteners - This is typically 1, can be up to 8. Typically more than 1 is only used for split screen purposes. The FMOD Panner will average angles and produce the best compromise for panning and attenuation.
- relative[listenernum].position - This is the delta between the listener position and the sound position. Typically the listener position is subtracted from the sound position.
- relative[listenernum].forward - This is the sound's forward vector. Optional, set to 0,0,1 if not needed. This is only relevant for more than mono sounds in 3D, that are spread amongst the destination speakers at the time of panning.

    If the sound rotates then the L/R part of a stereo sound will rotate amongst its destination speakers.
    If the sound has moved and pinpointed into a single speaker, rotation of the sound will have no effect as at that point the channels are collapsed into a single point.

For FMOD_DSP_PAN_2D_STEREO_MODE, when it is set to FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE, only FMOD_DSP_PAN_2D_STEREO_SEPARATION and FMOD_DSP_PAN_2D_STEREO_AXIS are used.
When it is set to FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED, then standard FMOD_DSP_PAN_2D_DIRECTION/FMOD_DSP_PAN_2D_EXTENT parameters are used.

FMOD_DSP_OBJECTPAN_OVERRIDE_RANGE defaults to true for backwards compatability.

See Also: FMOD_DSP_TYPE_PAN, DSP::setParameterFloat, DSP::setParameterInt, DSP::setParameterData, Controlling a Spatializer DSP

FMOD_DSP_PAN_2D_STEREO_MODE_TYPE

2D stereo mode values for pan DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_PAN_2D_STEREO_MODE_TYPE {
  FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED,
  FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE
} FMOD_DSP_PAN_2D_STEREO_MODE_TYPE;
enum DSP_PAN_2D_STEREO_MODE_TYPE
{
  DISTRIBUTED,
  DISCRETE
}
FMOD.DSP_PAN_2D_STEREO_MODE_DISTRIBUTED
FMOD.DSP_PAN_2D_STEREO_MODE_DISCRETE
FMOD_DSP_PAN_2D_STEREO_MODE_DISTRIBUTED
The parts of a stereo sound are spread around destination speakers based on FMOD_DSP_PAN_2D_EXTENT / FMOD_DSP_PAN_2D_DIRECTION
FMOD_DSP_PAN_2D_STEREO_MODE_DISCRETE
The L/R parts of a stereo sound are rotated around a circle based on FMOD_DSP_PAN_2D_STEREO_AXIS / FMOD_DSP_PAN_2D_STEREO_SEPARATION.

See Also: FMOD_DSP_PAN_2D_STEREO_MODE, FMOD_DSP_TYPE_PAN, FMOD_DSP_PAN

FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE

3D extent mode values for pan DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE {
  FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO,
  FMOD_DSP_PAN_3D_EXTENT_MODE_USER,
  FMOD_DSP_PAN_3D_EXTENT_MODE_OFF
} FMOD_DSP_PAN_3D_EXTENT_MODE_TYPE;
enum DSP_PAN_3D_EXTENT_MODE_TYPE
{
  AUTO,
  USER,
  OFF
}
FMOD.DSP_PAN_3D_EXTENT_MODE_AUTO
FMOD.DSP_PAN_3D_EXTENT_MODE_USER
FMOD.DSP_PAN_3D_EXTENT_MODE_OFF
FMOD_DSP_PAN_3D_EXTENT_MODE_AUTO
FMOD_DSP_PAN_3D_EXTENT_MODE_USER
FMOD_DSP_PAN_3D_EXTENT_MODE_OFF

See Also: FMOD_DSP_PAN_3D_EXTENT_MODE, FMOD_DSP_TYPE_PAN, FMOD_DSP_PAN

FMOD_DSP_PAN_3D_ROLLOFF_TYPE

3D roll-off values for pan DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_PAN_3D_ROLLOFF_TYPE {
  FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED,
  FMOD_DSP_PAN_3D_ROLLOFF_LINEAR,
  FMOD_DSP_PAN_3D_ROLLOFF_INVERSE,
  FMOD_DSP_PAN_3D_ROLLOFF_INVERSETAPERED,
  FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM
} FMOD_DSP_PAN_3D_ROLLOFF_TYPE;
enum DSP_PAN_3D_ROLLOFF_TYPE
{
  LINEARSQUARED,
  LINEAR,
  INVERSE,
  INVERSETAPERED,
  CUSTOM
}
FMOD.DSP_PAN_3D_ROLLOFF_LINEARSQUARED
FMOD.DSP_PAN_3D_ROLLOFF_LINEAR
FMOD.DSP_PAN_3D_ROLLOFF_INVERSE
FMOD.DSP_PAN_3D_ROLLOFF_INVERSETAPERED
FMOD.DSP_PAN_3D_ROLLOFF_CUSTOM
FMOD_DSP_PAN_3D_ROLLOFF_LINEARSQUARED
This is a linear-square roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence according to a linear squared gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode provides steeper volume ramping close to the mindistance, and more gradual ramping close to the maxdistance, than linear roll-off mode.
Linear Square Roll-off Graph
FMOD_DSP_PAN_3D_ROLLOFF_LINEAR
This is a linear roll-off model. Below mindistance, the volume is unattenuated; as distance increases from mindistance to maxdistance, the volume attenuates to silence using a linear gradient. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. While this roll-off mode is not as realistic as inverse roll-off mode, it is easier to comprehend.
Linear Roll-off Graph
FMOD_DSP_PAN_3D_ROLLOFF_INVERSE
This is an inverse roll-off model. Below mindistance, the volume is unattenuated; as distance increases above mindistance, the volume attenuates using mindistance/distance as the gradient until it reaches maxdistance, where it stops attenuating. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. This roll-off mode accurately models the way sounds attenuate over distance in the real world. (DEFAULT)
Inverse Roll-off Graph
FMOD_DSP_PAN_3D_ROLLOFF_INVERSETAPERED
This is a combination of the inverse and linear-square roll-off models. At short distances where inverse roll-off would provide greater attenuation, it functions as inverse roll-off mode; then at greater distances where linear-square roll-off mode would provide greater attenuation, it uses that roll-off mode instead. For this roll-off mode, distance values greater than mindistance are scaled according to the rolloffscale. Inverse tapered roll-off mode approximates realistic behavior while still guaranteeing the sound attenuates to silence at maxdistance.
Inverse Tapered Roll-off Graph
FMOD_DSP_PAN_3D_ROLLOFF_CUSTOM
Custom roll-off can be defined by the programmer setting volume manually. Attenuation in the Pan DSP is turned off in this mode.

Minimum and Maximum distance settings are controlled with FMOD_DSP_PAN_3D_MIN_DISTANCE and FMOD_DSP_PAN_3D_MAX_DISTANCE.

See Also: FMOD_DSP_PAN_3D_ROLLOFF, FMOD_DSP_TYPE_PAN, FMOD_DSP_PAN

FMOD_DSP_PAN_MODE_TYPE

Pan mode values for the pan DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_PAN_MODE_TYPE {
  FMOD_DSP_PAN_MODE_MONO,
  FMOD_DSP_PAN_MODE_STEREO,
  FMOD_DSP_PAN_MODE_SURROUND
} FMOD_DSP_PAN_MODE_TYPE;
enum DSP_PAN_MODE_TYPE
{
  MONO,
  STEREO,
  SURROUND
}
FMOD.DSP_PAN_MODE_MONO
FMOD.DSP_PAN_MODE_STEREO
FMOD.DSP_PAN_MODE_SURROUND
FMOD_DSP_PAN_MODE_MONO
Single channel output.
FMOD_DSP_PAN_MODE_STEREO
Two channel output
FMOD_DSP_PAN_MODE_SURROUND
Three or more channel output. Includes common modes like quad, 5.1 or 7.1.

See Also: FMOD_DSP_PAN_MODE, FMOD_DSP_TYPE_PAN, FMOD_DSP_PAN

FMOD_DSP_PARAMEQ

Parametric EQ DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_PARAMEQ {
  FMOD_DSP_PARAMEQ_CENTER,
  FMOD_DSP_PARAMEQ_BANDWIDTH,
  FMOD_DSP_PARAMEQ_GAIN
} FMOD_DSP_PARAMEQ;
enum DSP_PARAMEQ
{
  CENTER,
  BANDWIDTH,
  GAIN
}
FMOD.DSP_PARAMEQ_CENTER
FMOD.DSP_PARAMEQ_BANDWIDTH
FMOD.DSP_PARAMEQ_GAIN
FMOD_DSP_PARAMEQ_CENTER

Frequency center.

  • Type: float
  • Units: Hertz
  • Range: [20, 22000]
  • Default: 8000
FMOD_DSP_PARAMEQ_BANDWIDTH

Octave range around the center frequency to filter.

  • Type: float
  • Range: [0.2, 5]
  • Default: 1
FMOD_DSP_PARAMEQ_GAIN

Frequency Gain in dB.

  • Type: float
  • Units: Decibels
  • Range: [-30, 30]
  • Default: 0

Deprecated and will be removed in a future release, to emulate with FMOD_DSP_TYPE_MULTIBAND_EQ:

// Configure a single band (band A) as a peaking EQ (all other bands default to off).
// Center frequency can be used as with the old effect.
// Bandwidth can be applied by setting the 'Q' value of the new effect.
// Gain at the center frequency can be used the same as with the old effect.
FMOD_DSP_SetParameterInt(multiband, FMOD_DSP_MULTIBAND_EQ_A_FILTER, FMOD_DSP_MULTIBAND_EQ_FILTER_PEAKING);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_FREQUENCY, center);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_Q, bandwidth);
FMOD_DSP_SetParameterFloat(multiband, FMOD_DSP_MULTIBAND_EQ_A_GAIN, gain);

Parametric EQ is a single band peaking EQ filter that attenuates or amplifies a selected frequency and its neighboring frequencies.

When the gain is set to zero decibels the sound will be unaffected and represents the original signal exactly.

See Also: FMOD_DSP_TYPE_PARAMEQ, DSP::setParameterFloat, DSP::getParameterFloat, FMOD_DSP_TYPE

FMOD_DSP_PITCHSHIFT

Pitch shifter DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_PITCHSHIFT {
  FMOD_DSP_PITCHSHIFT_PITCH,
  FMOD_DSP_PITCHSHIFT_FFTSIZE,
  FMOD_DSP_PITCHSHIFT_OVERLAP,
  FMOD_DSP_PITCHSHIFT_MAXCHANNELS
} FMOD_DSP_PITCHSHIFT;
enum DSP_PITCHSHIFT
{
  PITCH,
  FFTSIZE,
  OVERLAP,
  MAXCHANNELS
}
FMOD.DSP_PITCHSHIFT_PITCH
FMOD.DSP_PITCHSHIFT_FFTSIZE
FMOD.DSP_PITCHSHIFT_OVERLAP
FMOD.DSP_PITCHSHIFT_MAXCHANNELS
FMOD_DSP_PITCHSHIFT_PITCH

Pitch value. 0.5 = one octave down, 2.0 = one octave up. 1.0 does not change the pitch.

  • Type: float
  • Range: [0.5, 2]
  • Default: 1
FMOD_DSP_PITCHSHIFT_FFTSIZE

FFT window size - 256, 512, 1024, 2048, 4096. Increase this to reduce 'smearing'. This effect creates a warbling sound similar to when an mp3 is encoded at very low bitrates.

  • Type: float
  • Default: 1024
FMOD_DSP_PITCHSHIFT_OVERLAP
Removed. Do not use. FMOD now uses 4 overlaps and cannot be changed.
FMOD_DSP_PITCHSHIFT_MAXCHANNELS

Maximum channels supported. 0 = same as FMOD's default output polyphony, 1 = mono, 2 = stereo etc. See remarks for more. It is recommended to leave it at 0.

  • Type: float
  • Range: [0, 16]

FMOD_DSP_PITCHSHIFT_MAXCHANNELS dictates the amount of memory allocated. By default, the maxchannels value is 0. If FMOD is set to stereo, the pitch shift unit will allocate enough memory for 2 channels. If it is 5.1, it will allocate enough memory for a 6 channel pitch shift, etc.

If the pitch shift effect is only ever applied to the global mix (i.e. with ChannelControl::addDSP on a ChannelGroup object), then 0 is the value to set as it will be enough to handle all speaker modes.

When the pitch shift is added to a Channel (i.e. with ChannelControl::addDSP on a Channel object) then the channel count of the signal that comes in could potentially be anything from 1 to 8. It is only in this case that you might want to increase the channel count above the output's channel count.

If a Channel pitch shift is set to a lower number than the signal's channel count that is coming in, it will not pitch shift the sound.

See Also: FMOD_DSP_TYPE_PITCHSHIFT, DSP::setParameterFloat

FMOD_DSP_RETURN

Return DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_RETURN {
  FMOD_DSP_RETURN_ID,
  FMOD_DSP_RETURN_INPUT_SPEAKER_MODE
} FMOD_DSP_RETURN;
enum DSP_RETURN
{
  ID,
  INPUT_SPEAKER_MODE
}
FMOD.DSP_RETURN_ID
FMOD.DSP_RETURN_INPUT_SPEAKER_MODE
FMOD_DSP_RETURN_ID R/O

ID of this Return DSP.

  • Type: int
  • Default: -1
FMOD_DSP_RETURN_INPUT_SPEAKER_MODE

Input speaker mode of this return.

See Also: FMOD_DSP_TYPE_RETURN, DSP::setParameterInt

FMOD_DSP_SEND

Send DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_SEND {
  FMOD_DSP_SEND_RETURNID,
  FMOD_DSP_SEND_LEVEL
} FMOD_DSP_SEND;
enum DSP_SEND
{
  RETURNID,
  LEVEL,
}
FMOD.DSP_SEND_RETURNID
FMOD.DSP_SEND_LEVEL
FMOD_DSP_SEND_RETURNID

ID of the Return DSP this send is connected to where -1 indicates no connected return DSP.

  • Type: int
  • Default = -1
FMOD_DSP_SEND_LEVEL

Send level.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 1

See Also: FMOD_DSP_TYPE_SEND, DSP::setParameterInt, DSP::setParameterFloat

FMOD_DSP_SFXREVERB

SFX reverb DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_SFXREVERB {
  FMOD_DSP_SFXREVERB_DECAYTIME,
  FMOD_DSP_SFXREVERB_EARLYDELAY,
  FMOD_DSP_SFXREVERB_LATEDELAY,
  FMOD_DSP_SFXREVERB_HFREFERENCE,
  FMOD_DSP_SFXREVERB_HFDECAYRATIO,
  FMOD_DSP_SFXREVERB_DIFFUSION,
  FMOD_DSP_SFXREVERB_DENSITY,
  FMOD_DSP_SFXREVERB_LOWSHELFFREQUENCY,
  FMOD_DSP_SFXREVERB_LOWSHELFGAIN,
  FMOD_DSP_SFXREVERB_HIGHCUT,
  FMOD_DSP_SFXREVERB_EARLYLATEMIX,
  FMOD_DSP_SFXREVERB_WETLEVEL,
  FMOD_DSP_SFXREVERB_DRYLEVEL
} FMOD_DSP_SFXREVERB;
enum DSP_SFXREVERB
{
  DECAYTIME,
  EARLYDELAY,
  LATEDELAY,
  HFREFERENCE,
  HFDECAYRATIO,
  DIFFUSION,
  DENSITY,
  LOWSHELFFREQUENCY,
  LOWSHELFGAIN,
  HIGHCUT,
  EARLYLATEMIX,
  WETLEVEL,
  DRYLEVEL
}
FMOD.DSP_SFXREVERB_DECAYTIME
FMOD.DSP_SFXREVERB_EARLYDELAY
FMOD.DSP_SFXREVERB_LATEDELAY
FMOD.DSP_SFXREVERB_HFREFERENCE
FMOD.DSP_SFXREVERB_HFDECAYRATIO
FMOD.DSP_SFXREVERB_DIFFUSION
FMOD.DSP_SFXREVERB_DENSITY
FMOD.DSP_SFXREVERB_LOWSHELFFREQUENCY
FMOD.DSP_SFXREVERB_LOWSHELFGAIN
FMOD.DSP_SFXREVERB_HIGHCUT
FMOD.DSP_SFXREVERB_EARLYLATEMIX
FMOD.DSP_SFXREVERB_WETLEVEL
FMOD.DSP_SFXREVERB_DRYLEVEL
FMOD_DSP_SFXREVERB_DECAYTIME

Reverberation decay time at low-frequencies.

  • Type: float
  • Units: Milliseconds
  • Range: [100, 20000]
  • Default: 1500
FMOD_DSP_SFXREVERB_EARLYDELAY

Delay time of first reflection.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 300]
  • Default: 20
FMOD_DSP_SFXREVERB_LATEDELAY

Late reverberation delay time relative to first reflection in milliseconds.

  • Type: float
  • Units: Milliseconds
  • Range: [0, 100]
  • Default: 40
FMOD_DSP_SFXREVERB_HFREFERENCE

Reference frequency for high-frequency decay.

  • Type: float
  • Units: Hertz
  • Range: [20, 20000]
  • Default: 5000
FMOD_DSP_SFXREVERB_HFDECAYRATIO

High-frequency decay time relative to decay time.

  • Type: float
  • Units: Percent
  • Range: [10, 100]
  • Default: 50
FMOD_DSP_SFXREVERB_DIFFUSION

Reverberation diffusion (echo density).

  • Type: float
  • Units: Percent
  • Range: [10, 100]
  • Default: 50
FMOD_DSP_SFXREVERB_DENSITY

Reverberation density (modal density).

  • Type: float
  • Units: Percent
  • Range: [10, 100]
  • Default: 50
FMOD_DSP_SFXREVERB_LOWSHELFFREQUENCY

Transition frequency of low-shelf filter.

  • Type: float
  • Units: Hertz
  • Range: [20, 1000]
  • Default: 250
FMOD_DSP_SFXREVERB_LOWSHELFGAIN

Gain of low-shelf filter.

  • Type: float
  • Units: Decibels
  • Range: [-36, 12]
  • Default: 0
FMOD_DSP_SFXREVERB_HIGHCUT

Cutoff frequency of low-pass filter.

  • Type: float
  • Units: Hertz
  • Range: [20, 20000]
  • Default: 20000
FMOD_DSP_SFXREVERB_EARLYLATEMIX

Blend ratio of late reverb to early reflections.

  • Type: float
  • Units: Percent
  • Range: [0, 100]
  • Default: 50
FMOD_DSP_SFXREVERB_WETLEVEL

Reverb signal level.

  • Type: float
  • Units: Decibels
  • Range: [-80, 20]
  • Default: -6
FMOD_DSP_SFXREVERB_DRYLEVEL

Dry signal level.

  • Type: float
  • Units: Decibels
  • Range: [-80, 20]
  • Default: 0

This is a high quality I3DL2 based reverb. On top of the I3DL2 property set, "Dry Level" is also included to allow the dry mix to be changed. These properties can be set with presets in FMOD_REVERB_PRESETS.

See Also: FMOD_DSP_TYPE_SFXREVERB, DSP::setParameterFloat, FMOD_REVERB_PRESETS

FMOD_DSP_THREE_EQ

Three EQ DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_THREE_EQ {
  FMOD_DSP_THREE_EQ_LOWGAIN,
  FMOD_DSP_THREE_EQ_MIDGAIN,
  FMOD_DSP_THREE_EQ_HIGHGAIN,
  FMOD_DSP_THREE_EQ_LOWCROSSOVER,
  FMOD_DSP_THREE_EQ_HIGHCROSSOVER,
  FMOD_DSP_THREE_EQ_CROSSOVERSLOPE
} FMOD_DSP_THREE_EQ;
enum DSP_THREE_EQ
{
  LOWGAIN,
  MIDGAIN,
  HIGHGAIN,
  LOWCROSSOVER,
  HIGHCROSSOVER,
  CROSSOVERSLOPE
}
FMOD.DSP_THREE_EQ_LOWGAIN
FMOD.DSP_THREE_EQ_MIDGAIN
FMOD.DSP_THREE_EQ_HIGHGAIN
FMOD.DSP_THREE_EQ_LOWCROSSOVER
FMOD.DSP_THREE_EQ_HIGHCROSSOVER
FMOD.DSP_THREE_EQ_CROSSOVERSLOPE
FMOD_DSP_THREE_EQ_LOWGAIN

Low frequency gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_THREE_EQ_MIDGAIN

Mid frequency gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_THREE_EQ_HIGHGAIN

High frequency gain.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_THREE_EQ_LOWCROSSOVER

Low-to-mid crossover frequency.

  • Type: float
  • Units: Hertz
  • Range: [10, 22000]
  • Default: 400
FMOD_DSP_THREE_EQ_HIGHCROSSOVER

Mid-to-high crossover frequency.

  • Type: float
  • Units: Hertz
  • Range: [10, 22000]
  • Default: 4000
FMOD_DSP_THREE_EQ_CROSSOVERSLOPE

Crossover Slope type.

See Also: FMOD_DSP_TYPE_THREE_EQ, DSP::setParameterFloat, DSP::setParameterInt

FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE

Crossover values for the three EQ DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE {
  FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_12DB,
  FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_24DB,
  FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_48DB
} FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_TYPE;
enum DSP_THREE_EQ_CROSSOVERSLOPE_TYPE
{
  _12DB,
  _24DB,
  _48DB
}
FMOD.DSP_THREE_EQ_CROSSOVERSLOPE_12DB
FMOD.DSP_THREE_EQ_CROSSOVERSLOPE_24DB
FMOD.DSP_THREE_EQ_CROSSOVERSLOPE_48DB
FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_12DB
12dB/Octave crossover slope.
FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_24DB
24dB/Octave crossover slope.
FMOD_DSP_THREE_EQ_CROSSOVERSLOPE_48DB
48dB/Octave crossover slope.

See Also: FMOD_DSP_THREE_EQ_CROSSOVERSLOPE, FMOD_DSP_TYPE_THREE_EQ, FMOD_DSP_THREE_EQ

FMOD_DSP_TRANSCEIVER

Transceiver DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_TRANSCEIVER {
  FMOD_DSP_TRANSCEIVER_TRANSMIT,
  FMOD_DSP_TRANSCEIVER_GAIN,
  FMOD_DSP_TRANSCEIVER_CHANNEL,
  FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE
} FMOD_DSP_TRANSCEIVER;
enum DSP_TRANSCEIVER
{
  TRANSMIT,
  GAIN,
  CHANNEL,
  TRANSMITSPEAKERMODE
}
FMOD.DSP_TRANSCEIVER_TRANSMIT
FMOD.DSP_TRANSCEIVER_GAIN
FMOD.DSP_TRANSCEIVER_CHANNEL
FMOD.DSP_TRANSCEIVER_TRANSMITSPEAKERMODE
FMOD_DSP_TRANSCEIVER_TRANSMIT

FALSE = Transceiver is a 'receiver' (like a return) and accepts data from a channel. TRUE = Transceiver is a 'transmitter' (like a send).

  • Type: bool
  • Default: false
FMOD_DSP_TRANSCEIVER_GAIN

Gain to receive or transmit.

  • Type: float
  • Units: Decibels
  • Range: [-80, 10]
  • Default: 0
FMOD_DSP_TRANSCEIVER_CHANNEL

Global slot that can be transmitted to or received from.

  • Type: int
  • Range: [0, 31]
  • Default: 0
FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE

Speaker mode (transmitter mode only). (FMOD_DSP_TRANSCEIVER_SPEAKERMODE)

The transceiver only transmits and receives to a global array of 32 channels. The transceiver can be set to receiver mode (like a return) and can receive the signal at a variable gain. The transceiver can also be set to transmit to a channel (like a send) and can transmit the signal with a variable gain.

The FMOD_DSP_TRANSCEIVER_TRANSMITSPEAKERMODE is only applicable to the transmission format, not the receive format. This means this parameter is ignored in 'receive mode'. This allows receivers to receive at the speaker mode of the user's choice. Receiving from a mono channel, is cheaper than receiving from a surround channel for example. The 3 speaker modes FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO, FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO, FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND are stored as separate buffers in memory for a transmitter channel. To save memory, use 1 common speaker mode for a transmitter.

The transceiver is double buffered to avoid desyncing of transmitters and receivers. This means there will be a 1 block delay on a receiver, compared to the data sent from a transmitter. Multiple transmitters sending to the same channel will be mixed together.

See Also: FMOD_DSP_TYPE_TRANSCEIVER, FMOD_DSP_TRANSCEIVER_GAIN, DSP::setParameterFloat, DSP::setParameterInt, DSP::setParameterBool

FMOD_DSP_TRANSCEIVER_SPEAKERMODE

Speaker mode values for the transceiver DSP.

C
C++
C#
JS

typedef enum FMOD_DSP_TRANSCEIVER_SPEAKERMODE {
  FMOD_DSP_TRANSCEIVER_SPEAKERMODE_AUTO = -1,
  FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO = 0,
  FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO,
  FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND
} FMOD_DSP_TRANSCEIVER_SPEAKERMODE;
enum DSP_TRANSCEIVER_SPEAKERMODE
{
  AUTO = -1,
  MONO = 0,
  STEREO,
  SURROUND,
}
FMOD.DSP_TRANSCEIVER_SPEAKERMODE_AUTO = -1
FMOD.DSP_TRANSCEIVER_SPEAKERMODE_MONO = 0
FMOD.DSP_TRANSCEIVER_SPEAKERMODE_STEREO
FMOD.DSP_TRANSCEIVER_SPEAKERMODE_SURROUND
FMOD_DSP_TRANSCEIVER_SPEAKERMODE_AUTO
The transmitter uses the channel count of its input signal as the channel count of its channel buffer.
FMOD_DSP_TRANSCEIVER_SPEAKERMODE_MONO
The transmitter downmixes its input signal to a mono channel buffer.
FMOD_DSP_TRANSCEIVER_SPEAKERMODE_STEREO
The transmitter upmixes or downmixes its input signal to a stereo channel buffer.
FMOD_DSP_TRANSCEIVER_SPEAKERMODE_SURROUND
The transmitter upmixes or downmixes its input signal to a surround channel buffer. Surround could mean any speaker mode above stereo, so this could mean quad/surround/5.1/7.1.

The speaker mode of a transceiver buffer (of which there are up to 32) is determined automatically depending on the signal flowing through the transceiver effect, or it can be forced to a specific mode. Smaller fixed speaker mode buffers can save memory. This is only relevant for transmitter DSPs, as only transmitters control the format of the transceiver channel's buffer.

If multiple transceivers transmit to a single buffer in different speaker modes, the buffer allocates memory for each of those speaker modes. This uses more memory than a single speaker mode. If there are multiple receivers reading from a channel with multiple speaker modes in its buffer, each receiver reads them all and mixes them together.

If the system's speaker mode is stereo or mono, it will not create a 3rd buffer, it will just use the mono/stereo speaker mode buffer.

See Also: FMOD_DSP_TYPE_TRANSCEIVER, FMOD_DSP_TRANSCEIVER_SPEAKERMODE, DSP::setParameterInt

FMOD_DSP_TREMOLO

Tremolo DSP parameter types.

C
C++
C#
JS

typedef enum FMOD_DSP_TREMOLO {
  FMOD_DSP_TREMOLO_FREQUENCY,
  FMOD_DSP_TREMOLO_DEPTH,
  FMOD_DSP_TREMOLO_SHAPE,
  FMOD_DSP_TREMOLO_SKEW,
  FMOD_DSP_TREMOLO_DUTY,
  FMOD_DSP_TREMOLO_SQUARE,
  FMOD_DSP_TREMOLO_PHASE,
  FMOD_DSP_TREMOLO_SPREAD
} FMOD_DSP_TREMOLO;
enum DSP_TREMOLO
{
  FREQUENCY,
  DEPTH,
  SHAPE,
  SKEW,
  DUTY,
  SQUARE,
  PHASE,
  SPREAD
}
FMOD.DSP_TREMOLO_FREQUENCY
FMOD.DSP_TREMOLO_DEPTH
FMOD.DSP_TREMOLO_SHAPE
FMOD.DSP_TREMOLO_SKEW
FMOD.DSP_TREMOLO_DUTY
FMOD.DSP_TREMOLO_SQUARE
FMOD.DSP_TREMOLO_PHASE
FMOD.DSP_TREMOLO_SPREAD
FMOD_DSP_TREMOLO_FREQUENCY

LFO frequency.

  • Type: float
  • Units: Hertz
  • Range: [0.1, 20]
  • Default: 5
FMOD_DSP_TREMOLO_DEPTH

Tremolo depth.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 1
FMOD_DSP_TREMOLO_SHAPE

LFO shape morph between triangle and sine.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 1
FMOD_DSP_TREMOLO_SKEW

Time-skewing of LFO cycle.

  • Type: float
  • Units: Linear
  • Range: [-1, 1]
  • Default: 0
FMOD_DSP_TREMOLO_DUTY

LFO on-time.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0.5
FMOD_DSP_TREMOLO_SQUARE

Flatness of the LFO shape.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 1
FMOD_DSP_TREMOLO_PHASE

Instantaneous LFO phase.

  • Type: float
  • Units: Linear
  • Range: [0, 1]
  • Default: 0
FMOD_DSP_TREMOLO_SPREAD

Rotation / auto-pan effect.

  • Type: float
  • Units: Linear
  • Range: [-1, 1]
  • Default: 0

The tremolo effect varies the amplitude of a sound. Depending on the settings, this unit can produce a tremolo, chopper or auto-pan effect.

The shape of the LFO (low freq. oscillator) can morphed between sine, triangle and sawtooth waves using the FMOD_DSP_TREMOLO_SHAPE and FMOD_DSP_TREMOLO_SKEW parameters.

FMOD_DSP_TREMOLO_DUTY and FMOD_DSP_TREMOLO_SQUARE are useful for a chopper-type effect where the first controls the on-time duration and second controls the flatness of the envelope.

FMOD_DSP_TREMOLO_SPREAD varies the LFO phase between channels to get an auto-pan effect. This works best with a sine shape LFO.

The LFO can be synchronized using the FMOD_DSP_TREMOLO_PHASE parameter which sets its instantaneous phase.

See Also: FMOD_DSP_TYPE_TREMOLO, DSP::setParameterFloat

FMOD_DSP_TYPE

DSP types.

C
C++
C#
JS

typedef enum FMOD_DSP_TYPE {
  FMOD_DSP_TYPE_UNKNOWN,
  FMOD_DSP_TYPE_MIXER,
  FMOD_DSP_TYPE_OSCILLATOR,
  FMOD_DSP_TYPE_LOWPASS,
  FMOD_DSP_TYPE_ITLOWPASS,
  FMOD_DSP_TYPE_HIGHPASS,
  FMOD_DSP_TYPE_ECHO,
  FMOD_DSP_TYPE_FADER,
  FMOD_DSP_TYPE_FLANGE,
  FMOD_DSP_TYPE_DISTORTION,
  FMOD_DSP_TYPE_NORMALIZE,
  FMOD_DSP_TYPE_LIMITER,
  FMOD_DSP_TYPE_PARAMEQ,
  FMOD_DSP_TYPE_PITCHSHIFT,
  FMOD_DSP_TYPE_CHORUS,
  FMOD_DSP_TYPE_ITECHO,
  FMOD_DSP_TYPE_COMPRESSOR,
  FMOD_DSP_TYPE_SFXREVERB,
  FMOD_DSP_TYPE_LOWPASS_SIMPLE,
  FMOD_DSP_TYPE_DELAY,
  FMOD_DSP_TYPE_TREMOLO,
  FMOD_DSP_TYPE_SEND,
  FMOD_DSP_TYPE_RETURN,
  FMOD_DSP_TYPE_HIGHPASS_SIMPLE,
  FMOD_DSP_TYPE_PAN,
  FMOD_DSP_TYPE_THREE_EQ,
  FMOD_DSP_TYPE_FFT,
  FMOD_DSP_TYPE_LOUDNESS_METER,
  FMOD_DSP_TYPE_CONVOLUTIONREVERB,
  FMOD_DSP_TYPE_CHANNELMIX,
  FMOD_DSP_TYPE_TRANSCEIVER,
  FMOD_DSP_TYPE_OBJECTPAN,
  FMOD_DSP_TYPE_MULTIBAND_EQ,
  FMOD_DSP_TYPE_MULTIBAND_DYNAMICS,
  FMOD_DSP_TYPE_MAX
} FMOD_DSP_TYPE;
enum DSP_TYPE : int
{
  UNKNOWN,
  MIXER,
  OSCILLATOR,
  LOWPASS,
  ITLOWPASS,
  HIGHPASS,
  ECHO,
  FADER,
  FLANGE,
  DISTORTION,
  NORMALIZE,
  LIMITER,
  PARAMEQ,
  PITCHSHIFT,
  CHORUS,
  ITECHO,
  COMPRESSOR,
  SFXREVERB,
  LOWPASS_SIMPLE,
  DELAY,
  TREMOLO,
  SEND,
  RETURN,
  HIGHPASS_SIMPLE,
  PAN,
  THREE_EQ,
  FFT,
  LOUDNESS_METER,
  CONVOLUTIONREVERB,
  CHANNELMIX,
  TRANSCEIVER,
  OBJECTPAN,
  MULTIBAND_EQ,
  MULTIBAND_DYNAMICS,
  MAX
}
FMOD.DSP_TYPE_UNKNOWN
FMOD.DSP_TYPE_MIXER
FMOD.DSP_TYPE_OSCILLATOR
FMOD.DSP_TYPE_LOWPASS
FMOD.DSP_TYPE_ITLOWPASS
FMOD.DSP_TYPE_HIGHPASS
FMOD.DSP_TYPE_ECHO
FMOD.DSP_TYPE_FADER
FMOD.DSP_TYPE_FLANGE
FMOD.DSP_TYPE_DISTORTION
FMOD.DSP_TYPE_NORMALIZE
FMOD.DSP_TYPE_LIMITER
FMOD.DSP_TYPE_PARAMEQ
FMOD.DSP_TYPE_PITCHSHIFT
FMOD.DSP_TYPE_CHORUS
FMOD.DSP_TYPE_ITECHO
FMOD.DSP_TYPE_COMPRESSOR
FMOD.DSP_TYPE_SFXREVERB
FMOD.DSP_TYPE_LOWPASS_SIMPLE
FMOD.DSP_TYPE_DELAY
FMOD.DSP_TYPE_TREMOLO
FMOD.DSP_TYPE_SEND
FMOD.DSP_TYPE_RETURN
FMOD.DSP_TYPE_HIGHPASS_SIMPLE
FMOD.DSP_TYPE_PAN
FMOD.DSP_TYPE_THREE_EQ
FMOD.DSP_TYPE_FFT
FMOD.DSP_TYPE_LOUDNESS_METER
FMOD.DSP_TYPE_CONVOLUTIONREVERB
FMOD.DSP_TYPE_CHANNELMIX
FMOD.DSP_TYPE_TRANSCEIVER
FMOD.DSP_TYPE_OBJECTPAN
FMOD.DSP_TYPE_MULTIBAND_EQ
FMOD.DSP_TYPE_MULTIBAND_DYNAMICS
FMOD.DSP_TYPE_MAX
FMOD_DSP_TYPE_UNKNOWN
Was created via a non-FMOD plug-in and has an unknown purpose.
FMOD_DSP_TYPE_MIXER
Does not process the signal. Acts as a unit purely for mixing inputs.
FMOD_DSP_TYPE_OSCILLATOR
Generates sine/square/saw/triangle or noise tones. See FMOD_DSP_OSCILLATOR for parameter information, Effect reference - Oscillator for overview.
FMOD_DSP_TYPE_LOWPASS
Filters sound using a high quality, resonant lowpass filter algorithm but consumes more CPU time. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS remarks for parameter information, Effect reference - Low Pass for overview.
FMOD_DSP_TYPE_ITLOWPASS
Filters sound using a resonant lowpass filter algorithm that is used in Impulse Tracker, but with limited cutoff range (0 to 8060hz). See FMOD_DSP_ITLOWPASS for parameter information, Effect reference - IT Low Pass for overview.
FMOD_DSP_TYPE_HIGHPASS
Filters sound using a resonant highpass filter algorithm. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS remarks for parameter information, Effect reference - High Pass for overview.
FMOD_DSP_TYPE_ECHO
Produces an echo on the sound and fades out at the desired rate. See FMOD_DSP_ECHO for parameter information, Effect reference - Echo for overview.
FMOD_DSP_TYPE_FADER
Pans and scales the volume of a unit. See FMOD_DSP_FADER for parameter information, Effect reference - Fader for overview.
FMOD_DSP_TYPE_FLANGE
Produces a flange effect on the sound. See FMOD_DSP_FLANGE for parameter information, Effect reference - Flange for overview.
FMOD_DSP_TYPE_DISTORTION
Distorts the sound. See FMOD_DSP_DISTORTION for parameter information, Effect reference - Distortion for overview.
FMOD_DSP_TYPE_NORMALIZE
Normalizes or amplifies the sound to a certain level. See FMOD_DSP_NORMALIZE for parameter information, Effect reference - Normalize for overview.
FMOD_DSP_TYPE_LIMITER
Limits the sound to a certain level. See FMOD_DSP_LIMITER for parameter information, Effect reference - Limiter for overview.
FMOD_DSP_TYPE_PARAMEQ
Attenuates or amplifies a selected frequency range. Deprecated and will be removed in a future release. See FMOD_DSP_PARAMEQ for parameter information, Effect reference - Parametric EQ for overview.
FMOD_DSP_TYPE_PITCHSHIFT
Bends the pitch of a sound without changing the speed of playback. See FMOD_DSP_PITCHSHIFT for parameter information, Effect reference - Pitch Shifter for overview.
FMOD_DSP_TYPE_CHORUS
Produces a chorus effect on the sound. See FMOD_DSP_CHORUS for parameter information, Effect reference - Chorus for overview.
FMOD_DSP_TYPE_ITECHO
Produces an echo on the sound and fades out at the desired rate as is used in Impulse Tracker. See FMOD_DSP_ITECHO for parameter information, Effect reference - IT Echo for overview.
FMOD_DSP_TYPE_COMPRESSOR
Dynamic compression (linked/unlinked multi-channel, wideband). See FMOD_DSP_COMPRESSOR for parameter information, Effect reference - Compressor for overview.
FMOD_DSP_TYPE_SFXREVERB
I3DL2 reverb effect. See FMOD_DSP_SFXREVERB for parameter information, Effect reference - SFX Reverb for overview.
FMOD_DSP_TYPE_LOWPASS_SIMPLE
Filters sound using a simple lowpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_LOWPASS_SIMPLE remarks for parameter information, Effect reference - Low Pass Simple for overview.
FMOD_DSP_TYPE_DELAY
Produces different delays on individual channels of the sound. See FMOD_DSP_DELAY for parameter information, Effect reference - Delay for overview.
FMOD_DSP_TYPE_TREMOLO
Produces a tremolo / chopper effect on the sound. See FMOD_DSP_TREMOLO for parameter information, Effect reference - Tremolo for overview.
FMOD_DSP_TYPE_SEND
Sends a copy of the signal to a return DSP anywhere in the DSP tree. See FMOD_DSP_SEND for parameter information, Effect reference - Send for overview.
FMOD_DSP_TYPE_RETURN
Receives signals from a number of send DSPs. See FMOD_DSP_RETURN for parameter information, Effect reference - Return for overview.
FMOD_DSP_TYPE_HIGHPASS_SIMPLE
Filters sound using a simple highpass with no resonance, but has flexible cutoff and is fast. Deprecated and will be removed in a future release. See FMOD_DSP_HIGHPASS_SIMPLE remarks for parameter information, Effect reference - High Pass Simple for overview.
FMOD_DSP_TYPE_PAN
Pans the signal in 2D or 3D, possibly upmixing or downmixing as well. See FMOD_DSP_PAN for parameter information, Effect reference - Pan for overview.
FMOD_DSP_TYPE_THREE_EQ
Three-band equalizer. See FMOD_DSP_THREE_EQ for parameter information, Effect reference - Three EQ for overview.
FMOD_DSP_TYPE_FFT
Analyzes the signal and provides spectrum information back through getParameter. See FMOD_DSP_FFT for parameter information, Effect reference - FFT for overview.
FMOD_DSP_TYPE_LOUDNESS_METER
Analyzes the loudness and true peak of the signal.
FMOD_DSP_TYPE_CONVOLUTIONREVERB
Convolution reverb. See FMOD_DSP_CONVOLUTION_REVERB for parameter information, Effect reference - Convolution Reverb for overview.
FMOD_DSP_TYPE_CHANNELMIX
Provides per channel gain, channel grouping of the input signal which also sets the speaker format for the output signal, and customizable input to output channel routing. See FMOD_DSP_CHANNELMIX for parameter information, Effect reference - Channel Mix for overview.
FMOD_DSP_TYPE_TRANSCEIVER
'sends' and 'receives' from a selection of up to 32 different slots. It is like a send/return but it uses global slots rather than returns as the destination. It also has other features. Multiple transceivers can receive from a single channel, or multiple transceivers can send to a single channel, or a combination of both. See FMOD_DSP_TRANSCEIVER for parameter information, Effect reference - Transceiver for overview.
FMOD_DSP_TYPE_OBJECTPAN
Spatializes input signal by passing it to an external object mixer. See FMOD_DSP_OBJECTPAN for parameter information, Effect reference - Object Panner for overview.
FMOD_DSP_TYPE_MULTIBAND_EQ
Five band parametric equalizer. See FMOD_DSP_MULTIBAND_EQ for parameter information, Effect reference - Multiband Equalizer for overview.
FMOD_DSP_TYPE_MULTIBAND_DYNAMICS
Three-band compressor/expander. See FMOD_DSP_MULTIBAND_DYNAMICS for parameter information, Effect reference - Multiband Dynamics for overview.
FMOD_DSP_TYPE_MAX
Maximum number of pre-defined DSP types.

See Also: System::createDSPByType