如何正确地将阵列正规化以绘制谱图

时间:2016-09-02 00:39:48

标签: signal-processing spectrogram

我已经为每个时间和频率获得了2D振幅阵列。但是,要绘制频谱图,像素强度应根据幅度水平(例如红色最高绿色最低)。

(我从FFT和sqrt得到幅度(实^ 2 + img ^ 2))

首先我将其转换为对数刻度10 * log10(幅度^ 2) (*我不确定当放大器为0时如何管理,不会出现错误)

然后,我只需找到Mix_amp并将所有元素缩放到0-1之间的值。

问题是。当从无噪声声音生成频谱图时,就像计算机生成的20-20kHz的清晰声音一样,我得到了一个很好的向上直线。然而,对于实际的歌曲,频谱图的特性似乎不够明显,因此当我想在后期阶段应用峰值发现时,它将变得困难。

我是否做了一些不适合这些流程的事情?

1 个答案:

答案 0 :(得分:0)

您可能无法在真实歌曲中找到单峰。

即,每个基波的和弦有3个或更多基音+谐波。

多种乐器也可能以不同的强度播放不同的音调。

而不是Max Amp通过窗口内的总功率进行标准化。如果频率包含的功率超过了该功率的x%,那么您就找到了峰值。

如果你有紧密的音调,你需要处理频谱泄漏。使用适当的窗口和/或更大的FFT可能有助于区分。