CoreAudio Audio Graph中的自定义音频效果 - 渲染回调

Ben*_*ley 5 iphone callback core-audio effect audiounit

我正在使用CoreAudio构建一个MIDI合成器.目前,我有以下音频图:

    Sampler -> Reverb -> IO
Run Code Online (Sandbox Code Playgroud)

我需要为图表和混响添加合唱效果.问题是iPhone上没有合唱效果.为了解决这个问题,我计划实现自己的合唱效果.为此,我需要访问音频流.

问题是:什么是在音频图中间访问音频流的最佳方式.

    Sampler -> Reverb -> [Custom processing] -> IOUnit
Run Code Online (Sandbox Code Playgroud)

有没有办法可以使用AudioUnitAddRenderNotify回调之类的东西来改变音频流?或者我必须像这样打破音频图形:

    Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit
Run Code Online (Sandbox Code Playgroud)

任何意见,将不胜感激.

sbo*_*oth 3

最简单的方法是将渲染通知回调 ( AudioUnitAddRenderNotify) 添加到混响节点的 AU 并处理调用中的音频kAudioUnitRenderAction_PostRender。我做了一个实验,只要在 AUGraph 打开后添加回调,并且在预渲染调用中不进行任何处理,就可以正常工作。