我有两种过滤效果(低通和高通类型)。但是,在我的音频采样缓冲区上处理完这两种效果后,两种效果在运行时都听不见。要声明的第二个过滤器只会被听到。我通过交换调用共振频率位的顺序进行了很多实验,要声明的第二种滤波器类型仅使其在运行时输出。我收到了一个建议,描述了一个称为“音频链接”的过程。有人对此有想法吗?或者 Superpowered DSP 不能在音频系统中处理具有两种不同滤波器类型的缓冲区?拜托,任何帮助都将非常感激......
这是我对这两种情况的声明;
filter = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Highpass, samplerate);
filterb = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Lowpass, samplerate);
audioSystem = new SuperpoweredAndroidAudioIO(samplerate, buffersize, false, true, audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA, buffersize * 2);
filterb->setResonantParameters(floatToFrequency(0.5f), 0.2f);
filter->setResonantParameters(floatToFrequency(0.5f), 0.2f); //resonance
filterb->enable(true);
filter->enable(true);
playerA->play(false);
同样在音频处理方法中,我调用了
filterb->process(stereoBuffer, stereoBuffer, numberOfSamples);
filter->process(stereoBuffer, stereoBuffer, numberOfSamples);