我正在尝试构建一个简单的调谐器或一些简单的应用程序来记录声音然后发回声音的频率。这可用于查找声音是什么音符(如在吉他调音器中),但我主要是希望简单地录制声音并让应用程序发回声音的频率。有人能指出我正确的方向吗?我读过一些关于 FFT 或其他东西的东西,但我有点菜鸟。我查看了谷歌,但无法找到太多关于此的信息,但有人谈论他们制作的应用程序和一些我不知道该怎么做的代码。
好的,刚才我正在查找可能有帮助的内容:http : //audiokit.io/。这可能是简单的解决方案,但再次不确定这是否是大多数人会做的。
所以我设法导入了audiokit。问题是我似乎无法让代码工作来仅在发出声音时显示频率。这是代码
import UIKit
import AudioKit
class ViewController: UIViewController {
@IBOutlet weak var frequencyLabel: UILabel!
let mic = AKMicrophone()
override func viewDidAppear(animated: Bool) {
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib
let tracker = AKFrequencyTracker.init(mic, minimumFrequency: 200, maximumFrequency: 2000)
var silence = AKBooster(tracker, gain: 0)
AudioKit.output = silence
AudioKit.start()
if tracker.amplitude > 0.1 {
frequencyLabel.text = String(format: "%0.1f", tracker.frequency)
}
} …Run Code Online (Sandbox Code Playgroud)