我对编程和 Python 很陌生。我正在做一个项目,在这个项目中,我用两组 Gammatone 滤波器构建了一个听觉滤波器组。现在我得到了一个 39x10x8545 的矩阵。我想计算整个时间轴(超过 8545)的 rms 能量平均值,以降低信号的维度。谁能建议我一种更好的方法来在 Python 中有效地做到这一点,因为由于音频信号非常大,我负担不起太多内存。提前致谢。
问问题
1787 次
2 回答
0
我想根据 Djmoffat 的回答自己回答这个问题。我尝试了他的回答,但发现 numpy.pow() 给了我非常缓慢的结果。所以我尝试使用
math.sqrt(numpy.mean(x**2))
这给了我更快的结果。我知道这math.pow()
很慢,因为它必须考虑许多其他事情,例如分数幂和此处明确讨论的其他事情。上下文很重要,因为我确信我将只有整数幂,更准确地说是“2”。
于 2014-08-17T09:49:17.683 回答