是否可以使用Superpowered SDK并行应用过滤器?

据我了解,如果我以这种方式应用过滤器

...
filterLowpass->process(inputBufferFloat, inputBufferFloat, numberOfSamples);
filterHighpass->process(inputBufferFloat, inputBufferFloat, numberOfSamples);
filterOther->process(inputBufferFloat, inputBufferFloat, numberOfSamples);
...

它们是串联应用的,对吗?

最佳答案

是的,有办法。在您的示例中,它们是串联应用的。为了使这些过滤器并行,将输入缓冲区保持为inputBufferFloat,但为每个过滤器使用不同的输出缓冲区。就像是:

filterLowpass->process(inputBufferFloat, outputFloatFilterLow, numberOfSamples);
filterHighpass->process(inputBufferFloat, outputFloatFilterHigh, numberOfSamples);
filterOther->process(inputBufferFloat, outputFloatFilterOther, numberOfSamples);

10-07 18:40