【问题标题】:How to take the first 13 coefficients in MFCC如何取MFCC中的前13个系数
【发布时间】:2013-07-06 02:40:14
【问题描述】:

我在使用 MFCC 时遇到了问题。我一步一步地按照教程进行操作。在步骤“窗口化”之后,我计算每一帧的 DFT。我的问题是:剩下的步骤,包括“Mel-filter bank”、“log”和“DCT”,是否适用于每一帧?我感到困惑,因为在“DCT”步骤中,我们将采用之前计算的前 13 个系数。那么我们必须采取哪些框架呢?我真的需要一个明确的解释:(

【问题讨论】:

    标签: c++ mfcc


    【解决方案1】:

    MFCC 是纯本地操作。它在每一帧上重复完成:for (auto f: frames) { std::vector<double> coeff = MFCC(f);。这意味着 MFCC 的每个部分也是重复完成的。

    【讨论】:

      【解决方案2】:

      首先我想推荐this 教程,如果你还没有看过的话。

      是的,你必须对EACH AND VERY FRAME应用DFT、Mel-filter bank、log和DCT,然后得到DCT的前13个系数。系数可以存储在 double 数组的数组中(比如 vector> mfcc)。然后每个 mfcc(i).size = 13 即每帧的前 13 个系数。 因此每个 mfcc(i) 将包含每帧的 13 个系数,mfcc 将是这 13 个系数的向量。

      我建议您使用 c++ 库进行 mfcc 提取,而不是从头开始。

      【讨论】:

      • 我正在阅读这个网站:D。可以给我你的gmail吗?如果我不明白,我会问你:D。谢谢:D!
      • 其实我也是这方面的初学者,已经开始用 C++ 实现语音识别,所以我想我也需要一些帮助。这是电子邮件 ID - tushardobhal23@gmail.com
      • 真是巧合:))。好的,现在我并不孤单:))。我的邮箱是:tuanit96@gmail.com
      猜你喜欢
      • 2012-11-28
      • 1970-01-01
      • 2011-10-19
      • 2017-07-07
      • 1970-01-01
      • 2020-03-25
      • 2017-02-06
      • 2017-08-03
      • 1970-01-01
      相关资源
      最近更新 更多