AVAudioUnitEQ / .BandPass过滤器不工作 [英] AVAudioUnitEQ / .BandPass filter doesn't work
本文介绍了AVAudioUnitEQ / .BandPass过滤器不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法让 AVAudioUnitEQ
工作。
这里是一段应该过滤掉的代码除了659.255Hz +/- 0.05八度之外的所有东西:
Here's a piece of code that should filter out everything except 659.255Hz +/-0.05 octaves:
// Create Audio Engine
var audioEngine = AVAudioEngine()
// Create Equalizer Node
var equalizerNode = AVAudioUnitEQ(numberOfBands: 1)
var epualizerParameters: AVAudioUnitEQFilterParameters = equalizerNode.bands.first as AVAudioUnitEQFilterParameters
epualizerParameters.filterType = .BandPass
epualizerParameters.frequency = 659.255
epualizerParameters.bandwidth = 0.05
epualizerParameters.bypass = false
audioEngine.attachNode(equalizerNode)
// Configure Audio Engine
var format = audioEngine.inputNode.inputFormatForBus(0)
audioEngine.connect(audioEngine.inputNode, to: equalizerNode, format: format)
audioEngine.connect(equalizerNode, to: audioEngine.outputNode, format: format)
// Start Audio Engine
var error:NSError?
audioEngine.startAndReturnError(&error)
但是,当我运行它,
现在,根据维基百科,Band Pass过滤器是:
Now, according to Wikipedia, the Band Pass filter is:
...通过一定范围内的频率的设备,
拒绝(衰减)该范围之外的频率。
... a device that passes frequencies within a certain range and rejects (attenuates) frequencies outside that range.
我做错了什么?
推荐答案
这是你的EQ参数。
我用滑块和开关创建了一个 github项目。你可以听到差别。
尝试一下。
I created a github project with sliders and switches. You can hear the difference. Try it.
这篇关于AVAudioUnitEQ / .BandPass过滤器不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文