C ++

我想生成一起显示低频,中频和高频的波形:ala traktor for ipad http://www.dawsons.co.uk/blog/wp-content/uploads/2013/02/TRAKTOR_DJ_main-2_L.jpg

我已经设法使用fft获得音频的频率数据,然后基于频率范围(低:0-300Hz,中:300-2000Hz,高:2000Hz +)来总结频段中的幅度,但是当绘制时它们不相似相同声音的平常RMS图。

有人能给我一个关于Traktor波形如何生成的指针吗? 非常感谢!


我不会使用FFT数据来做这么简单的工作。 相反,请考虑通过3个简单的时域IIR滤波器来运行输入信号,将信息分解为低,中和高信号。 这导致3个时域信号易于绘图。 这种方法的优点是,您不必担心逆FFT过程会为您提供来自每个频段的时域波形。 它也应该是更少的处理器密集型,因为你正在做的一切在时间领域。

对于这个文件的第120行,我的一个github仓库中包含的二阶巴特沃斯带通滤波器有一些简单的代码,欢迎您将它用作起点。

链接地址: http://www.djcxy.com/p/5793.html

上一篇: c++

下一篇: Audio callback function is not called in time sometimes