Yurttas/PL/SL/python/docs/core-python-programming/doc/20/lib/module-sunau.html
Jump to navigation
Jump to search
14.4 sunau -- Read and write Sun AU files
The sunau module provides a convenient interface to the Sun AU sound format. Note that this module is interface-compatible with the modules aifc and wave.
An audio file consists of a header followed by the data. The fields of the header are:
| Field | Contents | magic word | The four bytes ".snd". |
|---|---|---|---|
| header size | Size of the header, including info, in bytes. | ||
| data size | Physical size of the data, in bytes. | ||
| encoding | Indicates how the audio samples are encoded. | ||
| sample rate | The sampling rate. | ||
| # of channels | The number of channels in the samples. | ||
| info | ASCII string giving a description of the audio file (padded with null bytes). |
Apart from the info field, all header fields are 4 bytes in size. They are all 32-bit unsigned integers encoded in big-endian byte order.
The sunau module defines the following functions:
- open (file, mode)
- If file is a string, open the file by that name, otherwise treat it as a seekable file-like object. mode can be any of
'r'- Read only mode.
'w'- Write only mode. Note that it does not allow read/write files. A mode of
'r'returns a AU_read object, while a mode of'w'or'wb'returns a AU_write object.
- openfp (file, mode)
- A synonym for open, maintained for backwards compatibility.
The sunau module defines the following exception:
- Error
- An error raised when something is impossible because of Sun AU specs or implementation deficiency.
The sunau module defines the following data items:
- AUDIO_FILE_MAGIC
- An integer every valid Sun AU file begins with, stored in big-endian form. This is the string ".snd" interpreted as an integer.
- AUDIO_FILE_ENCODING_MULAW_8
- AUDIO_FILE_ENCODING_LINEAR_8
- AUDIO_FILE_ENCODING_LINEAR_16
- AUDIO_FILE_ENCODING_LINEAR_24
- AUDIO_FILE_ENCODING_LINEAR_32
- AUDIO_FILE_ENCODING_ALAW_8
- Values of the encoding field from the AU header which are supported by this module.
- AUDIO_FILE_ENCODING_FLOAT
- AUDIO_FILE_ENCODING_DOUBLE
- AUDIO_FILE_ENCODING_ADPCM_G721
- AUDIO_FILE_ENCODING_ADPCM_G722
- AUDIO_FILE_ENCODING_ADPCM_G723_3
- AUDIO_FILE_ENCODING_ADPCM_G723_5
- Additional known values of the encoding field from the AU header, but which are not supported by this module.
Subsections
See About this document... for information on suggesting changes.