我正在使用CoreAudio构建MIDI合成器。目前,我有以下音频图表:
Sampler -> Reverb -> IO
我需要为图表和混响添加合唱效果。问题是iPhone上没有合唱效果。为了解决这个问题,我计划实现自己的合唱效果。为此,我需要访问音频流。
问题是:在音频图中间访问音频流的最佳方式是什么。
Sampler -> Reverb -> [Custom processing] -> IOUnit
有没有办法可以使用AudioUnitAddRenderNotify回调等方式改变音频流?或者我必须像这样打破音频图形:
Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit
任何建议都将受到赞赏。
答案 0 :(得分:2)
最简单的方法是向您的Reverb节点的AU添加渲染通知回调(AudioUnitAddRenderNotify
),并在kAudioUnitRenderAction_PostRender
调用中处理音频。我做了一个实验,只要在AUGraph打开后添加了回调,并且在预渲染调用中没有进行任何处理,我就可以使用它。