Я использую библиотеку AudioKit вместе со Swift для разработки простого приложения для 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,000 Гц (например, 2,0000/500/ и т. д.) для отфильтрованной частоты.
На веб-сайте AudiKit есть несколько примеров использования фильтров. Но я не могу найти примеров, как применять фильтры на входном микрофоне, чтобы получить отфильтрованную частоту? http://audiokit.io/playgrounds/Filters/
Я что-то делаю не так?
Действительно ли это функциональность фильтров AudioKit или я не правильно понял фильтры?
Есть ли другой способ фильтрации частотных диапазонов?