Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 分频波形_C++_Audio_Signal Processing_Fftw_Waveform - Fatal编程技术网

C++ 分频波形

C++ 分频波形,c++,audio,signal-processing,fftw,waveform,C++,Audio,Signal Processing,Fftw,Waveform,我想生成同时显示低频、中频和高频的波形:用于ipad的ala traktor 我已经设法使用fft获得音频的频率数据,然后根据频率范围(低:0-300Hz,中:300-2000Hz,高:2000Hz+)总结存储箱中的振幅,但绘制时,这些与同一声音的通常RMS图不同 有人能给我一个关于Traktor波形是如何产生的指针吗? 非常感谢 我不会用FFT数据做这么简单的工作。相反,考虑通过3个简单的时域IIR滤波器来运行输入信号,该IIR滤波器将信息分割成低、中、高信号。这将产生3个易于绘制的时域信号。

我想生成同时显示低频、中频和高频的波形:用于ipad的ala traktor

我已经设法使用fft获得音频的频率数据,然后根据频率范围(低:0-300Hz,中:300-2000Hz,高:2000Hz+)总结存储箱中的振幅,但绘制时,这些与同一声音的通常RMS图不同

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

我不会用FFT数据做这么简单的工作。相反,考虑通过3个简单的时域IIR滤波器来运行输入信号,该IIR滤波器将信息分割成低、中、高信号。这将产生3个易于绘制的时域信号。这种方法的优点是,您不必担心逆FFT过程,它将为您提供每个频带的时域波形。它还应该减少处理器密集度,因为您在时域中做任何事情


我的一个github repos中包含了一些关于第120行的二阶Butterworth带通滤波器的简单代码,欢迎您作为起点使用。

感谢Nick,我将尝试实现此功能:)有关FFT不合适的原因的更多信息:以及关于基本音频EQ的教程:尼斯博文Bjorn,但愿我早点找到它@learnvst认为过滤是一种更好的方法,这是正确的。但是,如果您将来需要FFT,我强烈推荐MarkBorgerding的Kiss FFT()。与FFTW相比,它更容易使用,速度也更快,适用于任何可能的音频应用程序。你确定traktor正在展示这一点吗?在我看来,它看起来像是在显示峰值、RMS和其他东西(abs的意思)。我很确定低矮的线条是低音,也是最像RMS的线条。我认为中间的一个是高于低音的频率,但这是一个假设,因为我从未使用过iPad版本:)三波段rms假设是正确的(非常明显)——加上一些特殊成分和调整,以获得更好的外观,但这是秘密;)啊,安德烈,非常有趣!也许只有当变化低于临界值时,你才能使事情顺利进行?