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

标签 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

如有任何建议,我们将不胜感激。

最佳答案

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

关于iphone - CoreAudio Audio Graph 中的自定义音频效果 - 渲染回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964991/

相关文章:

iOS App 将通用更改为仅限 iPhone

iphone - 在iPhone上使用自定义阿拉伯字体时出现问题

javascript - Javascript 中的回调、 promise 、异步等待 - 仍然令人困惑

javascript - 为什么要使用 Action Creator 回调函数而不是使用简单的对象?

javascript - Javascript中的回调机制

iphone - AVPlayer是否可以像AVAudioPlayer的preparetoplay一样预缓冲音频?

objective-c - 为DSP目的在C++中处理音频数据

iphone - 两行被删除,而不是我的代码中的一行

iphone - xcode 在 View 之间传递 3 个 nsstring 值时遇到问题

ios - iOS 采样器支持的示例/文件扩展名