我有两种滤镜效果(低通和高通类型)。但是,在我的音频采样缓冲区上处理后,两种效果在运行时都无法听到。只能声明要声明的第二个过滤器。我已经通过交换调用谐振频率位的顺序进行了大量实验,要声明的第二个滤波器类型仅使其在运行时输出。 我得到了一个描述一个名为" audio chaining"的过程的建议。有谁请对此有所了解?或者不能在音频系统中使用两种不同的滤波器类型来制作超级动力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);
答案 0 :(得分:0)
您的伪代码看起来没问题。我猜你叫filter-> enable和filterb->也支持?
据我猜测,你应该听到一些高频和一些低频减少。