Извлечь образцы из файла WAV в Java - PullRequest
0 голосов
/ 16 февраля 2012

Как извлечь необработанные сэмплы из записанного аудиофайла WAV с использованием Java?

Сайт, на который я ссылался, содержал некоторые примеры значений, подобные этому

Например, вот первые 72 байта файла WAVE, байты которого показаны в шестнадцатеричных числах:

52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 11 ce 1a 0d

Можно ли извлечь так? если да, пожалуйста, объясните это.

1 Ответ

2 голосов
/ 16 февраля 2012

Я однажды изучил идею прямой работы с байтами в файле wav и легко нашел форматы и спецификации с помощью поиска. Но оказывается, что может быть различное количество информации заголовка, которая не является необработанным PCM в файле WAV. И это казалось большим трудом, чем стоило выяснить все особенности.

Однако есть более простой способ. Вы можете читать wav как для воспроизведения (через AudioInputStream), но вместо отправки байтов в Clip или SourceDataLine, запишите их в ByteArrayOutputStream.

...