音频处理 - 如何创建频谱音高显示?

信息处理 声音的 频谱图 音频处理 沥青 嗓音
2022-02-17 12:15:14

我想创建一个分析人类语音音高的应用程序,但频谱图非常嘈杂。但是,在 Adob​​e Audition 中,有一个称为频谱音高显示的功能,它成功地过滤了频谱图,以便只显示相关的音高信息。这种类型的图叫什么?如果我想在代码中实现它,我应该从哪里开始搜索?

频谱音高显示示例:

在此处输入图像描述

同一音频片段的示例频谱图:

在此处输入图像描述

1个回答

您通常可以通过更改 STFT/FFT 的长度、偏移和重叠来权衡频谱图中的时间与频率分辨率。

如果您为单个频谱图计算一组以上的 STFT/FFT(例如,一组较短的 FFT 以获得更好的时间分辨率,一组较长的 FFT 以获得更好的频率分辨率)您可以将这两个(或更多!)组组合成一个通过使用一组来控制另一组的显示(通过一些非线性函数)来制作单个图形。

但是,(感知的)音高和频谱频率不是一回事。

我为我的音乐频谱图应用程序尝试过的一些方法是使用音高估计器(自相关/ASDF/AMDF、倒谱、谐波积谱等之一)而不是仅使用固定长度的 FFT 频率估计器,并绘制在 STFT/FFT 频谱图上或顶部跟踪音高及其相关泛音。