【问题标题】:How to get GFCC instead of MFCC in python?如何在 python 中获取 GFCC 而不是 MFCC?
【发布时间】:2019-09-29 05:03:49
【问题描述】:

今天我在 python 中使用来自 librosa 的 MFCC,代码如下。它给出了一个维度为(40,40)的数组。

import librosa

sound_clip, s = librosa.load(filename.wav)
mfcc=librosa.feature.mfcc(sound_clip, n_mfcc=40, n_mels=60)

有没有类似的方法从另一个库中提取 GFCC?我没有找到它 图书馆。

例如essentia:

https://essentia.upf.edu/documentation/essentia_python_tutorial.html https://essentia.upf.edu/documentation/reference/std_GFCC.html

import essentia
import essentia.standard

essentia.standard.GFCC

#Get array with dimension (40,40)

【问题讨论】:

    标签: python audio artificial-intelligence mfcc librosa


    【解决方案1】:

    https://github.com/jsingh811/pyAudioProcessing 提供 gfcc、mfcc、光谱和色度特征提取功能以及分类、交叉验证和超参数调整。 自述文件描述了入门方法以及如何运行分类的示例。

    【讨论】:

      【解决方案2】:

      我也遇到过类似的问题,因此我编写了一个名为spafe 的小型库,用于简化从音频文件中提取特征的过程。在支持的功能中,有 GFCC。提取过程如下:

      import scipy
      from spafe.features.gfcc import gfcc
      
      # read wav 
      fs, sig = scipy.io.wavfile.read("test.wav")
      
      # compute features
      gfccs = gfcc(sig, fs=fs, num_ceps=13)
      

      您可以在gfcc-features-example 下找到 GFCC 提取的完整示例(作为 jupyter-notebook)。

      所有可能的输入变量及其意义的文档可在以下位置获得:gfcc-docs

      gfcc 实现如下paper

      【讨论】:

      • 如何确定输出形状?我的意思是 num_ceps 可以通过参数 num_ceps 计算,但是如何获得 num_frames 的数量?另外,我注意到你的函数的结果是 librosa 的结果的转置,对吗?
      • 您可以使用gfccs.shape 计算输出矩阵的形状,这将返回二维输出矩阵形状(m, n),其中(m=帧数,n=num_ceps)。帧数可以根据输入波时长= len(sig)/fs、帧长度win_len和帧重叠win_hop计算。
      • 嗨 SuperKogito,你能告诉我在哪里可以找到 gtcc 特征提取代码吗?我可以用 gfcc 代替 gtcc 吗?谢谢
      • 这是代码:github.com/SuperKogito/spafe/blob/master/spafe/features/gfcc.py 请您改写第二个问题。
      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 2014-03-28
      • 2012-12-28
      • 2014-07-03
      • 2018-06-13
      相关资源
      最近更新 更多