Sound-2 AXFX API Functions

Concepts

AX AUX Bus Effects Overview Describes the set of premade effects that are provided by the AX AUX Bus Effects (AXFX) library that may be applied to groups of AX voices.

AXFX Allocator

AXFXGetHooks Obtains pointers to memory allocation- or deallocation-related functions currently registered to the AXFX Library.
AXFXSetHooks Registers to the AXFX Library the memory allocation/deallocation functions in use.

AXFX2 Reverb I3DL2

AXFX2_REVERB_I3DL2 A new standard adds more advanced models for environment reverberation, distance, occlusion, and obstruction. It is referred to as the Level 2.0 specifications, which is also known as the I3DL2 reverb. There are four reverb effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_REVERB_I3DL2 structure or one of five presets assigned using the AXFX2ReverbI3dl2ParametersPreset function before the call to AXFX2ReverbI3dl2Init.
AXFX2ReverbI3dl2Init The AXFX2ReverbI3dl2Init initializes a reverb effect given an AXFX2_REVERB_I3DL2 structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2ReverbI3dl2Callback The AXFX2ReverbI3dl2Callback function is an AUX callback for the reverb effect. It applies a reverb effect to the audio channels in AXFX_6CH_BUFFERUPDATE.
AXFX2ReverbI3dl2GetMemSize The AXFX2ReverbI3dl2GetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 reverb effect during initialization.
AXFX2ReverbI3dl2ParametersPreset The AXFX2ReverbI3dl2ParametersPreset function is used to assign predefined reverb settings to an AXFX2_REVERB_I3DL2 structure
AXFX2ReverbI3dl2SettingsUpdate The AXFX2ReverbI3dl2SettingsUpdate function is used after changing parameters of the already initialized AXFX2_REVERB_I3DL2 structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2ReverbI3dl2SettingsUpdateNoReset The AXFX2ReverbI3dl2SettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_REVERB_I3DL2 structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFX2ReverbI3dl2Shutdown The AXFX2ReverbI3dl2Shutdown function frees any memory allocated internally by the AXFX2ReverbI3dl2Init functions.

AXFX2 Reverb

AXFX2_REVERB When a sound occurs in an enclosed environment, such as a room or a cave, the sound waves travel through the air and reflect off the surfaces of the enclosure, creating the sound of a short echo. There are four reverb effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_REVERB structure or one of five presets assigned using the AXFX2ReverbGetMemSize function before the call to AXFX2ReverbInit.
AXFX2ReverbInit The AXFX2ReverbInit initializes a reverb effect given an AXFX2_REVERB structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2ReverbCallback The AXFX2ReverbCallback function is an AUX callback for the reverb effect. It applies a reverb effect to the audio channels in AXFX_6CH_BUFFERUPDATE.
AXFX2ReverbGetMemSize The AXFX2ReverbGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 reverb effect during initialization.
AXFX2ReverbParametersPreset The AXFX2ReverbParametersPreset function is used to assign predefined reverb settings to an AXFX2_REVERB structure.
AXFX2ReverbSettingsUpdate The AXFX2ReverbSettingsUpdate function is used after changing parameters of the already initialized AXFX2_REVERB structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2ReverbSettingsUpdateNoReset The AXFX2ReverbSettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_REVERB structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFX2ReverbShutdown The AXFX2ReverbShutdown function frees any memory allocated internally by the AXFX2ReverbInit functions.

AXFX2 Chorus

AXFX2_CHORUS There are three chorus effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_CHORUS structure function before the call to AXFX2ChorusInit
AXFX2ChorusInit The AXFX2ChorusInit initializes a chorus effect given an AXFX2_CHORUS structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate). This function allocates and initializes all the required runtime memory used by the delay lines and related processing steps. The user must configure the AXFX2_CHORUS structure's user parameters prior to calling this function. This function should be called only once on a chorus structure.
AXFX2ChorusCallback The AXFX2ChorusCallback function is an AUX callback for the chorus effect. It applies a chorus effect to the audio channels in AXFX_6CH_BUFFERUPDATE. The number of channels affected and the audio sample rate is specified via the parameters originally passed to AXFX2ChorusInit.
AXFX2ChorusGetMemSize The AXFX2ChorusGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 chorus effect during initialization.
AXFX2ChorusSettingsUpdate The AXFX2ChorusSettingsUpdate function is used after changing parameters of the already initialized AXFX2_CHORUS structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2ChorusSettingsUpdateNoReset The AXFX2ChorusSettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_CHORUS structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process
AXFX2ChorusShutdown The AXFX2ChorusShutdown function frees any memory allocated internally by the AXFX2ChorusInit functions.

AXFX2 Delay

AXFX2_DELAY There are three delay effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_DELAY structure function before the call to AXFX2DelayInit.
AXFX2DelayInit The AXFX2DelayInit initializes a delay effect given an AXFX2_DELAY structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2DelayCallback The AXFX2DelayCallback function is an AUX callback for the delay effect. It applies a delay effect to the audio channels in AXFX_6CH_BUFFERUPDATE. The number of channels affected and the audio sample rate is specified via the parameters originally passed to AXFX2DelayInit.
AXFX2DelayGetMemSize The AXFX2DelayGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 delay effect during initialization.
AXFX2DelaySettingsUpdate The AXFX2DelaySettingsUpdate function is used after changing parameters of the already initialized AXFX2_DELAY structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2DelaySettingsUpdateNoReset The AXFX2DelaySettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_DELAY structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFX2DelayShutdown The AXFX2DelayShutdown function frees any memory allocated internally by the AXFX2_DELAY functions

AXFX2 Compressor

AXFX2_COMPRESSOR The function of a compressor is to keep the level of a signal within a specific dynamic range. This is usually performed using a technique named 'gain reduction'. There are three compressor effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_COMPRESSOR structure function before the call to AXFX2CompressorInit.
AXFX2CompressorInit The AXFX2CompressorInit initializes a compressor effect given an AXFX2_COMPRESSOR structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2CompressorCallback The AXFX2CompressorCallback function is an AUX callback for the compressor effect. It applies a compressor effect to the audio channels in AXFX_6CH_BUFFERUPDATE. The number of channels affected and the audio sample rate is specified via the parameters originally passed to AXFX2CompressorInit.
AXFX2CompressorGetMemSize The AXFX2CompressorGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 compressor effect during initialization.
AXFX2CompressorSettingsUpdate The AXFX2CompressorSettingsUpdate function is used after changing parameters of the already initialized AXFX2_COMPRESSOR structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process..
AXFX2CompressorShutdown The AXFX2CompressorShutdown function frees any memory allocated internally by the AXFX2CompressorInit functions.

AXFX2 Flanger

AXFX2_FLANGER The flanger effect is similar in its implementation to the chorus. However, its sound is different. There are three flanger effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_FLANGER structure function before the call to AXFX2FlangerInit.
AXFX2FlangerInit The AXFX2FlangerInit initializes a flanger effect given an AXFX2_FLANGER structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2FlangerCallback The AXFX2FlangerCallback function is an AUX callback for the flanger effect. It applies a flanger effect to the audio channels in AXFX_6CH_BUFFERUPDATE.
AXFX2FlangerGetMemSize The AXFX2FlangerGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 flanger effect during initialization.
AXFX2FlangerSettingsUpdate The AXFX2FlangerSettingsUpdate function is used after changing parameters of the already initialized AXFX2_FLANGER structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2FlangerSettingsUpdateNoReset The AXFX2FlangerSettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_FLANGER structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFX2FlangerShutdown The AXFX2FlangerShutdown function frees any memory allocated internally by the AXFX2FlangerInit functions.

AXFX2 Overdrive

AXFX2_OVERDRIVE The overdrive effect is used to add harmonic distortion to a sound. This can be useful to make a sound bigger, brighter, grungier, or rougher. There are three overdrive effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_OVERDRIVE structure function before the call to AXFX2OverdriveInit.
AXFX2OverdriveInit The AXFX2OverdriveInit initializes an overdrive effect given an AXFX2_OVERDRIVE structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2OverdriveCallback The AXFX2OverdriveCallback function is an AUX callback for the overdrive effect. It applies an overdrive effect to the audio channels in AXFX_6CH_BUFFERUPDATE.
AXFX2OverdriveGetMemSize The AXFX2OverdriveGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 overdrive effect during initialization.
AXFX2OverdriveSettingsUpdate The AXFX2OverdriveSettingsUpdate function is used after changing parameters of the already initialized AXFX2_OVERDRIVE structure.
AXFX2OverdriveShutdown The AXFX2OverdriveShutdown function frees any memory allocated internally by the AXFX2OverdriveInit functions.

AXFX2 PichShift

AXFX2_PITCHSHIFT This effect is used to change the pitch (frequency) of an input sound source. There are three pitchshift effects that operate on 2, 4, and 6 channels. Appropriate values must be assigned to the parameters of the AXFX2_PITCHSHIFT structure function before the call to AXFX2PitchshiftInit.
AXFX2PitchshiftInit The AXFX2PitchshiftInit initializes a pitchshift effect given an AXFX2_PITCHSHIFT structure with valid user parameters, the number of channels (specified by mode), and the input signal sample rate (specified by sampleRate).
AXFX2PitchshiftCallback The AXFX2PitchshiftCallback function is an AUX callback for the pitchshift effect. It applies a pitchshift effect to the audio channels in AXFX_6CH_BUFFERUPDATE.
AXFX2PitchshiftGetMemSize The AXFX2PitchshiftGetMemSize function returns the size of memory (in bytes) dynamically allocated by the sound 2 pitchshift effect during initialization.
AXFX2PitchshiftSettingsUpdate The AXFX2PitchshiftSettingsUpdate function is used after changing parameters of the already initialized AXFX2_PITCHSHIFT structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are cleared during this call. Memory is not freed nor reallocated during this process.
AXFX2PitchshiftSettingsUpdateNoReset The AXFX2PitchshiftSettingsUpdateNoReset function is used after changing parameters of the already initialized AXFX2_PITCHSHIFT structure. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFX2PitchshiftShutdown The AXFX2PitchshiftShutdown function frees any memory allocated internally by the AXFX2PitchshiftInit functions.

Multi-Channel Chorus

AXFX_MULTI_CH_CHORUS There are two main classes of chorus effects which use the original algorithm or optimized algorithm. For each of the two classes, there are three types of chorus effects which process 2, 4, or 6 individual channels. When using this chorus effect, assign appropriate values to the various parameters of the AXFX_MULTI_CH_CHORUS structure before initializing with AXFXMultiChChorusInit.
AXFXMultiChChorusGetMemSize Returns the size of memory (in bytes) dynamically allocated by the multi-channel chorus effect during initialization.
AXFXMultiChChorusInit Initializes the chorus effect for the specified number of channels and user parameters in the AXFX_MULTI_CH_CHORUS structure. This function also allocates and initializes the memory used by the delay lines and related processing steps.
AXFXMultiChChorusCallback An AUX callback for the chorus effect that applies chorus processing to all channels in the buffer designated by the AXFX_6CH_BUFFERUPDATE structure.
AXFXMultiChChorusSettings Changes parameters of the initialized chorus. When this function is called, the current chorus effect is shut down and the memory allocated to it at initialization is freed, and then the chorus is reinitialized based on new user parameters.
AXFXMultiChChorusSettingsUpdate Changes parameters of the initialized chorus. When this function is called, the current multi-channel chorus is shut down, then reinitialized based on new user parameters. Memory is not freed and reallocated during this process.
AXFXMultiChChorusSettingsUpdateNoReset Changes parameters of the initialized chorus. When this function is called, the internal settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed and reallocated during this process.
AXFXMultiChChorusShutdown Shuts down the multi-channel chorus effect and frees any memory allocated internally by the AXFXMultiChChorusInit function.

Multi-Channel Delay

AXFX_MULTI_CH_DELAY Appropriate values must be assigned to the parameters of the AXFX_MULTI_CH_DELAY structure before calling AXFXMultiChDelayInit. The parameters affect each channel equally.
AXFXMultiChDelayGetMemSize returns the size of memory (in bytes) dynamically allocated by the multi-channel delay effect during initialization.
AXFXMultiChDelayInit Initializes the delay structure for the specified number of channels and user parameters in the AXFX_MULTI_CH_DELAY structure. This function also allocates and initializes the memory used by the delay line and related processing steps.
AXFXMultiChDelayCallback AUX callback for the multi-channel channel delay that applies a delay effect to the channels in the buffer designated by the AXFX_6CH_BUFFERUPDATE structure.
AXFXMultiChDelaySettingsUpdate Used after changing or setting parameters for the initialized multi-channel delay structure. When this function is called, the internal delay parameters are reinitialized based on the current user parameters. Memory is not freed nor reallocated during this process.
AXFXMultiChDelaySettingsUpdateNoReset Used after changing parameters of the initialized multi-channel delay structure. When this function is called, the internal delay settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFXMultiChDelayShutdown Shuts down the multi-channel delay effect and frees any memory allocated internally by the AXFXMultiChDelayInit function.

Multi-Channel Reverb

AXFX_MULTI_CH_REVERB Appropriate values must be assigned to the parameters of the AXFX_MULTI_CH_REVERB structure or one of five presets assigned using the AXFXReverbParametersPreset function before the call to AXFXMultiChReverbInit.
AXFXMultiChReverbParametersPreset Used to assign predefined reverb settings to an AXFX_MULTI_CH_REVERB structure.
AXFXMultiChReverbGetMemSize Returns the size of memory (in bytes) dynamically allocated by the multi-channel reverb effect during initialization.
AXFXMultiChReverbInit Initializes the reverb effect channels for the specified number of channels and user parameters in the AXFX_MULTI_CH_REVERB structure. This function also allocates and initializes the memory used by the delay line and related processing steps.
AXFXMultiChReverbCallback AUX callback for the reverb effect that applies a reverb effect to the channels in the buffer designated by the AXFX_MULTI_BUFFERUPDATE structure.
AXFXMultiChReverbSettingsUpdate Used after changing or setting parameters for the initialized reverb structure. When this function is called, the internal reverb parameters are reinitialized based on the current user parameters. Memory is not freed nor reallocated during this process.
AXFXMultiChReverbSettingsUpdateNoReset Used when changing parameters of the initialized reverb structure. When this function is called, the internal delay settings of the effect are immediately updated based on the current user parameters. The internal delay lines are not cleared. Memory is not freed nor reallocated during this process.
AXFXMultiChReverbShutdown Shuts down the reverb effect and frees any memory allocated internally by the AXFXMultiChReverbInit function.

Revision History

2013/08/26 Add AXFX2 APIs.
2013/06/01 Initial version.


CONFIDENTIAL