【问题标题】:What is returning after executing command to extract mfcc?执行命令提取 mfcc 后返回什么?
【发布时间】:2020-04-20 07:59:29
【问题描述】:

我一直在学习声音分析,并且在其中遇到了术语 mfcc。 所以当我执行 librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40) 我得到形状为 40 x 216 的 numpy 数组。 所以我知道我已经在 216 帧中提取了 40 个特征。 但是这里的 frames 到底是什么意思,它类似于采样率以及我们在加载音频文件时定义它的位置。

【问题讨论】:

    标签: python librosa mfcc soundfile


    【解决方案1】:

    mfcc docs 中没有立即明显看出的是它在内部调用librosa.feature.melspectrogram。而melspectrogram 有参数win_length/n_ffthop_length,它们定义了一个frame。您也可以将这些参数传递给mfcc

    那么什么是框架?基本上,它是处理一堆原始样本的结果:假设窗口长度为 2048 个样本(这是默认值)和 512 的跳跃长度(也是默认值)mfcc 返回的每个帧对应于 2048 个原始样本样本,是 512 个样本,比其前身“在音频中更进一步”。换句话说,帧之间有很大的重叠。

    例如,要为您的音频创建 mfcc,将帧定义为 1024 个样本和 512 跳长度,您可以调用:

    librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=40, hop_length=512, n_fft=1024)
    

    同样,如果您没有显式传递这些参数,则使用来自 melspectrogram 的默认值。

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多