如何使用 iOS 制作一个简单的 EQ AudioUnit(低音、中音、高音)?
有谁知道如何使用 iOS 制作一个简单的 EQ 音频单元(3 个频段 - 低、中、高)?我知道如何将 iPod EQ 音频单元添加到我的 AU Graph。但它只能让您访问预设,而我需要对均衡器进行适当的控制。
我四处寻找一些教程或解释,但没有运气。
谢谢。
安德烈
does anyone know how to make a simple EQ audio unit (3 bands - low, mid, hi) with iOS ? I know how to add an iPod EQ Audio Unit to my AU Graph. But it only give you access to presets and I need proper control of the EQ.
I've looked around for some tutorials or explanations but no luck.
Thanks.
André
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
iPhone 并不完全支持自定义 AudioUnit。或者,更准确地说,它不允许您注册 AudioUnit标识符,以便您可以将其加载到 AUGraph 中。但是,您可以注册渲染回调、获取原始 PCM 数据并进行相应处理。这就是我在 iPhone 中实现效果处理的方法。
The iPhone doesn't exactly support custom AudioUnits. Or, more precisely, it doesn't allow you to register an AudioUnit's identifier so you could load it in an AUGraph. You can, however, register a render callback, get raw PCM data, and process it accordingly. This is how I've implemented effect processing in the iPhone.
我强烈建议您使用我的 NVDSP 库,它可以轻松实现音频 DSP'ing,包括滤波器在 iOS 中制作均衡器所需:https://github.com/bartolsthoorn/NVDSP
I would highly recommend you to use my NVDSP library, it allows easy audio DSP'ing, including the filters required to make an equalizer in iOS: https://github.com/bartolsthoorn/NVDSP
我已经写了两篇博客文章来讨论这个问题以及如何在 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
请起来如果对您有帮助就回复!谢谢!
I've written two Blog-Entries about this issue and how to get equalization on iOS working. It uses the libsox library (cross compiled).
First post explains how you build libsox: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework
The second explains how to use it: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects
please up the answer if it helped you! thanks!
您可以使用与此处所说的示例代码中使用的相同的类来实现,仅为了生成峰值功率值和平均功率值等属性,您需要在回调函数中进行计算并且它可以工作。
you can implement using same classes as used in speak here sample code ,only to generate properties like peak powervalue and average powervalue you need to do calculation in callback function and it works.
这个古老的 摩托罗拉 AN2110 应用说明解释了如何编写您的自己完全可控的 10 频段均衡器(10 频段实时音频 IIR 滤波器将消耗远低于 iPod Touch ARM CPU 10% 的资源)。不确定如何将其与 AU Graph 集成,但这种类型的 EQ 可以轻松集成到 PCM 音频队列缓冲区回调中。
This ancient Motorola AN2110 App Note explains how to write your own fully controllable 10-band equalizer (and 10 bands of real-time audio IIR filters will consume well under 10% of an iPod Touch's ARM CPU). Not sure about how to integrate this with an AU Graph, but this type of EQ can easily be integrated into PCM Audio Queue buffer callbacks.