Можно ли (и как) определить порядковый номер аудиофайла AIFF?
Я работаю с Audio Importer в 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 ответ
Быстрый поиск в Google говорит, что файлы AIFF имеют большой порядок байтов.
Однако, согласно Википедии, существует другой формат, называемый AIFF-C, который сжимает данные. В наши дни Apple использует метод с прямым порядком байтов и создал поддельный метод сжатия с именем sowt, который по сути означает "без сжатия, но с прямым порядком байтов". Возможно, вам придется проверить это.
Кроме того, обычный AIFF не предоставляет возможности проверки порядка байтов. Стандартный AIFF, закодированный в порядке с прямым порядком байтов, кажется, нарушает спецификацию.