我正在尝试使用适用于iOS的AudioKit库构建简单的频谱分析仪:
黄线最大,红线当前-每秒更改10次。
问题是,前几个频率点的幅度值太高,我认为这是错误的。
代码(我删除了与AudioKit不相关的部分):
AppDelegate初始化:
mic = AKMicrophone()
fftTap = AKFFTTap.init(mic!)
tracker = AKFrequencyTracker.init(mic)
let silence = AKBooster(tracker, gain: 0)
AudioKit.output = silence
try! AudioKit.start()
Run Code Online (Sandbox Code Playgroud)
ViewController:
let micSampleRate = 44100
var tracker: AKFrequencyTracker!
var fftTap: AKFFTTap?
var maxValues = [Double](repeating: -400, count: 255)
let timeInterval = 0.1
var isPaused = true
let FFT_SIZE = 510
override func viewDidLoad() {
super.viewDidLoad()
tracker = (UIApplication.shared.delegate as! AppDelegate).tracker
fftTap = (UIApplication.shared.delegate as! AppDelegate).fftTap
let freqPreparedValue = self.micSampleRate * 0.5 / self.FFT_SIZE
Timer.scheduledTimer(withTimeInterval: timeInterval, …Run Code Online (Sandbox Code Playgroud)