Можно ли (и как) определить порядковый номер аудиофайла AIFF? - PullRequest
2 голосов
/ 09 сентября 2011

Я работаю с импортером аудио в JAVA (используется в барабанном секвенсоре), и у меня возникает следующая проблема с импортом файлов AIFF:

У меня есть 2 файла AIFF одного типа (24 бита, 44100 кГц, моно), один создается на Mac, другой - с помощью wavelab на компьютере с Windows. Оба файла несжатые PCM, оба формата FORM == AIFF.

AIFF от Mac - BigEndian (как и должно быть), AIFF от Wavelab (windows) - LittleEndian.

Оба файла могут правильно воспроизводиться в Wavelab (Windows), а также в Quicktime (Windows). Как эти инструменты могут определить порядок этих файлов? В любом случае это должно быть возможно, иначе хотя бы один из файлов будет звучать как шум (вот что происходит в моем приложении).

Есть ли какая-то скрытая информация в заголовке файла или какой-либо другой способ определения порядка следования файла AIFF? Есть предложения?

Большое спасибо

1 Ответ

3 голосов
/ 09 сентября 2011

Быстрый поиск в Google гласит, что файлы AIFF big endian .

Однако согласно Википедии существует другой формат, называемый AIFF-C, который сжимает данные. В наши дни Apple использует метод с прямым порядком байтов и создал поддельный метод сжатия с именем sowt , который по сути означает «без сжатия, но с прямым порядком байтов». Возможно, вам придется проверить это.

Кроме того, обычный AIFF не позволяет проверять порядок байтов. Стандартный AIFF, закодированный в порядке с прямым порядком байтов, кажется, нарушает спецификацию.

...