我想做精确的吉他调音器,这通常是由许多人通过计算 FFT 并获得峰值来完成的。但由于以下几个原因,这是低效的:
- 离散精度,为调整低音吉他提供了不足的分辨率。
- 尝试增加缓冲区大小(和/或采样率)时,计算时间和复杂性高。引入可见的延迟(滞后)。
- 集中所有 FFT 精度的大部分频率范围都未被使用。1-2 khz 以上的一切都不适用于调音乐器。
对于具有单频正弦形状的信号,应该有更简单的方法。给定足够小的缓冲区(比如 96khz 采样率的 256 个样本) - 你如何测量基本(低)频率?
简而言之:如何找到频率F
,以便“频率的正弦信号F
”和“实际记录的信号”的差异会产生最小的误差,而不是任何频率,除了F
?(所以我们可以明确地得出结论,频率的正弦曲线F
是录制声音缓冲区的最佳近似值)。
PS。任何东西,但不使用 FFT!