Windows PowerShell command on Get-command au
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man au

File Formats au(4)

NAME

au - AU audio file format

SYNOPSIS

#include

DESCRIPTION

An AU audio file is composed of three parts: a header, an

optional description field, and a contiguous segment of

audio data. The header is 24 bytes, and the description

field is at least 4 bytes. Therefore, the offset for most AU files is 28 bytes. However, some people store additional data in the AU header.

The AU audio structure members and audio data are stored big

endian. That is, it starts with the most significant byte,

regardless of the native byte order of the machine architec-

ture on which an application may be running. Therefore,

multi-byte audio data may require byte reversal for proper

playback on different processor architectures. See the macro

section for properly reading and writing the AU audio struc-

ture members. The AU header is defined by the following structure:

struct au_filehdr {

uint32_t au_magic; /* magic number (.snd) */

uint32_t au_offset; /* byte offset to start of audio data */

uint32_t au_data_size; /* data length in bytes */

uint32_t au_encoding; /* data encoding */

uint32_t au_sample_rate; /* samples per second */

uint32_t au_channels; /* number of interleaved channels */

};

typedef struct au_filehdr au_filehdr_t;

The au_magic field always contains the following constant

for an AU audio file:

AUDIO_AU_FILE_MAGIC ( 0x2e736e64 ) /* ".snd" */

The au_offset field contains the length of the audio file

header plus the variable length info field. Consequently, it can be interpreted as the offset from the start of the file

to the start of the audio data.

SunOS 5.11 Last change: 15 Jan 2001 1

File Formats au(4)

The au_data_size field contains the length, in bytes, of the

audio data segment. If this length is not known when the

header is written, it should be set to

AUDIO_AU_UNKNOWN_SIZE, defined as follows:

AUDIO_AU_UNKNOWN_SIZE ( ~0 ) /* (unsigned) -1 */

When the au_data_size field contains AUDIO_AU_UNKNOWN_SIZE,

the length of the audio data can be determined by subtract-

ing au_offset from the total length of the file.

The encoding field contains one of the following enumerated keys:

AUDIO_AU_ENCODING_ULAW /* 8-bit u-law */

AUDIO_AU_ENCODING_LINEAR_8 /* 8-bit linear PCM */

AUDIO_AU_ENCODING_LINEAR_16 /* 16-bit linear PCM */

AUDIO_AU_ENCODING_LINEAR_24 /* 24-bit linear PCM */

AUDIO_AU_ENCODING_LINEAR_32 /* 32-bit linear PCM */

AUDIO_AU_ENCODING_FLOAT /* Floating point */

AUDIO_AU_ENCODING_DOUBLE /* Double precision float */

AUDIO_AU_ENCODING_FRAGMENTED /* Fragmented sample data */

AUDIO_AU_ENCODING_DSP /* DSP program */

AUDIO_AU_ENCODING_FIXED_8 /* 8-bit fixed point */

AUDIO_AU_ENCODING_FIXED_16 /* 16-bit fixed point */

AUDIO_AU_ENCODING_FIXED_24 /* 24-bit fixed point */

AUDIO_AU_ENCODING_FIXED_32 /* 32-bit fixed point */

AUDIO_AU_ENCODING_EMPHASIS /* 16-bit linear with emphasis */

AUDIO_AU_ENCODING_COMPRESSED /* 16-bit linear compressed */

AUDIO_AU_ENCODING_EMP_COMP /* 16-bit linear with emphasis

and compression */

AUDIO_AU_ENCODING_MUSIC_KIT /* Music kit DSP commands */

AUDIO_AU_ENCODING_ADPCM_G721 /* CCITT G.721 ADPCM */

AUDIO_AU_ENCODING_ADPCM_G722 /* CCITT G.722 ADPCM */

AUDIO_AU_ENCODING_ADPCM_G723_3 /* CCITT G.723.3 ADPCM */

AUDIO_AU_ENCODING_ADPCM_G723_5 /* CCITT G.723.5 ADPCM */

AUDIO_AU_ENCODING_ALAW /* 8-bit A-law G.711 */

All of the linear encoding formats are signed integers cen-

tered at zero.

The au_sample_rate field contains the audio file's sampling

rate in samples per second. Some common sample rates include 8000, 11025, 22050, 44100, and 48000 samples per second.

SunOS 5.11 Last change: 15 Jan 2001 2

File Formats au(4)

The au_channels field contains the number of interleaved

data channels. For monaural data, this value is set to one.

For stereo data, this value is set to two. More than two data channels can be interleaved, but such formats are

currently unsupported by the Solaris audio driver architec-

ture. For a stereo sound file, the first sample is the left track and the second sample is the right track. The optional info field is a variable length annotation field that can be either text or data. If it is a text description of the sound, then it should be NULL terminated. However, some older files might not be terminated properly. The size of the info field is set when the structure is created and cannot be enlarged later. Macros

Accessing all of the AU audio structure members should be

done through the supplied AUDIO_AU_FILE2HOST and

AUDIO_AU_HOST2FILE macros. By always using these macros,

code will be byte-order independent. See the example below.

EXAMPLES

Example 1 Displaying Header Information for a Sound File

The following program reads and displays the header informa-

tion for an AU sound file. The AUDIO_AU_FILE2HOST macro

ensures that this information will always be in the proper byte order. void main(void) {

au_filehdr_t hdr;

au_filehdr_t local;

int fd;

char *name = "bark.au";

if ((fd = open(name, O_RDONLY)) < 0) {

printf("can't open file %s\n", name);

exit(1); } (void) read(fd, &hdr, sizeof (hdr));

AUDIO_AU_FILE2HOST(&hdr.au_magic, &local.au_magic);

AUDIO_AU_FILE2HOST(&hdr.au_offset, &local.au_offset);

AUDIO_AU_FILE2HOST(&hdr.au_data_size, &local.au_data_size);

AUDIO_AU_FILE2HOST(&hdr.au_encoding, &local.au_encoding);

AUDIO_AU_FILE2HOST(&hdr.au_sample_rate, &local.au_sample_rate);

AUDIO_AU_FILE2HOST(&hdr.au_channels, &local.au_channels);

SunOS 5.11 Last change: 15 Jan 2001 3

File Formats au(4)

printf("Magic = %x\n", local.au_magic);

printf("Offset = %d\n", local.au_offset);

printf("Number of data bytes = %d\n", local.au_data_size);

printf("Sound format = %d\n", local.au_encoding);

printf("Sample rate = %d\n", local.au_sample_rate);

printf("Number of channels = %d\n", local.au_channels);

(void) close(fd); }

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Availability | system/header/header-audio |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

SEE ALSO

attributes(5) NOTES

Some older AU audio files are incorrectly coded with info

strings that are not properly NULL-terminated. Thus, appli-

cations should always use the au_offset value to find the

end of the info data and the beginning of the audio data.

SunOS 5.11 Last change: 15 Jan 2001 4




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™