AudioKit包括一个很好的跟踪信号振幅的工具:AKAmplitudeTracker。
这个跟踪器可以使用一个thresholdCallback,我认为在达到阈值时应该触发回调。
我正在使用示例,无法找到触发回调的方法。
这是我的代码:
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
我遗漏了什么吗?
发布于 2019-12-22 13:05:27
下面的代码可以工作。使用AudioKit 4.9,Xcode 11.2,macOS游乐场进行测试。
这可能是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 = truehttps://stackoverflow.com/questions/59247698
复制相似问题