Wav文件作为频率图像

时间:2010-11-18 11:25:08

标签: java audio

我想将wav文件显示为图像,因此频率会在屏幕上绘制,就像您在wav编辑器中看到的那样。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

这是一个粗略的答案,您需要对这些关键字进行更多调查......首先您需要 FFT函数http://en.wikipedia.org/wiki/FFT),我建议您尝试一下找到一个lib或源代码,不需要重新发明轮子。然后将该FFT函数应用于移动窗口。所以:

  1. 从您的wav文件
  2. 中获取n个样本
  3. 使用FFT函数转换它们,
  4. 将fft值转换为绝对值(即频谱
  5. 移动m-samples
  6. 回到1。
  7. 最后,每个窗口代表x值(时间),频谱值代表y值(频率)。这样你就有了自己的形象。

    我希望这是中途可以理解的。只用几句话就很难解释。祝好运。 : - )

答案 1 :(得分:0)

有关示例,请参阅Swing Hacks中的Chapter 10 Page 379

请注意,它不会显示信号中的频率。您可能想要绘制音频信号的幅度,就像wav编辑器那样。