我正在使用带有Swift的 AudioKit 库开发一个简单的iOS应用程序,该应用程序应该能够收听3.000Hz - maybe 6000Hz
范围内的频率。
所以我想在这个范围内跟踪麦克风的输入频率,为了达到这个目的,我尝试在输入麦克风上应用滤镜效果 避免拾取几个不需要的噪音的频率。
var mic: AKMicrophone
var silence: AKBooster
var filter: AKHighPassFilter
var tracker: AKFrequencyTracker
public init() {
mic = AKMicrophone()
filter = AKHighPassFilter(mic)
filter.cutoffFrequency = 3000 // just get frequencyies above 3000Hz (highpass)
filter.resonance = 0
tracker = AKFrequencyTracker(filter)
silence = AKBooster(tracker, gain: 0)
}
func start() {
AKSettings.audioInputEnabled = true
AudioKit.output = silence
AudioKit.start()
}
func print() {
print(tracker.frequency)
}
总结一下:我知道滤波器正在改变某些东西 - 但我不能真正为3.000Hz +
范围应用频率滤波器,因为我还得到低于 3.000Hz的值(如2.0000 / 500 / etc) 表示已过滤的频率。
AudiKit网站已经包含了一些如何使用滤镜的示例 - 但我找不到示例如何在输入麦克风上应用滤镜以获得滤波频率? http://audiokit.io/playgrounds/Filters/ < / p>
我做错了什么事吗?
这真的是AudioKit过滤器的功能还是没有正确的滤波器感觉?
是否有其他方法可以过滤频率范围?