执行命令提取 mfcc 后返回什么?

What is returning after executing command to extract mfcc?

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

从内部 mfcc docs is that it calls librosa.feature.melspectrogram 中不能立即看出什么。而melspectrogram有参数win_length/n_ffthop_length,它们定义了一个frame。您还可以将这些参数传递给 mfcc.

那么什么是框架?基本上,它是处理一堆原始样本的结果:假设 window 长度为 2048 个样本(这是默认值),跳跃长度为 512(也是默认值)[=15 返回的每个帧=] 对应 2048 个原始样本,比其前身多 512 个样本 "further along in the audio"。换句话说,帧之间存在明显的重叠。

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

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

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