最小样本大小的音高检测算法

信息处理 小波 音乐 沥青
2022-01-29 15:20:31

我正在寻找一种使用最少样本数的音高检测算法。

我不在乎处理时间。

我希望在音频信号上使用它。

我曾尝试使用http://online.physics.uiuc.edu/courses/phys193/NSF_REU_Reports/2005_reu/Real-Time_Time-Domain_Pitch_Tracking_Using_Wavelets.pdf结尾处的那个,但获得体面估计的样本量非常高(可能是 4096 来锁定 440hz A 音符,这比我的 FFT 更糟糕)

假设超分辨率,我希望在 +/- 2hz 内进行预测。这样 440hz 的音调就不会比 438hz 差。

编辑:超分辨率范围。

1个回答

考虑尝试上采样或插值的 ASDF、AMDF、自相关或其他类似的周期性估计算法。

在信息论中存在时间与频率分辨率与噪声的权衡。在 44100 的采样率下,估计 440 Hz +-2 Hz 可能需要 2 到 6 次 44100/440 样本(以确定是否存在周期性或音调),最多 2.5 到 4 次 44100/2 样本(分离 2 个频谱瓣),具体取决于 S/N 比,以及该噪声环境是否需要加窗,或者是否允许在您的周期性估计器和/或 FFT 中进行子样本或子箱内插。

顺便说一句,调谐器的“超分辨率”通常被认为是 +-1 美分或更好,即使这低于除了跳动之外的正常人类可听度。