我正在使用 python 2.7 来比较吉他刺痛的音调差异。我在dsp.stackexchange.com上问过同样的问题,但运气不佳,所以我想我也会在这里问。
我发现在 matplotlib 中,有一些很棒的内置功能,例如 matplotlib.mlab.magnitude_spectrum 和 matplotlib.mlab.psd
幅度谱函数似乎很简单,因为它是信号的 FFT,显示每个特定的谐波。然而,在比较各种吉他弦时,很难确定每个峰值进行比较。PSD 函数提供了非常漂亮的平滑图形,非常适合进行明显的视觉比较。
我的理解是 PSD 对随机信号很有用,但不一定对已知信号有用。这是真的?有什么理由我不应该使用 PSD 来比较吉他弦吗?
下面是使用 PSD 和幅度谱的 1 秒吉他拨弦效果:
请注意,这些是同一弦的弹奏,而不是不同的弦。在比较各种字符串之前,我试图确保我的弹奏是一致的。