簡體   English   中英

AudioKit - 如何使用 AKAmplitudeTracker 閾值回調?

[英]AudioKit - How to use AKAmplitudeTracker threshold callback?

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

我嘗試使用halfPowerPointthreshold值,但即使使用非常低的值,我也找不到打印任何內容的方法:/

而當我打印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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM