gpt4 book ai didi

cocoa-touch - AVAudioUnitEQ/.BandPass 滤波器不起作用

转载 作者:可可西里 更新时间:2023-11-01 01:06:45 24 4
gpt4 key购买 nike

我无法让 AVAudioUnitEQ 工作。

这里有一段代码应该过滤掉除 659.255Hz +/-0.05 倍频程之外的所有内容:

// 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)

但是,当我运行它、戴上耳机并对着麦克风唱歌时,我可以清楚地听到自己的声音。

现在,根据维基百科,带通滤波器是:

... a device that passes frequencies within a certain range and rejects (attenuates) frequencies outside that range.

我做错了什么?我想过滤掉给定频率范围以外的所有内容。

最佳答案

这是您的 EQ 参数。

我创建了一个 github project带有 slider 和开关。你可以听出区别。试试吧。

关于cocoa-touch - AVAudioUnitEQ/.BandPass 滤波器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25688556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com