我正在使用 CoreAudio 构建 MIDI 合成器。目前,我有以下音频图:
Sampler -> Reverb -> IO
我需要向图表添加合唱效果以及混响效果。问题是 iPhone 上没有合唱效果。为了解决这个问题,我计划实现我自己的合唱效果。为此,我需要访问音频流。
问题是:访问音频图中间的音频流的最佳方法是什么。
Sampler -> Reverb -> [Custom processing] -> IOUnit
有没有办法可以使用 AudioUnitAddRenderNotify 回调之类的方法来更改音频流?或者我是否必须像这样打破音频图:
Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit
如有任何建议,我们将不胜感激。
最佳答案
最简单的方法是将渲染通知回调 (AudioUnitAddRenderNotify
) 添加到混响节点的 AU,并在 kAudioUnitRenderAction_PostRender
调用中处理音频。我做了一个实验,只要在 AUGraph 打开后添加回调,并且在预渲染调用中不进行任何处理,就可以正常工作。
关于iphone - CoreAudio Audio Graph 中的自定义音频效果 - 渲染回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964991/