![]() |
SOUND4 BIGVOICE.CL Library [1.1.11]
|
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) |