执行命令提取 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_fft
和hop_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 中的默认值。
我一直在学习声音分析,并且在其中遇到了术语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_fft
和hop_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 中的默认值。