我设法在我的图表中添加了一个混响单元,或多或少是这样的:
AudioComponentDescription auEffectUnitDescription;
auEffectUnitDescription.componentType = kAudioUnitType_Effect;
auEffectUnitDescription.componentSubType = kAudioUnitSubType_Reverb2;
auEffectUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
AUGraphAddNode(
processingGraph,
&auEffectUnitDescription,
&auEffectNode),
现在我如何更改混响单元上的一些参数?我想改变湿/干比率,减少衰减时间。
答案 0 :(得分:15)
首先,您必须获得对实际混响音频单元的引用:
AudioUnit reverbAU = NULL;
AUGraphNodeInfo(processingGraph, auEffectNode, NULL, &reverbAU);
现在您已拥有音频单元,您可以在其上设置参数,例如
// set the decay time at 0 Hz to 5 seconds
AudioUnitSetParameter(reverbAU, kAudioUnitScope_Global, 0, kReverb2Param_DecayTimeAt0Hz, 5.f, 0);
// set the decay time at Nyquist to 2.5 seconds
AudioUnitSetParameter(reverbAU, kAudioUnitScope_Global, 0, kReverb2Param_DecayTimeAtNyquist, 5.f, 0);
您可以在AudioUnit/AudioUnitParameters.h
中找到混响单元(以及所有Apple提供的音频单元)的参数(Reverb param enum位于第521行)