AudioKit
包括一个跟踪信号幅度的好工具:AKAmplitudeTracker
该跟踪器可以通过thresholdCallback进行初始化,我想应该在达到阈值时触发该回调。
我正在使用MicrophoneAnalysis示例,但找不到触发我的回调的方法。
这是我的代码:
var mic: AKMicrophone!
var trackerAmplitude: AKAmplitudeTracker!
var silence: AKBooster!
AKSettings.audioInputEnabled = true
mic = AKMicrophone()
trackerAmplitude = AKAmplitudeTracker(mic, halfPowerPoint: 10, threshold: 0.01, thresholdCallback: { (success) in
print("thresholdCallback: \(success)")
})
trackerAmplitude.start()
silence = AKBooster(trackerAmplitude, gain: 0)
AudioKit.output = silence
我尝试使用
halfPowerPoint
和threshold
值,但是即使值很低,我也无法找到打印任何内容的方法:/而当我打印
trackerAmplitude.amplitude
时,我得到的值高于 0.01 有什么我想念的吗?
最佳答案
以下代码有效。经过AudioKit 4.9,Xcode 11.2,macOS Playground的测试。
这可能是AudioKit的问题,但是必须通过属性更改阈值以激活跟踪,如下所示...
import AudioKitPlaygrounds
import AudioKit
let mic = AKMicrophone()
AKSettings.audioInputEnabled = true
let amplitudeTracker = AKAmplitudeTracker(mic, halfPowerPoint: 10, threshold: 1, thresholdCallback: { (success) in
print("thresholdCallback: \(success)")
})
AudioKit.output = amplitudeTracker
try AudioKit.start()
amplitudeTracker.threshold = 0.01 // !! MUST BE SET VIA PROPERTY
amplitudeTracker.start()
mic?.start()
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
关于ios - AudioKit-如何使用AKAmplitudeTracker阈值回调?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59247698/