我正在尝试使用NOVOCAINE构建一个10波段均衡器。
我在viewWillAppear
中复制了Equaliser.mm的代码,并在xib文件中添加了9个滑块,并更改了IBAction
代码:
-(void)HPFSliderChanged:(UISlider *)sender {
PEQ[sender.tag - 1].centerFrequency = sender.value;
NSLog(@"%f",sender.value);
}
我想知道的是,我是否以正确的方式这样做?以及滑块的范围是什么?与HPF
示例中一样,滑块范围为2k到8k。这里需要一些指导。
感谢。
答案 0 :(得分:0)
获取代码以实例化NVPeakingEQFilter
:
NVPeakingEQFilter* PEQ = [[NVPeakingEQFilter alloc] initWithSamplingRate:self.samplingRate];
PEQ.Q = QFactor;
PEQ.G = gain;
PEQ.centerFrequency = centerFrequencies;
您需要定义3个参数:Q,G和centerFrequency。 Q和centerFrequency都是固定的(在我的情况下,QFactor是一个等于2.0的常量)。
所以,你有10个滑块:每个滑块对应一个固定的centerFrequency
。我建议iTunes值:32Hz,64Hz,125Hz,250Hz,500Hz,1KHz,2KHz,4KHz,8KHz,16KHz。滑块值更改时,您不希望更改这些值。
滑块值更改时要更改的是增益(G)。在初始时,G可以设置为0.0。这意味着“没有放大/衰减”。
当滑块移动时,你改变G,所以实际上你会这样做:
PEQ[sender.tag - 1].G = sender.value * kNominalGainRange;
其中kNominalGainRange为12.0,因此如果sender.value
从-1.0变为+1.0,则G从-12变为+12。
希望这有帮助。
我想知道的是,我是否以正确的方式这样做?
您没有显示太多代码,但HPFSliderChanged
似乎是正确的。如果您有任何特定问题,您应该对其进行描述并发布更多代码。
以及滑块的范围是什么?
实际上,当达到均衡器时,没有严格的规则。 iTunes从-12db变为+ 12db,但你可以使用不同的范围(唯一需要注意的是失真)。
与HPF示例类似,滑块范围为2k到8k。这里需要一些指导。
再次,你可以以iTunes均衡器为例(32Hz,64Hz,125Hz,250Hz,500Hz,1KHz,2KHz,4KHz,8KHz,16KHz),或者你可以谷歌搜索真实均衡器的图像,看看他们使用哪些波段