我想用Java讀取wav文件,我將用K-means對它們進行分類。在Java中讀取wav文件
我該如何讀取Java中的wav文件,並將它們分配到一個數組或類似的東西(你可以建議它的想法)來分類它們?
編輯:我想用API讀取wav文件和K-means。使用多重序列比對(Wiki)創建的距離
我想用Java讀取wav文件,我將用K-means對它們進行分類。在Java中讀取wav文件
我該如何讀取Java中的wav文件,並將它們分配到一個數組或類似的東西(你可以建議它的想法)來分類它們?
編輯:我想用API讀取wav文件和K-means。使用多重序列比對(Wiki)創建的距離
本文由A Greensted:Reading and Writing Wav Files in java應該是有幫助的。 WavFile類非常有用,可以調整它來返回整個數據而不是緩衝碎片。
你可以讀取使用的javax聲音庫和的FileInputStream (found a nice example here) 和治療波文件作爲位向量(0,1)或字節的聲音文件..矩陣之間的每個比特/字節流,並從那裏,聚類應該是直截了當的。
的問題是,這種方法是將噪聲等非常敏感,但它是值得一試...
做一些降噪和可能的降採樣將是一個好主意。 +1。 – 2011-03-06 12:00:51
我做了一些研究,發現許多方法來讀取wav文件。我認爲閱讀來自特定文件夾的WAV文件的最簡單方法是:
private final String directoryOfSamples = "./res/semplai";
private ArrayList<File> samplesArray = new ArrayList<File>();
private final File folder = new File(directoryOfSamples);
public ReadSample()
{
samplesArray.addAll(Arrays.asList(folder.listFiles()));
testSample(getSamplesArray().get(0)); // testing if sample can be played from arrayList
}
我希望在某種程度上,這將幫助一些人。 讓我知道如果你不明白的東西。
我認爲這[線程](http://stackoverflow.com/questions/3297749/java-reading-manipulating-and-writing-wav-files)將幫助你開始。 – u449355 2011-03-06 11:24:09