iOS的AVAudioUnit提供的音效包括:混响、延迟、均衡器、失真、变速、变调等。按照类型划分为Audio Effect和Time Effect,其中Audio Effect包括混响、延迟、均衡器和失真,而Time Effect主要是变速、变调。
一、音效应用层框架
音效的应用层框架以AVAudioUnit作为核心抽象类,如下图所示:
二、音效HAL层
1、音效与HAL层关系图
音效的HAL硬件抽象层属于CoreAudio框架,而AUHAL即AudioUnit的HAL层,用于连接I/O Kit与Mixer Unit的桥梁。如下图所示:
2、音效HAL层核心类
音效硬件抽象层的相关头文件如下:
AUComponent.h: 定义AudioUnit类型.
AudioComponent.h: 定义音频组件的接口.
AudioOutputUnit.h: 定义输出单元开关的接口.
AudioUnit.h: 涵盖AudioUnit框架类.
AudioUnitParameters.h: 预定义AudioUnit的参数常量.
AudioUnitProperties.h: 预定义AudioUnit的属性类型.
三、Audio Effect
1、均衡器
AVAudioUnitEQ均衡器提供EQ滤波器参数,用于设置频率、增益、滤波器类型