How to make a simple EQ AudioUnit (bass, mid, treble) with iOS?

时光总嘲笑我的痴心妄想 提交于 2019-12-29 03:12:41

问题


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é


回答1:


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.




回答2:


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




回答3:


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!




回答4:


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.




回答5:


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.



来源:https://stackoverflow.com/questions/4029079/how-to-make-a-simple-eq-audiounit-bass-mid-treble-with-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!