AudioComponentDescription
结构体 描述AudioUnit 类型
AudioComponentDescription
有如下属性
componentType
大类别
kAudioUnitType_Effect 描述音特效处理的功能
子类型包含
均衡效果器 kAudioUnitSubType_NBandEQ
(主要作用是为声音的某些频带增强或者减弱能量,
该效果器需要指定多个频带,
然后为各个频带设置宽度以及增益,
最终将改变声音在频域上的能量分布 )
压缩效果器 kAudioUnitSubType_DynamicsProcessor
(当声音较小的时候可以提高声音的能量,
当声音的能量超过了设置的阈值时,
可以降低声音的能量,
当然应合理地设置作用时间、释放时间以及触发值,
使得最终可以将声音在时域上的能量压缩到一定范围之内 )
混响效果器 kAudioUnitSubType_Reverb2
(对于人声处理来讲这是非常重要的效果器,
可以想象自己身处在一个空房子中,
如果有非常多的反射声和原始声音叠加在一起,
那么从听感上可能会更有震撼力,
但是同时原始声音也会变得更加模糊,
原始声音的一些细节会被遮盖掉,
所以混响设置的大或者小对于不同的人来讲会很不一致,
可以根据自己的喜好来进行设置)
kAudioUnitType_Mixer 提供Mix多路声音的功能
子类型包含
多路声音混音的效果器 kAudioUnitSubType_MultiChannelMixer
(可以接收多路音频的输入,
还可以分别调整每一路音频的增益与开关,
并将多路音频合并成一路,
该效果器在处理音频的图状结构中非常有用)
I/O的功能 kAudioUnitType_Output
子类型包含
采集音频与播放音频 kAudioUnitSubType_RemoteIO
kAudioUnitSubType_GenericOutput
(离线处理,或者说在AUGraph中不使用Speaker(扬声器)来驱动整个数据流,
而是希望使用一个输出(可以放入内存队列或者进行磁盘I/O操作)来驱动数据流时,就使用该子类型)
kAudioUnitType_FormatConverter 提供格式转换的功能
(采样格式由Float到SInt16的转换、
交错和平铺的格式转换、单双声道的转换等)
子类型包含
kAudioUnitSubType_AUConverter
(当某些效果器对输入的音频格式有明确的要求时(比如3D Mixer Unit就必须使用UInt16格式的sample),
或者开发者将音频数据输入给一些其他的编码器进行编码,
又或者开发者想使用SInt16格式的PCM裸数据在其他CPU上进行音频算法计算等的场景下,
就需要使用到这个ConverterNode了 )
kAudioUnitSubType_NewTimePitch 变速变调效果器
(可以对声音的音高、速度进行调整,像“会说话的Tom猫”类似的应用场景就可以使用这个效果器来实现 )
kAudioUnitSubType_Splitter
(一个音频单元,提供2条输出总线和1条输入总线。
音频单元将输入信号分离(复制)到两个输出总线)
kAudioUnitType_Generator 播放器的功能
子类型包含
kAudioUnitSubType_AudioFilePlayer
(在AudioUnit里面,如果我们的输入不是麦克风,而希望其是一个媒体文件)
网友评论