Draft date: 7/30/90
Apple Computer, Inc.


1.0 INTRODUCTION

The Audio Interchange File Format AIFF-C provides a standard for storing uncompressed or compressed sampled sounds. The format can store monaural or multichannel sampled sounds in a range of sample rates and sample widths. The format is extensible to handle new compression types and application-specific data.

AIFF-C is based on Audio IFF (AIFF) which conforms to the " EA IFF 85" Standard for Interchange Format Files developed by Electronic Arts.

AIFF-C is designed for interchange, although application designers should find it flexible enough to use as an everyday data storage format as well. If an application uses a different storage format, it can convert to and from the AIFF-C format defined here. This will facilitate the sharing of sound data between applications and across various computer platforms.

Data types

A C-like language will be used to describe data structures in this document. The data types used are listed below:

char:
8 bits, signed. A char can contain more than just ASCII characters. It can contain any number from -128 to 127 (inclusive).

unsigned char:
8 bits, unsigned. Contains any number from zero to 255 (inclusive).

short:
16 bits, signed. Contains any number from -32,768 to 32,767 (inclusive).

unsigned short:
16 bits, unsigned. Contains any number from zero to 65,535 (inclusive).

long:
32 bits, signed. Contains any number from -2,147,483,648 to 2,147,483,647 (inclusive).

unsigned long:
32 bits, unsigned. Contains any number from zero to 4,294,967,295 (inclusive).

extended:
80 bit IEEE Standard 754 floating point number (Standard Apple Numeric Environment [SANE] data type Extended ).

pstring:
Pascal-style string, one byte count followed by text bytes followed-when needed- by one pad byte. The total number of bytes in a pstring must be even. The pad byte is included when the number of text bytes is even, so the total of text bytes + one count byte + one pad byte will be even. This pad byte is not reflected in the count. ID: 32 bits, the concatenation of four printable ASCII character in the range ' ' (SP, 0x20) through '~' (0x7E). Spaces (0x20) cannot precede printing characters; trailing spaces are allowed. Control characters are forbidden. Upper/lower case is significant, that is, IDs are compared using a simple 32-bit equality check.

OSType:
32 bits. A concatenation of four characters, as defined in Inside Macintosh, vol II. Upper/lower case is significant, that is, OSTypes are compared using a simple 32-bit equality check.

Constants

Decimal values are referred to as a string of digits, for example 123, 0, 100 are all decimal numbers. Hexadecimal values are preceded by a 0x, e.g. 0x0A12, 0x1, 0x64.

Data Organization

All data is stored in Motorola 68000 format. Numbers are stored high-byte first, as follows:

Referring to Audio Interchange File Format AIFF-C

The official name for this standard is Audio Interchange File Format AIFF-C. If an application needs to present the name of this format to a user, such as in a "Save as..." dialog box, the name can be abbreviated to AIFF-C or Audio IFF-C.


[ Index | Next Paragraph ]