【发布时间】:2015-03-26 21:00:54
【问题描述】:
我正在尝试在 Processing 中制作音乐可视化器,并不是说那部分非常重要,而且我正在通过 Minim 使用快速傅立叶变换。它运行良好(读取数据),但左(低音)端有一个大尖峰。解决这个问题的最佳方法是什么?
我的源代码是here,如果你想看看。
提前致谢,
-tlf
【问题讨论】:
-
这可能是由于您的信号中存在直流偏移。尝试在仍处于时域时减去信号的平均值(即,取您计划 fft 但在执行 fft 之前的波形的原始部分,将所有值相加,除以 N,然后减去该值从波形中的每个点......然后做FFT)。
-
嗯。什么?对不起,但我不知道那是什么意思。 XD 如果有帮助,我还编辑了我的问题以包含我的代码。
-
仔细查看您的数据,如果大尖峰仅在最后(即零频率),则忽略它(例如,将其设置为零)。该点对应于您的数据的平均值,这可能不是您在图中所追求的。这是 FFT 数学定义的结果,但很少有人真正关心它。
-
不。我以为这只是第一点。我稍后会尝试写一个包含更多细节的答案,但现在必须退出。同时我已经把你的情节放在你的问题中(因为我猜你不能用低代表),但它的信息量很大,所以请在它周围写一些解释性文字。
标签: java processing fft visualization