while (have_audio) { read_interleaved_input(inBuf, frames); OV_Process(ctx, inBuf, outBuf, frames); write_output(outBuf, frames); }
// Process audio (interleaved float32) int OV_Process(void* ctx, const float* in, float* out, int frames); ctx = OV_Create(48000, 2); OV_SetPitchRatio(ctx, 1.2f); OV_SetFormantShift(ctx, 0.0f); OV_SetTimeRatio(ctx, 1.0f); OV_SetMix(ctx, 1.0f); orange vocoderdll
// Create/destroy processor void* OV_Create(int sampleRate, int channels); void OV_Destroy(void* ctx); while (have_audio) { read_interleaved_input(inBuf