我对java还很陌生……我想绘制wav文件中的频率/时间图或样本图像。首先,我正在努力从Wav文件中获取原始数据数组,使用的是同样引用自Reading wav file in Java的AudioInputStream。我还尝试了引用http://www.labbookpages.co.uk/audio/javaWavFiles.html的WavFile类,但在测试时,我无法找到正确的包来满足"WavFile“-”无法找到符号“错误。为该示例提供的导入java.io.*;不满足此要求...
重申一下,我希望得到一个Wav文件的数组格式的原始数据。
我喜欢这方面的任何小例子,因为我从例子中学习要容易得多!耽误您时间,实在对不起
发布于 2012-05-20 00:52:47
跳过wav文件(标题)中的前44个字节,然后使用此函数读取数据:
private static double readLEShort(RandomAccessFile f) {
try {
byte b1 = (byte) f.read();
byte b2 = (byte) f.read();
return (double) (b2 << 8 | b1 & 0xFF) / 32767.0;
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}每个通道一个值。这将为您提供介于-1和1之间的数字,您可以在您的图表上绘制该数字。我希望这能行得通
发布于 2013-08-26 05:46:43
在我的Java DSP collection中有一个名为TestSignalPlot.java的测试程序,它可以显示WAV文件。它使用AudioIo.loadWavFile()将WAV文件内容加载到内存中,并使用SignalPlot类显示音频信号。所有类都是开源集合的一部分。
https://stackoverflow.com/questions/10667120
复制相似问题