/ / Czy jest możliwe (i jak) określenie endianizmu pliku audio AIFF? - java, audio, endianness, aiff

Czy jest możliwe (i jak) określić endianness pliku audio AIFF? - java, audio, endianness, aiff

Pracuję na importerze audio w JAVA (używanym w sekwencerze perkusyjnym) i mam następujący problem z importowaniem plików AIFF:

Mam 2 pliki AIFF tego samego typu (24 bity, 44100 kHz, mono), jeden jest tworzony na komputerze Mac, drugi jest tworzony za pomocą wavelab na komputerze z systemem Windows. Oba pliki są nieskompresowane PCM, oba mają FORMULARZ == AIFF.

AIFF z komputera Mac to BigEndian (tak jak powinien), AIFF z Wavelab (Windows) to LittleEndian.

Oba pliki mogą być poprawnie odtwarzane w Wavelab(Windows), a także w Quicktime (Windows). Jak te narzędzia mogą wykryć endianizm tych plików? W każdym razie musi to być możliwe, w przeciwnym razie co najmniej jeden z plików brzmiałby jak szum (tak dzieje się w mojej aplikacji).

Czy w nagłówku pliku znajdują się jakieś ukryte informacje lub jakikolwiek inny sposób określania endianizmu pliku AIFF? Jakieś sugestie?

Wielkie dzięki

Odpowiedzi:

3 dla odpowiedzi № 1

Szybkie wyszukiwanie w Google mówi, że pliki AIFF są duży endian.

Jednak według Wikipedia istnieje inny format o nazwie AIFF-C, który kompresuje dane. Apple używa obecnie trochę endianu i stworzył fałszywą metodę kompresji o nazwie sowt co w zasadzie oznacza „brak kompresji, ale mały endian”. Być może będziesz musiał to sprawdzić.

Poza tym zwykły AIFF nie daje możliwości sprawdzenia endianizmu. Standardowy AIFF zakodowany w małym endianie wydaje się naruszać specyfikację.