Au file format


The Au file format is a simple audio file format introduced by Sun Microsystems. The format was common on NeXT systems and on early Web pages. Originally it was headerless, being simply 8-bit μ-law-encoded data at an 8000 Hz sample rate. Hardware from other vendors often used sample rates as high as 8192 Hz, often integer multiples of video clock signal frequencies. Newer files have a header that consists of six unsigned 32-bit words, an optional information chunk and then the data.
Although the format now supports many audio encoding formats, it remains associated with the μ-law logarithmic encoding. This encoding was native to the SPARCstation 1 hardware, where SunOS exposed the encoding to application programs through the /dev/audio interface. This encoding and interface became a de facto standard for Unix sound.

New format

All fields are stored in big-endian format, including the sample data.
32 bit word fieldDescription/Content Hexadecimal numbers in C notation
0magic numberthe value
1data offsetthe offset to the data in bytes, must be divisible by 8. The minimum valid number is 24, since this is the header length with no space reserved for extra information. The minimum valid number with an annotation field present is 32.
2data sizedata size in bytes. If unknown, the value should be used.
3encodingData encoding format:
  • 1 = 8-bit G.711 μ-law
  • 2 = 8-bit linear PCM
  • 3 = 16-bit linear PCM
  • 4 = 24-bit linear PCM
  • 5 = 32-bit linear PCM
  • 6 = 32-bit IEEE floating point
  • 7 = 64-bit IEEE floating point
  • 8 = Fragmented sample data
  • 9 = DSP program
  • 10 = 8-bit fixed point
  • 11 = 16-bit fixed point
  • 12 = 24-bit fixed point
  • 13 = 32-bit fixed point
  • 18 = 16-bit linear with emphasis
  • 19 = 16-bit linear compressed
  • 20 = 16-bit linear with emphasis and compression
  • 21 = Music kit DSP commands
  • 23 = 4-bit compressed using the ITU-T G.721 ADPCM voice data encoding scheme
  • 24 = ITU-T G.722 SB-ADPCM
  • 25 = ITU-T G.723 3-bit ADPCM
  • 26 = ITU-T G.723 5-bit ADPCM
  • 27 = 8-bit G.711 A-law
4sample ratethe number of samples/second, e.g., 8000
5channelsthe number of interleaved channels, e.g., 1 for mono, 2 for stereo; more channels possible, but may not be supported by all readers.
The type of encoding depends on the value of the "encoding" field. Formats 2 through 7 are uncompressed linear PCM, therefore technically lossless. Formats 1 and 27 are μ-law and A-law, respectively, both companding logarithmic representations of PCM, and arguably lossy as they pack what would otherwise be almost 16 bits of dynamic range into 8 bits of encoded data, even though this is achieved by an altered dynamic response and no data is actually "thrown away". Formats 23 through 26 are ADPCM, which is an early form of lossy compression, usually but not always with 4 bits of encoded data per audio sample. Several of the others are DSP commands or data, designed to be processed by the NeXT Music Kit software.
Note: PCM formats are encoded as signed data.
Following the header structure is a variable-length annotation field. The contents of this field are currently undefined, except that its length must be a multiple of eight bytes and it must be terminated with at least one null byte. The audio data segment begins on an eight-byte boundary immediately following the annotation field. Audio data is encoded in the format identified by the file header. The current implementation supports only a single audio data segment per file. The variable-length annotation field is currently ignored by most audio applications.