如何用iOS制作简单的EQ AudioUnit(低音,中音,高音)?

时间:2010-10-27 00:23:19

标签: iphone ios core-audio signal-processing audiounit

有没有人知道如何用iOS制作一个简单的EQ音频单元(3个频段 - 低,中,高)?我知道如何在我的AU Graph中添加iPod EQ音频单元。但它只允许您访问预设,我需要适当控制EQ。

我四处寻找一些教程或解释,但没有运气。

感谢。

安德烈

5 个答案:

答案 0 :(得分:14)

iPhone并不完全支持自定义AudioUnits。或者,更准确地说,it doesn't allow you to register an AudioUnit's identifier所以你可以在AUGraph中加载它。但是,您可以注册渲染回调,获取原始PCM数据,并相应地处理它。这就是我在iPhone中实现效果处理的方式。

答案 1 :(得分:6)

我强烈建议您使用我的NVDSP library,它可以轻松实现音频DSP,包括在iOS中制作均衡器所需的过滤器:https://github.com/bartolsthoorn/NVDSP

答案 2 :(得分:3)

我写了两个关于此问题的博客条目,以及如何在iOS工作中获得均衡。它使用libsox库(交叉编译)。

第一篇文章解释了如何构建libsox:http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework

第二部分解释了如何使用它:http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects

如果对你有所帮助,请提出答案!谢谢!

答案 3 :(得分:2)

你可以使用与这里说的示例代码相同的类来实现,只是为了生成你需要在回调函数中进行计算的峰值功率值和平均功率值等属性,它可以工作。

答案 4 :(得分:1)

这个古老的Motorola AN2110 App Note解释了如何编写自己的完全可控的10频段均衡器(10频段的实时音频IIR滤波器将消耗不到iPod Touch的ARM CPU的10%)。不确定如何将其与AU Graph集成,但这种类型的EQ可以很容易地集成到PCM音频队列缓冲区回调中。

相关问题