我想制作梅尔频率倒谱算法,但有些事情我不明白。

FTT完成后,我们需要“使用三角形重叠窗口将上面获得的光谱的功率映射到梅尔尺度上。”

我知道如何计算三角形,我也知道如何传递到mel scale。 我根本不知道如何处理它们。

如果定义了三角形,我如何将上面获得的光谱的功率映射到梅尔尺度上?

是这样的: 将三角形内的频率求和,然后将其传递给mel刻度? 要么 根据重量值(由该点处三角形的高度定义)对三角形内的频率求和,然后将其传递给mel刻度? 要么 通过三角形内的所有频率,根据weith值进行缩放? 另一件事?

任何人都可以向我澄清这个

有帮助吗?

解决方案

我认为这个过程的这一步有点奇怪,并且完全没有意义(无论如何)。滤波器带的中心沿着梅尔标度等距离,但是在线性标度上是三角形,即就像图这里

然后沿线性x轴使用这些三角形计算加权和。 (在上一步中,我认为有些方法可以通过滤波器 - 三角形区域进行标准化,而有些方法则没有,而且我真的不确定这里的最终结果,但我怀疑它可能没有多大意义,除了修改所有相对比较的最终解释。一个维持总能量,另一个维持每个带的加权贡献。)然后记录这个(将整体体积因子转换为偏移量)。

修改 为了更清楚地应用滤波器......每个三角形代表一个单独的滤波器,产生一个单独的加权和。如果您的滤镜库中有20个滤镜,则会有20个三角形和20个加权和来计算。要应用每个过滤器,对于每个x轴值,将该x位置处的过滤器值乘以该x位置处的函数值,并将其添加到该特定过滤器的总和。大多数x轴值都有两个滤波器存在,因此在每个x位置都有两个滤波器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top