How to make a simple EQ AudioUnit (bass, mid, treb

2019-01-21 17:59发布

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é

5条回答
SAY GOODBYE
2楼-- · 2019-01-21 18:33

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.

查看更多
\"骚年 ilove
3楼-- · 2019-01-21 18:33

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!

查看更多
Root(大扎)
4楼-- · 2019-01-21 18:37

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

查看更多
女痞
5楼-- · 2019-01-21 18:40

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.

查看更多
▲ chillily
6楼-- · 2019-01-21 18:46

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.

查看更多
登录 后发表回答