No matter what I do, I cannot get AVAudioUnitEQ to actually do anything. If I set globalGain for AVAudioUnitEQ, it definitely affects the signal, but no matter what type of EQ filter I set or parameters, I don’t hear any changes in my sound, it acts like a direct pass.
I tried low pass, high pass, low shelf, high shelf, gain setting, bandwidth, all I can think of, but nothing seems to matter.
Does AVAudioUnitEQ really work on iOS 8.4 and 9.1? I see exactly the same results on the iPad with both versions of iOS.
Here is my basic engine setup, trying to turn off the low-pass filter at 1000 Hz.
engine = [[AVAudioEngine alloc] init];
equalizer = [[AVAudioUnitEQ alloc] initWithNumberOfBands:1];
AVAudioUnitEQFilterParameters *filterParameters = equalizer.bands[0];
filterParameters.filterType = AVAudioUnitEQFilterTypeLowPass;
filterParameters.frequency = 1000.0f;
equalizer.bypass = NO;
[engine attachNode:equalizer];
mixer = [[AVAudioEnvironmentNode alloc] init];
[engine attachNode:mixer];
AVAudioEnvironmentReverbParameters * reverbParameters = mixer.reverbParameters;
reverbParameters.enable = YES;
[reverbParameters loadFactoryReverbPreset:kDefaultReverbType ];
[engine connect:mixer to:equalizer format:nil];
[engine connect:equalizer to:[engine mainMixerNode] format:nil];
. , - , , , , ...