from librosa.feature import mfcc
from librosa.core import load
def extract_mfcc(sound):
data, frame = load(sound)
return mfcc(data, frame)
mfcc = extract_mfcc("sound.wav")我想得到以下sound.wav文件的MFCC,它是48秒长的。
我知道data * frame = length of audio.
但是,当我像上面所示计算MFCC并得到它的形状时,结果是:(20, 2086)
这些数字代表什么?我如何计算音频的时间仅仅是通过它的MFCC?
我正在计算每毫秒音频的平均MFCC值。
任何帮助都是非常感谢的!谢谢您:)
发布于 2018-09-08 13:57:08
这是因为主频倒谱系数是通过窗口计算的,即样本数。声音是波,一个人不能通过一个样本(数字)得到任何特征,因此窗口。
为了计算MFCC,使用了快速傅里叶变换(FFT),而这恰恰要求提供窗口的长度。如果您检查mfcc的librosa文档,就不会发现它是一个显式参数。那是因为它是隐含的,特别是:
它们作为**kwargs传递,并定义为这里。
如果你现在考虑你的音频和这些数字的采样频率。你将得到你所提供的最终结果。
由于librosa的默认采样率为22050,音频长度为48s,窗口为512,如下所示:

这个数字不完全是2086,如:
https://stackoverflow.com/questions/52232839
复制相似问题