吉他调谐器频率

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

  1. 首先,我需要从麦克风获取输入。
  2. 然后需要应用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 

从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) 

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

所以我在这里问的是有没有人之前已经实现了这个,并给了我关于这个主题的方向和一些细节信息所以将来没有人需要研究越来越多来收集所有的资源。我需要以下主题的帮助: –

  1. 什么是获得吉他弦的准确频率和使用的库的最佳方法
  2. 哪种类型的频率需要调整吉他,如maxFrequency,是否有高度,幅度的作用 (我对此主题的信息较少)
  3. 获得正确的频率后该怎么办

任何帮助都会得到真正的赞赏,如果我问一些愚蠢的事情,我会提前道歉,如果有人向我提供以Objective-C为主要语言的信息,我会发现这个美丽的例子但是我能够实现它Objective-C和编译惊人的框架AudioKit可能是由于Xcode 8.0和一些快速问题。