我想在Java中读取wav文件,并使用K-means算法进行分类。
如何在Java中读取wav文件并将它们分配到一个数组或类似的结构中(您可以提出建议)以进行分类?
编辑:我想使用API来读取wav文件和使用K-means算法。
官方的Java音频编程指南介绍了如何读取和写入音频文件。
A Greensted的这篇文章:在java中读写Wav文件应该会有所帮助。 WavFile类非常有用,可以对其进行调整以返回完整的数据数组,而不是缓冲片段。
我不确定这是否对某人有帮助。Java JDK已经提供了AudioSystem类。
我在测试中使用它来检查生成的WAV属性。
AudioFileFormat audioFileFormat = AudioSystem.getAudioFileFormat(new File(response.get()));
assertEquals(1, audioFileFormat.getFormat().getChannels());
assertEquals(8000.0, audioFileFormat.getFormat().getSampleRate(), 0.0f);
assertEquals(8, audioFileFormat.getFormat().getSampleSizeInBits());