Имеет ли подписанный 24-битный файл данных файла wav или неподписанные байты?

Я пытаюсь написать программу, которая будет создавать 24-битные wav файлы с помощью java. Java-звук api не поддерживает 24-битный звук, поэтому я пытаюсь записать файл с нуля. Это началось как случайный интерес, но это стало эпическим поиском бит, байтов, знаков и фрагментов.

Имеется ли подписанный 24-битовый фрагмент данных wav файла или неподписанные байты?

Отсутствие Java-символов без знака вызывает разочарование. Я прочитал, что целые числа с маской в ​​виде масок можно использовать для представления неподписанных байтов, но мне интересно, как это будет отображаться в конечном результате в файл.

Извините, что расходился... мой вопрос: "Подписан ли 24-битный файл данных wav файла или неподписанные байты?"

В любом случае мне придется разобраться в этом подписанном/неподписанном бизнесе, но я не могу найти ответ на кусок данных в найденных ссылках.

2
задан Dave B. 31 марта '11 в 22:09
источник поделиться

2 ответов

Я также могу подтвердить, что 24-битные данные в файлах WAV подписаны (когда данные хранятся в формате WAVE_FORMAT_PCM). В более общем случае данные WAVE_FORMAT_PCM всегда подписываются EXCEPT, когда это 8 бит на выборку.

2
ответ дан garlon4 31 марта '11 в 22:28
источник поделиться

В соответствии с этим (и моим личным опытом) файлы Microsoft WAVE используют целые числа со знаком "2" для представления образцов PCM размером более 8 бит. По умолчанию байтовый порядок этих целых чисел малозначен.

Вы можете использовать soxi из пакета SoX, чтобы проверить это на своих тестовых файлах (у вас есть некоторые, не так ли?).

Обратите внимание, что файлы WAVE также могут содержать аудиоформаты, отличные от обычного PCM.

1
ответ дан thkala 31 марта '11 в 22:17
источник поделиться

Другие вопросы по меткам