![]() |
SOUND4 BIGVOICE.CL Library [1.1.6]
|
Optimized processing with direct in->out. More...
Functions | |
void | bigvoice_ProcessAudio (struct bigvoice_CInstance *instance, const float *input, float *output) |
void | bigvoice_ProcessAudio_Planar (struct bigvoice_CInstance *instance, float const *const *input, float *const *output) |
float * | bigvoice_GetBufferIn (struct bigvoice_CInstance *instance) |
float * | bigvoice_GetBufferOut (struct bigvoice_CInstance *instance) |
unsigned int | bigvoice_GetEstimatedDelay (struct bigvoice_CInstance *instance) |
Optimized processing with direct in->out.
float * bigvoice_GetBufferIn | ( | struct bigvoice_CInstance * | instance | ) |
Get preallocated aligned buffer for audio input for bigvoice_ProcessAudio
The buffer is a float[256 * bigvoice_GetAudioInputCount() * bigvoice_GetChannelCount()]
So for this process/version : float[256*1*1]
instance | the processing instance |
float * bigvoice_GetBufferOut | ( | struct bigvoice_CInstance * | instance | ) |
Get preallocated aligned buffer for audio output for bigvoice_ProcessAudio()
The buffer is a float[256 * bigvoice_GetAudioOutputCount() * bigvoice_GetChannelCount()]
So for this process/version : float[256*1*1]
instance | the processing instance |
unsigned int bigvoice_GetEstimatedDelay | ( | struct bigvoice_CInstance * | instance | ) |
Get the delay (estimated) of current processing algorithm
void bigvoice_ProcessAudio | ( | struct bigvoice_CInstance * | instance, |
const float * | input, | ||
float * | output | ||
) |
Process an audio chunk
A chunk contains bigvoice_GetProcessChunkFrames frames, set at init by frames_per_chunk in bigvoice_InitProcess3
Input has bigvoice_GetAudioInputCount() * bigvoice_GetChannelCount() channels
Ouput has bigvoice_GetAudioOutputCount() * bigvoice_GetChannelCount() channels
Each sample is a native 32-bit floating-point number where 1.0 is full scale. Channels are interlaced, so the buffers are [L0,R0,L1,R1,...,Ln,Rn] (L=Left, R=Right)
In case of multiple audio input/output, buffer is [aL0,aR0,bL0,bR0,...,aLn,aRn,bLn,bRn]
instance | the processing instance |
input | audio input buffer (64 byte aligned) or NULL to use internal buffer bigvoice_GetBufferIn |
output | audio output buffer (64 byte aligned) or NULL to use internal buffer bigvoice_GetBufferOut |
void bigvoice_ProcessAudio_Planar | ( | struct bigvoice_CInstance * | instance, |
float const *const * | input, | ||
float *const * | output | ||
) |
Process an audio chunk of planar audio
A chunk contains bigvoice_GetProcessChunkFrames frames, set at init by frames_per_chunk in bigvoice_InitProcess3
Input has bigvoice_GetAudioInputCount() * bigvoice_GetChannelCount() channels
Ouput has bigvoice_GetAudioOutputCount() * bigvoice_GetChannelCount() channels
Each sample is a native 32-bit floating-point number where 1.0 is full scale. Channels are NOT interlaced, so the buffers are arrays of planar audio : [ [L0,L1,...,Ln] , [R0,R1,...,Rn] ] (L=Left, R=Right)
In case of multiple audio input/output, buffer are [ [aL...], [aR...], [bL...], [bR...], ... ]
instance | the processing instance |
input | array of audio input buffers for each input channel (no alignment required) |
output | array of audio output buffers for each input channel (no alignment required) |