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

时间:2012-10-18 22:55:00

标签: iphone callback core-audio effect audiounit

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

    Sampler -> Reverb -> IO

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

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

    Sampler -> Reverb -> [Custom processing] -> IOUnit

有没有办法可以使用AudioUnitAddRenderNotify回调等方式改变音频流?或者我必须像这样打破音频图形:

    Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

最简单的方法是向您的Reverb节点的AU添加渲染通知回调(AudioUnitAddRenderNotify),并在kAudioUnitRenderAction_PostRender调用中处理音频。我做了一个实验,只要在AUGraph打开后添加了回调,并且在预渲染调用中没有进行任何处理,我就可以使用它。