c - 并行应用音频过滤器并合并结果缓冲区



我已经实现了 13 频段均衡器情商10Q过滤 器。使用 smaartV7 软件进行一些测量时,我意识到我的频段相互重叠,从而产生了额外的意外增益。我认为这是因为我在同一个缓冲区(系列)上应用了每个过滤器。所以我在想的解决方案是使用 13 个立体声 32 位 PCM 格式的缓冲区,具有相同的原始数据。我将对每个缓冲区应用一个过滤器,然后合并所有缓冲区(并行)。所以我有些怀疑。

  1. 我的方法正确吗?

  2. 我应该如何合并缓冲区?(我尝试将所有样本相加,然后将结果除以 13,但这种方法降低了滤波器增益)。

注意:我不想修改过滤器的 Q 因子。

我不知道EQ10Q过滤器库,所以我会为你编写一些伪代码。

希望 EQ10Q 过滤器处理代码返回其更改的过滤样本,并且不需要指向输入的指针。考虑到这一点,这就是我通常的做法:

yn = filterOne.process(xn) + filterTwo.process(xn) + ... + filterThirteen.process(xn)

这会将每个筛选器输出样本相加。但是,请记住,您需要自己优化它...如果您有其他事情要做,处理样品 13 次可能会很密集。

最新更新