吉他调音频率

dre*_*gin 5 xcode frameworks frequency objective-c ios

我正在使用Objective-C为 iOS 制作吉他调音器。由于我是初学者,我正在努力收集有关它的所有资源和信息。我知道这样的理论(如果我错了,请纠正我):-

  1. 首先,我需要从麦克风获取输入。
  2. 然后需要应用apply FFT算法来获得频率
  3. 然后将频率音符的基频进行比较。

在堆栈和谷歌上搜索时,我发现人们谈论了很多关于AurioTouch 的例子,所以我看了一下这个例子,但是我无法弄清楚到底发生了什么,因为代码主要是用 C++ 返回的和指针,我至少现在无法理解。我还发现了EZAudio示例,这是一个很棒的示例,似乎工作正常,但根据我的研究,吉他的基频测量为:-

String  Frequency   
1 (E)   329.63 Hz
2 (B)   246.94 Hz
3 (G)   196.00 Hz
4 (D)   146.83 Hz
5 (A)   110.00 Hz
6 (E)   82.41  Hz
Run Code Online (Sandbox Code Playgroud)

从 EZAudioFFT 示例中,我得到了频率:-

String  Frequency   
1 (E)   333.02  Hz  
2 (B)   247.60  Hz   
3 (G)   398-193 Hz    (398 when start and 193 when end)
4 (D)   290-150 Hz    (290 when start and 150 when end)
5 (A)   333-215 Hz    (333 when start and 215 when end)
6 (E)   247-161 Hz    (247 when start and 161 when end)
Run Code Online (Sandbox Code Playgroud)

注意EZAudioFFT示例的一件事是显示最大频率。

所以我在这里问的是有没有人以前实施过这个并给我方向和关于这个主题的一些详细信息,所以将来没有人需要越来越多地研究来收集所有资源。我需要以下主题的帮助:-

  1. 什么是最好的方式来获得吉他弦的准确频率和库使用
  2. 哪种类型的频率需要像 maxFrequency 这样的吉他调音,是否有海拔、幅度的作用 (我对这个主题的信息较少)
  3. 获得正确的频率后该怎么办

如果我问一些愚蠢的问题,我将非常感谢任何帮助,并且我提前道歉,如果有人向我提供以 Objective-C 作为主要语言的信息,我会发现这个漂亮的示例,但我能够在Objective-C 并且能够编译令人惊叹的框架AudioKit可能是由于 Xcode 8.0 和一些快速问题。