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。
任何帮助表示赞赏!谢谢 :)
那是因为mel-frequency cepstral coefficients是在窗口上计算的,即样本数。声音是波浪,人们不能通过采用单个样本(数字)来获得任何特征,因此窗口。
为了计算MFCC,使用快速傅立叶变换(FFT)并且确切地要求提供窗口的长度。如果检查mfcc的librosa文档,则不会将其作为显式参数。那是因为它隐含着,特别是:
它们作为**kwargs
传递并定义here。
如果您现在考虑音频的采样频率和这些数字。您将获得您提供的最终结果。
由于librosa的默认采样率是22050,音频长度是48s,窗口等于512,下面是:
这个数字并不完全是2086
,因为: