我在 Android 应用商店中寻找吉他调音器。我发现一个调谐器应用程序声称它比其他应用程序更快。它声称它可以在不使用 DFT 的情况下找到频率(我希望我仍然拥有该规范的 URL)。
我从来没有听说过这个。您能否在不使用 DFT 或 FFT 算法的情况下获取音频信号并计算频率?
我在 Android 应用商店中寻找吉他调音器。我发现一个调谐器应用程序声称它比其他应用程序更快。它声称它可以在不使用 DFT 的情况下找到频率(我希望我仍然拥有该规范的 URL)。
我从来没有听说过这个。您能否在不使用 DFT 或 FFT 算法的情况下获取音频信号并计算频率?
FFT 报告与音高不同的频谱频率峰值(由 FFT bin 大小量化)。感知到的音高频率可能完全从 FFT 频谱中丢失。
一些最简单的吉他调音器只是使用低通或带通滤波并测量过零之间的时间。倒数给出频率估计。
自相关是另一种常见的音高估计方法。滑动相关或其他自相似度量有很多变化,例如滑动 ASDF(平方差)、AMDF(平均差)、非线性模式匹配器、仅针对有限滞后范围的自适应检查、滞后插值、加窗和自适应窗口选择、各种加权或使用决策理论在多个潜在滞后历史序列中进行选择等。大多数自相似性度量的一个问题是选择合适的倍频程,因为子倍频程可能显示出几乎相同的相似性。
其他可能性包括使用 PLL、滤波正交解调器、滤波希尔伯特变换等。
但请注意,某些 DSP 滤波和解调方法在计算上几乎等同于对窗口 DFT 进行 1-bin,这可能适合也可能不适合作为您问题的答案。
还可以看看相对较新的算法定义的 Hilbert-Huang 变换(HHT)。它可以处理可能与您的应用相关的非平稳非线性信号。