シンプルなチューナーやシンプルなアプリケーションを構築してサウンドを録音してから、そのサウンドの周波数を返すようにしています。これは、ギターのチューナーのように音がどのような音であるかを調べるために使用できますが、私は主に音を録音して、その音の周波数を返すようにしています。誰かがこれについて正しい方向で私を指摘できますか?私はFFTやその他のことについていくつかのことを読んだことがありますが、私はちょっとしたノブです。私はgoogleを見てきましたが、これについて多くを見つけることができませんでしたが、誰かが作ったアプリについて話していて、何を作るべきかわからないコードがありました。シンプルなチューナーを構築しようとしています
さて、今私は助けるかもしれない何かを探していた: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)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
ショートバージョン:サンプルのfftの実数部を取り、最大振幅ビンを見つけます。これは支配的な周波数に対応します。コメントのために – Feldur
感謝します。 audiokit.ioを使用したソリューションで私を助けてくれますか?それはかなりシンプルなようですが、私のコードは何らかの理由で動作していません。 – bearsworth
誰かに修正を促すためには、動作していないコードを投稿してください。 – FredericP