我知道有很多关于在如此均衡的问题,但我没有得到我所期待。 我想要做的是这样的方式像调节音频采样的均衡器:
equalizer.eqAudio(audiosamples, band, gain)
我不知道如果是这样,我想是因为我在执行这些(我使用的过滤器,限幅器,压缩机,但没有把它们)方面知之甚少DSP确切的接口。
因此,谷歌搜索关于这一点,我读了我必须做一个FFT的样本,所以我得到每个频率数据的范围,而不是幅度,加工它,我想,然后进行FFT的逆的方式,使我再一次得到的结果音频样本。 我看着这个FFT的实现,发现JTransform为Java。 这图书馆称为离散余弦变换FFT算法相关(DCT)的实现。
我的问题是:
- 好吧,我是在正确的道路?
- 由于FFT给了我关于频率的数据,我要传递给FFT算法样品的一大块。 有多大这个块必须是?
- 是否有关于DSP编程,介绍均衡器一本好书?
谢谢!
有许多不同的方式,以获得均衡器,并为香农解释说,该IIR / FIR滤波器的方法是其中之一。 但是,如果你的目标是快速获得均衡器运行起来,去的FFT方法可能对你更容易,因为存在着丰富的参考实现。
至于你的FFT大小的问题,这取决于你想要什么样的频率分辨率的均衡器有。 如果选择的尺寸为16的,就会得到在从0等距隔开到fs / 2的频域9(8复杂+ 1个实数)信道。 所述第一围绕中心为0Hz,以及第九周围fs / 2的赫兹。 并注意,一些实现返回16个信道,其中所述高的部分是低的部分的镜像和复共轭版本。
至于均衡器功能的实现,乘以有用增益每个信道。 如果频谱具有镜像的一部分,反映了收益也是如此。 如果做不到这一点,下面的IFFT的结果将不会是一个真正有价值的信号。 乘法之后,应用IFFT。
作为对FFT和基于滤波器均衡器之间的差异,请记住,一个FFT是简单地计算一组FIR滤波器的与正弦作为脉冲,临界采样(下采样与过滤器长度)和均匀间隔的中心频率的快速方法。
问候
我不认为这是需要使用FFT的音频均衡。 我会用IIR或FIR滤波器实施EQ。
常用推荐的参考是食谱公式音频EQ双二阶滤波器系数 。
一个java教程编程双二阶滤波器。 http://arachnoid.com/BiQuadDesigner/index.html
是否有关于DSP编程,介绍均衡器一本好书?
了解数字信号处理是一个很好的介绍DSP。 上有FIR和IIR滤波器的章节。
Intoduction到数字带音频应用程序筛选器由朱利叶斯·史密斯O. III。
图形均衡器设计采用高阶递归滤波器由马丁Holters和UDO Zolzer是一份简短的报告,详细说明一个均衡滤波器设计方法。