Does AVAudioUnitEQ really work on iOS?

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];

. , - , , , , ...

+4
1

, , node. Parameters.bypass = NO .

+3

Source: https://habr.com/ru/post/1618319/


All Articles