Algorithm 彩色乐器调谐器的鲁棒算法?

Algorithm 彩色乐器调谐器的鲁棒算法?,algorithm,audio,instruments,Algorithm,Audio,Instruments,谁知道彩色乐器调谐器最稳健的算法 我想写一个乐器调谐器。我尝试了以下两种算法: FFT创建韦尔奇周期图,然后检测峰值频率 一个简单的自相关() 我遇到了以下基本问题: 精度1:在FFT中,采样器、记录长度和箱子大小之间的关系是固定的。这意味着我需要记录1-2秒的数据,以获得几美分的准确度。这不完全是我所说的实时 准确度2:自相关效果更好一些。为了获得所需的几美分的精度,我必须引入样本的线性插值 鲁棒性:在吉他的例子中,我看到很多泛音。有些泛音实际上比弦产生的主音强。我找不到一个可靠的方法来选择正

谁知道彩色乐器调谐器最稳健的算法

我想写一个乐器调谐器。我尝试了以下两种算法:

  • FFT创建韦尔奇周期图,然后检测峰值频率

  • 一个简单的自相关()

  • 我遇到了以下基本问题:

  • 精度1:在FFT中,采样器、记录长度和箱子大小之间的关系是固定的。这意味着我需要记录1-2秒的数据,以获得几美分的准确度。这不完全是我所说的实时

  • 准确度2:自相关效果更好一些。为了获得所需的几美分的精度,我必须引入样本的线性插值

  • 鲁棒性:在吉他的例子中,我看到很多泛音。有些泛音实际上比弦产生的主音强。我找不到一个可靠的方法来选择正确的字符串

  • 不过,任何便宜的电子调谐器都比我的实现更健壮。
    这些调谐器是如何实现的?

    您还可以对FFT进行插值,并且可以经常使用高次谐波来提高精度。你需要知道一点产生的乐器的谐波,如果你能假设你离目标不到半个倍频程,那就更容易了,但即使没有,基频通常比第一次次次谐波强得多,也不会远低于一次谐波。一个简单的启发式应该让你选择基本频率


    我怀疑自相关方法是否能在所有仪器上都有效,但当你被一个基本频率抵消时,你应该得到一系列自相似性分数最高。如果你选两个,你应该会得到同样的分数(在不同谐波的噪声和差分阻尼范围内)。

    有一个非常酷的算法叫做。它不需要太多的CPU周期,而且非常精确。您基本上可以找到所有零交叉点,然后将其保存为二进制字符串。然后对字符串使用自相关。它的速度很快,因为您可以使用XOR而不是浮点乘法。

    在一个简单的启发式中使用谐波和次谐波确实有很大帮助。谢谢你,雷克斯。