Audio Library (AX) API Function List

Initialization

AXInit Initializes the AX library.
AXInitEx Selects the output buffer structure and initializes the AX library.
AXInitSpecifyMem Specifies the maximum number of voices and the library memory region, and initializes the AX library.
AXInitExSpecifyMem Specifies the output buffer structure, the maximum number of voices, and the library memory region, and initializes the AX library.
AXGetMemorySize Returns the size in bytes of the memory region required by the AX library.
AXIsInit Checks whether AX library initialization is complete.
AXQuit Shuts down the AX library.
AXGetMaxVoices Returns the maximum number of voices that the AX library can use.
AXSetMode Sets the AX library's output mode.
AXGetMode Returns the AX library's current output mode.
AXSetCompressor Controls the AX library's output compressor.
AXSetCompressorTable Registers a custom table with the AX library's output compressor.
AXRegisterCallback Registers an application callback that is invoked at each audio frame.

Voice Allocation

AXAcquireVoice Attempts to acquire a voice to use.
AXFreeVoice Frees the specified voice.
AXGetDSPCycles Returns the total number of DSP cycles estimated for the AX library to use during the newest frame.
AXSetMaxDSPCycles Specifies the maximum number of DSP cycles that the AX library can use per frame.
AXGetMaxDSPCycles Returns the current number of DSP cycles per audio frame that the AX library is allowed to use.
AXSetVoicePriority Changes the priority of the specified voice.

Voice Parameters

AXSetVoiceAddr Sets the AXPBADDR voice parameter.
AXSetVoiceAdpcm Sets the AXPBADPCM voice parameter.
AXSetVoiceAdpcmLoop Sets the AXPBADPCMLOOP voice parameter.
AXSetVoiceCurrentAddr Sets a voice's new current address.
AXSetVoiceDpop Sets a voice's depop parameter.
AXSetVoiceEndAddr Sets a new ending address for a voice's sampling data.
AXSetVoiceItdOn Enables a voice's initial time delay (ITD).
AXSetVoiceItdTarget Sets a phase delay for the left and right channels of a voice.
AXSetVoiceLoop Sets the AXPBADDR loop flag.
AXSetVoiceLoopAddr Sets a new starting address for a looping voice.
AXSetVoiceLpf Initializes the parameters of a voice's low-pass filter.
AXSetVoiceLpfCoefs Sets new low-pass filter coefficients while a voice is running.
AXSetVoiceBiquad Initializes the parameters of a voice's biquad filter.
AXSetVoiceBiquadCoefs Sets new filter coefficients for a voice's biquad filter.
AXSetVoiceMix Sets a voice's AXPBMIX value.
AXSetVoiceSrc Initializes a voice's SRC parameter.
AXSetVoiceSrcRatio Programs a new SRC ratio while a voice is being played back.
AXSetVoiceSrcType Sets the sampling rate converter (SRC) type for a voice.
AXSetVoiceState Configures whether to start or stop a voice.
AXSetVoiceType Configures the voice type.
AXSetVoiceVe Initializes the volume envelope for a voice.
AXSetVoiceVeDelta Sets a new volume envelope coefficient delta for a voice.
AXSetVoiceRmtOn Specifies whether the specified voice should be processed for the Wii Remote speaker.
AXSetVoiceRmtMix Sets a voice's Wii Remote speaker mixing parameter (AXPBRMTMIX).
AXSetVoiceRmtIIR Initializes a voice's Wii Remote speaker IIR filter parameters.
AXSetVoiceRmtIIRCoefs Sets new IIR filter coefficients for the Wii Remote speaker.

Volume

AXGetMasterVolume Gets the master volume for the AX library.
AXSetMasterVolume Sets the master volume for the AX library.
AXGetAuxReturnVolume Gets the return volume for each AUX bus.
AXSetAuxReturnVolume Sets the return volume for each AUX bus.

AUX Send and Return

AXRegisterAuxACallback Registers a callback function that is invoked once per audio frame to apply an effect to the AuxA buffer context.
AXRegisterAuxBCallback Registers a callback function that is invoked once per audio frame to apply an effect to the AuxB buffer context.
AXRegisterAuxCCallback Registers a callback function that is invoked once per audio frame to apply an effect to the AuxC buffer context.
AXGetAuxACallback Gets the context and callback function registered by the call to the AXRegisterAuxACallback function immediately prior to invocation of this function.
AXGetAuxBCallback Gets the context and callback function registered by the call to the AXRegisterAuxBCallback function immediately prior to invocation of this function.
AXGetAuxCCallback Gets the context and callback function registered by the call to the AXRegisterAuxCCallback function immediately prior to invocation of this function.

Obtaining Data for the Controller Speaker

AXRmtGetSamplesLeft Returns the number of samples of audio data that can currently be retrieved for the Wii Remote speaker.
AXRmtGetSamples Copies Wii Remote audio data from an internal AX buffer to another buffer.
AXRmtAdvancePtr Advances an AX library Wii Remote speaker buffer pointer by the specified number of samples.

Utilities

AXGetLpfCoefs Gets the a0 and b0 low-pass filter coefficients.
AXMakeCompressorTable Creates a custom table for the AX library's output compressor.
AXGetAdpcmData Converts 16-bit PCM data into DSP-ADPCM data.
AXGetAdpcmOutputSize Returns the size of the output buffer used when converting 16-bit PCM data into DSP-ADPCM data.
AXGetAdpcmWorkSize Returns the size of the working buffer used when converting 16-bit PCM data into DSP-ADPCM data.

Profile

AXInitProfile Initializes the AX library's runtime profiler.
AXGetProfile Requests the number of valid profiles stored in the user-allocated stack.

Debug

AXRegisterExceedCallback Registers the callback invoked when the DSP audio processing does not complete within the 3-ms audio frame.

Voice Parameter Blocks (AXVPB)

axvpb.next Used to sort the voice priority stack.
axvpb.prev Used to sort the voice priority stack.
axvpb.next1 Used to sort the voice priority stack.
axvpb.priority The priority assigned to a voice by an application.
axvpb.callback Callback function that is invoked when the associated voice has been dropped or reacquired by a higher-priority request.
axvpb.userContext Additional reference information stored by an application for a voice.
axvpb.index Voice index in the array of AXVPB structures managed by the AX library.
axvpb.sync Controls synchronization between an application and the DSP parameter blocks.
axvpb.depop Used when a voice needs to be "de-popped".
axvpb.itdBuffer It points to the location of the ITD (Initial Time Delay) buffer used for the voice.
axvpb.pb The AXPB structure that stores voice parameter settings.

Parameter Blocks (AXPB)

axpb.nextHi Used by the DSP to access voices as a linked list.
axpb.nextLo Used by the DSP to access voices as a linked list.
axpb.currHi Used by the DSP to access voices as a linked list.
axpb.currLo Used by the DSP to access voices as a linked list.
axpb.srcSelect Specifies the SRC used for the specified voice.
axpb.coefSelect Specifies the active filter coefficients when srcSelect is set to AX_PB_POLYPHASE.
axpb.mixerCtrl Dictates the method and channels that the DSP must use when mixing a voice.
axpb.state Sets a voice to run or to stop.
axpb.type Allows the DSP to differentiate between looped ADPCM sound effects and ADPCM-encoded software streams.
axpb.mix Specifies the 12 channels of mixing parameters for each voice.
axpb.itd Specifies a phase shift for the main left and right channels of a voice.
axpb.dpop Used to eliminate "popping" artifacts when a voice is forcibly re-acquired.
axpb.ve Used to store the context of a volume envelope.
axpb.addr Specifies the address and other information of sampling data.
axpb.adpcm Specifies the coefficients and processing context for playback of ADPCM-encoded sampling data.
axpb.src Specifies processing parameters for the DSP's "front-end" sampling rate converter.
axpb.adpcmLoop Specifies the ADPCM decoder context for the loop point in the specified sampling data.
axpb.lpf Used by the DSP when processing each voice with an independent low-pass filter.
axpb.biquad Used to control independent biquad filters for each voice.
axpb.remote Sets Wii Remote speaker voice processing to run or to stop.
axpb.rmtMixerCtrl Configures mixing for the Wii Remote speaker.
axpb.rmtMix Specifies mixing parameters for the Wii Remote speaker.
axpb.rmtDpop Used for "de-pop" processing with the Wii Remote speaker.
axpb.rmtSrc Used when changing the sampling frequency for the Wii Remote speaker.
axpb.rmtIIR Applies an IIR filter to the Wii Remote speaker's audio output.
axpb.pad Library-reserved member. This must be set to 0.




CONFIDENTIAL