【发布时间】:2010-04-11 20:09:46
【问题描述】:
为了解决一个棘手的问题(至少对我而言),我绞尽脑汁。
在播放音频文件(使用 Java)时,我希望根据时间显示信号幅度。
我的意思是我想实现一个显示某种示波器(频谱分析仪)的小面板。 应该在时域中查看音频信号(纵轴是幅度,横轴是时间)。
有人知道怎么做吗?有没有我可以依赖的好教程? 由于我对Java知之甚少,希望有人能帮助我。
更新:
基本上我想要的是幅度与时间的关系,而不是频率。 应该在时域中查看音频信号(纵轴是幅度,横轴是时间)。
【问题讨论】:
-
在频谱分析仪中,横轴是频率,而不是时间
-
如果您想要 "vertical axis:amplitude" 和 "horizontal axis: time" 就像您的问题中所述,那么您只需在时间 t 并且你有你的振幅。例如,如果您有一个 44 kHz、16 位的单声道 .wav 文件,那么索引 [44000] 处的 16 位 是时间 “1 秒” 处的幅度。通常,此类幅度/时间图显示几秒钟(甚至整个样本),并使用一个移动的垂直突出显示条来显示“音频文件所在的位置”(在那里,完成了)。这是你想要的吗?或者你需要一个FFT? (上个世纪在 Java 中去过那里,也做过;)
标签: java audio signals spectrum