Audio 智能手机上音符的音高识别,pt。2.

Audio 智能手机上音符的音高识别,pt。2.,audio,signal-processing,fft,fftw,Audio,Signal Processing,Fft,Fftw,作为我上一篇文章的后续,如果我想让我的智能手机应用程序检测到某个音符,我只需要知道传入的声音是否就是那个音符,并带有一定的模糊性,以允许音符在x美分的时候关闭键 考虑到这一点,在速度和准确性方面是否有一种优于其他方法的方法?也就是说,通过知道你要找的便条是,比如说,a#C3,如何最好地判断该便条是否存在?我假设寻找一个音符比分离出所有波形,然后查看基频的结果更容易 在回答我最初的问题时,一位受访者表示,如果你知道笔记在一定范围内,自相关可能会很好地工作。我想知道如果你只需要检查某个音符(+/-x

作为我上一篇文章的后续,如果我想让我的智能手机应用程序检测到某个音符,我只需要知道传入的声音是否就是那个音符,并带有一定的模糊性,以允许音符在x美分的时候关闭键

考虑到这一点,在速度和准确性方面是否有一种优于其他方法的方法?也就是说,通过知道你要找的便条是,比如说,a#C3,如何最好地判断该便条是否存在?我假设寻找一个音符比分离出所有波形,然后查看基频的结果更容易

在回答我最初的问题时,一位受访者表示,如果你知道笔记在一定范围内,自相关可能会很好地工作。我想知道如果你只需要检查某个音符(+/-x美分)的存在与否,那么自相关是否会工作得更好

这些方法包括:

  • 接吻
  • FFTW
  • 离散小波变换
  • 自相关
  • 过零分析
  • 倍频程间隔滤波器
  • 载重吨

如果您有任何想法,我们将不胜感激。

正如您所描述的,您只需确定是否存在特定的音调。一个非常简单(快速)的检测器只需记录波形的一个周期的等效值,然后记录另一个周期并将它们关联起来,就像一个过于简单(单滞后)的自相关。如果有一个高匹配,你知道被记录的波形是重复在大约相同的周期,或它的谐波

例如,要检测1 kHz,记录1 ms的音频(48 kHz时记录48个样本),然后再记录1 ms,并进行比较(相关=将所有样本相乘并求和)。如果它们排列在一起(相关性高于某个阈值),则您正在收听1 kHz、2 kHz、3 kHz或其他倍数。做几次练习会让你在比赛中更有信心


真正的自相关会告诉你哪一个谐波对你来说很重要。

正如你所描述的,你只需要确定是否存在特定的音调。一个非常简单(快速)的检测器只需记录波形的一个周期的等效值,然后记录另一个周期并将它们关联起来,就像一个过于简单(单滞后)的自相关。如果有一个高匹配,你知道被记录的波形是重复在大约相同的周期,或它的谐波

例如,要检测1 kHz,记录1 ms的音频(48 kHz时记录48个样本),然后再记录1 ms,并进行比较(相关=将所有样本相乘并求和)。如果它们排列在一起(相关性高于某个阈值),则您正在收听1 kHz、2 kHz、3 kHz或其他倍数。做几次练习会让你在比赛中更有信心


真正的自相关会告诉你哪种谐波对你很重要。

你能更详细地描述这个问题吗?你要用麦克风听,当它听到一个特定的音调时激活它?或者你想写一个吉他调谐器?或者你想写一个音乐转录员?这种音调是由你控制的人声、乐器、发射机产生的吗?它需要是一个特定的波形(正弦、正方形)或任何具有正确频率的东西吗?etc etcI想用(我希望的)乐器演奏的音符,甚至可能是哼唱的音符来控制我的软件。啊。很好地识别一个特定的音调(而不是它的谐波或次谐波之一)并不是一件小事。例如,喇叭的谐波比基音强。但是已经为你做了很多工作。我想,只要搜索“音高估计”,你能更详细地描述一下这个问题吗?你要用麦克风听,当它听到一个特定的音调时激活它?或者你想写一个吉他调谐器?或者你想写一个音乐转录员?这种音调是由你控制的人声、乐器、发射机产生的吗?它需要是一个特定的波形(正弦、正方形)或任何具有正确频率的东西吗?etc etcI想用(我希望的)乐器演奏的音符,甚至可能是哼唱的音符来控制我的软件。啊。很好地识别一个特定的音调(而不是它的谐波或次谐波之一)并不是一件小事。例如,喇叭的谐波比基音强。但是已经为你做了很多工作。我想,只要搜索“音高估计”就行了。这听起来是一种快速的方法,但我想测试超过3或4个八度的50个左右的音符中的任何一个。实际上,我想让用户设置一些“模糊性”,这样笔记可以减少一些美分。这是否意味着只做FFT并查看结果频率可能比使用自相关更好。我认为自相关会更好,因为它匹配整个波形。使用FFT,您需要确定哪一个最大值对应于波的基频。对于较大的自相关(匹配低频),实际上可以通过FFT来加速自相关。:)但我认为对于少量的样本,一个“幼稚”的实现可能会很快,而且“模糊性”是内置的。如果你在寻找100赫兹,而波是98赫兹,它仍然会匹配,只是不一样。这听起来是一个快速的方法,但我想测试超过3或4个八度的50个左右的音符中的任何一个。实际上,我想让用户设置一些“模糊性”,这样笔记可以减少一些美分。这是否意味着只做FFT并查看结果频率可能比使用自相关更好。我认为自相关会更好,因为它匹配整个波形。