首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用librosa的对数mel谱图

使用librosa的对数mel谱图
EN

Stack Overflow用户
提问于 2021-05-09 03:10:50
回答 1查看 1.3K关注 0票数 0

我遇到了使用librosa为音频文件生成log-mel频谱图的两种不同方法,我不知道它们在最终输出中为什么不同,哪一种是“正确的”,或者一种与另一种有多大的不同。

#1

代码语言:javascript
复制
path = "path/to/my/file"
scale, sr = librosa.load(path)
mel_spectrogram = librosa.feature.melspectrogram(scale, sr, n_fft=2048, hop_length=512, n_mels=10, fmax=8000)
log_mel_spectrogram = librosa.power_to_db(mel_spectrogram)
librosa.display.specshow(log_mel_spectrogram, x_axis="time", y_axis="mel", sr=sr)

#2

代码语言:javascript
复制
path = "path/to/my/file"
scale, sr = librosa.load(path)
X = librosa.stft(scale)
Xdb = librosa.amplitude_to_db(abs(X))
librosa.display.specshow(Xdb, sr=sr, x_axis='time', y_axis='hz')

相应的图像为:

**编辑**现在我将mel条柱的数量指定为= 64,我获得了如下所示的谱图:

如果我想处理许多这样的光谱图,我是否应该修剪上面的蓝色粗体部分,因为它对所有人都是常见的?粗体的深色区域代表什么?建议使用fmax参数来修剪它吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-09 16:50:38

第二个谱图不是mel谱图,而是STFT (有时称为“线性”)谱图。它拥有快速傅立叶变换的所有频段,(n_ FFT /2)+1个频段,1025个n_fft=2048频段。其中-因为mel频谱图应用了mel过滤器,从而将波段数减少到n_mels (通常为32-128),在您的示例中设定为10。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67451239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档