AudioKit - Как использовать частотные фильтры с микрофоном?

Я использую библиотеку 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 или я не правильно понял фильтры?
Есть ли другой способ фильтрации частотных диапазонов?


person Community    schedule 16.01.2018    source источник