Чтение wav-файла на Java - PullRequest
       12

Чтение wav-файла на Java

12 голосов
/ 06 марта 2011

Я хочу читать wav-файлы на Java и собираюсь классифицировать их с помощью K-средних.

Как я могу читать wav-файлы на Java и назначать их в массив или что-то в этом родепредложить идеи для этого) классифицировать их?

РЕДАКТИРОВАТЬ: Я хочу использовать API-интерфейсы для чтения файлов WAV и для K-средних.

Ответы [ 4 ]

18 голосов
/ 06 марта 2011

Эта статья A Greensted: Чтение и запись WAV-файлов на Java должна быть полезной.Класс WavFile очень полезен, и его можно настроить, чтобы он возвращал весь массив данных вместо буферизованных фрагментов.

3 голосов
/ 15 июля 2011
3 голосов
/ 06 марта 2011

Вы можете читать звуковые файлы, используя звуковую библиотеку javax и FileInputStream ( нашел хороший пример здесь ) и обрабатывать волновые файлы как вектор битов (0,1) или байтов .. с помощью множественного выравнивания последовательностей ( Wiki ) создать матрицу расстояний между каждым потоком битов / байтов и оттуда кластеризацией должно быть прямо вперед.

Проблема в том, что этот метод очень чувствителен к шуму и т. Д., Но он того стоит ...

0 голосов
/ 27 октября 2016

Я провел небольшое исследование и нашел много способов чтения 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
}

Надеюсь, это как-то поможет некоторым людям. Дайте мне знать, если вы что-то не поняли.

...