Jump to content

Audio Interchange File Format

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 63.226.248.97 (talk) at 04:54, 15 April 2008 (Added AIFC specification). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Audio Interchange File Format
Filename extension
.aiff
.aif
.aifc
Internet media type
audio/x-aiff
audio/aiff
Type codeAIFF
Uniform Type Identifier (UTI)public.aiff-audio
public.aifc-audio
Developed byApple Inc.
Type of formataudio file
Extended fromIFF (File format)

Audio Interchange File Format (AIFF) is an audio file format standard used for storing sound data for personal computers and other electronic audio devices. The format was co-developed by Apple Computer in 1988 [1] based on Electronic Arts' Interchange File Format (IFF, widely used on Amiga systems) and is most commonly used on Apple Macintosh computer systems. AIFF is also used by Silicon Graphics Incorporated.

The audio data in a standard AIFF file are uncompressed big-endian pulse-code modulation (PCM). There is also a compressed variant of AIFF known as AIFF-C or AIFC, with various defined compression codecs.

Standard AIFF is a leading format (along with SDII and WAV) used by professional-level audio and video applications, as unlike the better known lossy MP3 format, it is non-compressed (which aids rapid streaming of multiple audio files from disk to the application), and lossless. Like any non-compressed, lossless format, it uses much more disk space than MP3 -- about 10MB for one minute of stereo audio at a sample rate of 44.1k and a bit depth of 16 bits. In addition to audio data, AIFF can include loop point data and the musical note of a sample, for use by hardware samplers and musical applications.

The file extension for the standard AIFF format is .aiff or .aif. For the compressed variants it is supposed to be .aifc, but .aiff or .aif are accepted as well by audio applications supporting the format.

AIFF on Mac OS X

With the development of the Mac OS X operating system, Apple quietly created a new type of AIFF which is, in effect, an alternate little-endian byte order format.

Almost nothing is documented about the purpose of this — one source[citation needed] describes it as making the writing of data to audio CDs more efficient, but the then secret plans for transition to the Intel platform may explain both the format switch and the fact that it is an extremely obscure subject that has never been discussed explicitly by Apple.

Because the AIFF architecture has no provision for alternate byte order, Apple used the existing AIFF-C compression architecture, and created a "pseudo-compressed" codec called sowt. The only difference between a standard AIFF file and an AIFF-C/sowt file is the byte order; there is no compression involved at all.

Apple uses this new little-endian AIFF type as its standard on Mac OS X. When a file is imported to or exported from iTunes in "AIFF" format, it is actually AIFF-C/sowt that is being used. When audio from an audio CD disc is imported by dragging to the Mac OS X Desktop, the resulting file is also an AIFF-C/sowt. In all cases, Apple refers to the files simply as "AIFF", and uses the ".aiff" extension.

What meaning sowt may have as an acronym or abbreviation does not appear to be documented, but it is probably the reverse of "twos", the big-endian designation for twos-complement format.

For the vast majority of users this technical situation is completely unnoticeable and irrelevant. The sound quality of standard AIFF and AIFF-C/sowt are identical, and the data can be converted back and forth without loss. Users of older audio applications, however, may find that an AIFF-C/sowt file will not play, or will prompt the user to convert the format on opening, or will play as static.

All traditional AIFF and AIFF-C files continue to work normally on Mac OS X (including on the new Intel-based hardware), and many third-party audio applications continue to use the standard AIFF big-endian byte order.

Note: As of Mac OS X version 10.4.9, many programs are only able to export AIFF-C. QuickTime Pro, and Digital Performer 5.11 for example, will export AIF-C when AIFF is selected as the export format. This can be verified by highlighting any newly created AIFF, and selecting "Get Info" from the "File" Menu. This was not the case with OS 10.4.8 and earlier. This is not, however, observed in all programs. iTunes and Logic Express, for example continue to properly export AIFF files.

This change presents potential compatibility issues between systems which use only AIFF, and files written in OS 10.4.9 as AIFF-C. For example, the Alesis HD24 hard disk recorder can work with AIFF files; however, AIFF-C files, like those created in Mac OS X 10.4.9 are not compatible.

AIFF Apple Loops

Apple has also created another recent extension to the AIFF format in the form of Apple Loops[2] used by GarageBand and Logic Audio, which allows the inclusion of data for pitch and tempo shifting by an application in the more common variety, and MIDI-sequence data and references to GarageBand playback instruments in another variety.

AppleLoops use the .aiff (or .aif) extension regardless of type.

Data Format

An AIFF file is divided into a number of chunks. Each chunk is identified by a chunk ID more broadly referred to as FourCC.

Types of chunks found in AIFF files:

  • Common Chunk (required)
  • Sound Data Chunk (required)
  • Marker Chunk
  • Instrument Chunk
  • Comment Chunk
  • Name Chunk
  • Author Chunk
  • Copyright Chunk
  • Annotation Chunk
  • Audio Recording Chunk
  • MIDI Data Chunk
  • Application Chunk

See also