gpt4 book ai didi

audio - 除了FFT以外,还有没有其他方法可以实现Guitar Tuner?

转载 作者:行者123 更新时间:2023-12-03 00:13:04 26 4
gpt4 key购买 nike

我想做精确的吉他调音器,通常这是许多人通过计算FFT并获得峰值来完成的。但这是低电设备,原因如下:

  • 离散精度,不能为低音吉他调音提供足够的分辨率。
  • 尝试增加缓冲区大小(和/或采样率)时,计算时间长且复杂。引入可见延迟(延迟)。
  • 集中所有FFT精度的大部分频率范围都未使用。高于1-2 khz的所有内容均不适用于调音乐器。

  • 对于具有单频正弦波形的信号,应该有一种更简单的方法。给定足够小的缓冲区(例如,以96khz采样率进行256个采样)-如何测量基本(低)频率?

    简而言之:如何找到频率 F,以使“ 频率F 的正弦信号”与“ 实际记录的信号”之差将给 最小误差,而不是除 F以外的任何频率? (因此我们可以明确地得出结论,频率 F的正弦曲线是录制的声音缓冲区的最佳近似值)。

    PS。可以,但不使用FFT!

    最佳答案

    这是一种基于零交叉的简单方法。它依赖于能够将仪器信号映射到简单的正弦曲线。当信噪比很高时,这可能会正常工作,但不是非常可靠的方法。

  • 带通滤波器,用于围绕您要调音的基频。示例82.41 Hz,用于吉他上的低E弦。
  • 考虑最后N个样本的窗口。将其设置为ex 100ms,以每秒更新10次音调估计。
  • 使用阈值T执行过零检测。例如,可以将T设置为信号峰值的10%。计算每个零交叉之间的周期,并将它们收集在一个数组中。
  • 以周期的中位数获取音高估算值

  • 您还可以计算周期的分位数,以估计该方法的可靠性。如果他们给出的数字与中位数截然不同,则该方法效果不佳。

    可以通过在零交叉点上计算自相关来扩展该方法,如
    https://www.cycfi.com/2018/03/fast-and-efficient-pitch-detection-bitstream-autocorrelation/

    关于audio - 除了FFT以外,还有没有其他方法可以实现Guitar Tuner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52953264/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com