2012-03-01 4 views
6

He conseguido añadir una unidad de reverberación a mi gráfica, más o menos, así:Cómo establecer el nivel de reverberación y la hora en kAudioUnitSubType_Reverb2

AudioComponentDescription auEffectUnitDescription; 
    auEffectUnitDescription.componentType = kAudioUnitType_Effect; 
    auEffectUnitDescription.componentSubType = kAudioUnitSubType_Reverb2; 
    auEffectUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple; 

AUGraphAddNode(
           processingGraph, 
           &auEffectUnitDescription, 
           &auEffectNode), 

Ahora, ¿cómo puedo cambiar algunos de los parámetros en el unidad de reverberación? Me gustaría cambiar la relación mojado/seco y reducir el tiempo de caída.

Respuesta

15

En primer lugar, usted tiene que obtener una referencia a la reverberación real unidad de audio:

AudioUnit reverbAU = NULL; 

AUGraphNodeInfo(processingGraph, auEffectNode, NULL, &reverbAU); 

Ahora que tiene la unidad de audio se puede establecer parámetros en él, como

// 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); 

Puede encuentre los parámetros para la unidad de reverberación (y todas las unidades de audio suministradas por Apple) en AudioUnit/AudioUnitParameters.h (Reverb param enum está en la línea 521)

+0

Impresionante. ¡Gracias! – morgancodes

+4

Si eso era lo que estaba buscando, ¿podría molestarlo para que acepte la respuesta? ¡Gracias! –

Cuestiones relacionadas