Free 30-day trial. macOS first. Join the waitlist.
← Formats

.aif

Apple's audio container, and how its loops differ from WAV.

What it is

AIFF is the same idea as WAV with the bytes the other way round. The file opens with FORM and the word AIFF, then a series of chunks, each with a four character name and a length.

The difference that matters when you are reading one: every number in an AIFF is big endian. A parser written for WAV that is pointed at an AIFF does not fail cleanly, it reads plausible nonsense.

FORM ....AIFF
  COMM   18 bytes    channels, frames, bit depth, sample rate
  SSND   the audio
  MARK   optional    named positions in the file
  INST   optional    root note, and which markers the loop uses

What is inside

Loops work differently here. WAV writes the loop positions directly into its smpl chunk, while AIFF stores named markers in MARK and then has INST point at two of them by number.

MARK   marker 1 at frame 44100
       marker 2 at frame 88200
INST   sustain loop: begin marker 1, end marker 2

Vocabulary

Apple's extension is .aif on some files and .aiff on others. They are the same format, and the length is a leftover from filename limits rather than a difference in content.

AIFC, sometimes written .aifc, is the compressed variant. It uses the same container with a different form name, so a reader that only checks for FORM can walk straight into audio it cannot decode.

What reads it

Logic, Pro Tools, every macOS audio application, and most samplers on any platform. On Apple hardware it turns up as often as WAV.

The sample rate in COMM is an 80 bit extended floating point number, which is a type almost nothing else uses. It's ten bytes describing what is nearly always a round number like 44100, and it exists because the format predates the conventions that would have made it an integer.

Loops through markers

Because the loop is a pair of marker references, an AIFF can lose its loop in a way a WAV cannot: the INST chunk survives, the markers it points at do not, and the loop now refers to nothing.

It also means a marker is doing two jobs at once. Renaming or reordering markers in an editor can quietly repoint a loop, since the reference is by number rather than by position.

The limits

Chunk sizes are 32 bit, as in WAV, so the same four gigabyte ceiling applies.

There is no single agreed place for tempo or key. Where a WAV ecosystem grew conventions like ACID chunks, AIFF mostly did not, so that information usually lives in the filename or nowhere.