File Description: AIFF, AIFF-C sound file
File Extension: Commonly .aif, sometimes .aiff or .aifc
File Byte Order: Big-endian, although some (little used) formats contain little-endian sound data
Prof. Peter Kabal, MMSP Lab, ECE, McGill University: Last update: 2015-02-24
The AIFF and the later AIFF-C specifications came from Apple Computer. This format is used on SGI machines. The latest data formats from Apple Computer are supported by the QuickTime player from Apple.
The AIFF and AIFF-C file formats use IFF chunks, each chunk consisting of a chunk identifier, chunk length and chunk data.
AIFF files support only PCM data. They can specify any bit depth within a container which has a size which is rounded up to a multiple of 8 bits. Thus they can specify, for instance, 18 bits in a 24-bit container. The data in the container is left justified and zero padded. Data can be read as if it were the full precision of the container. The chunk information and the data (in most cases) is in big-endian byte order.
AIFF-C files can specify a compression type in the
The compression type is
NONE for PCM data.
The compression type is accompanied by a printable name. The following is a table of common
|Compression Type||Compression Name||Data||Source|
||IEEE 32-bit float||Apple Computer|
||IEEE 64-bit float||Apple Computer|
||8-bit ITU-T G.711 A-law||Apple Computer|
||8-bit ITU-T G.711 µ-law||Apple Computer|
||8-bit ITU-T G.711 µ-law (64 kb/s)||SGI|
||8-bit ITU-T G.711 A-law (64 kb/s)||SGI|
||IEEE 32-bit float||SoundHack & Csound|
FVERchunk appears only in AIFF-C files.
fl64. Some systems also recognize the uppercase versions of these names.
ms??where the last two characters are the Microsoft Audio Compression Manager (ACM) code. For instance, Microsoft ADPCM, with ACM value of 1, is mapped to the code
ULAWcontain identical sound samples to the
ulawformats and were in use long before Apple introduced the new codes, QuickTime does not recognize them.
SSNDchunk) occurs at the end of the file.
COMMchunk is stored as an 80-bit IEEE float value.