14.4 sunau --- Lit et écrit les fichiers AU de Sun

Le module sunau fournit une interface pratique avec le format audio AU de Sun. Notez que ce module possède une interface compatible avec les modules aifc et wave.

Un fichier audio consiste en un en-tête suivi de données. Les champs de l'en-tête sont:

Champ Contenu 
mot magiqueLes quatre caractères ".snd".
taille de l'en-têteTaille de l'en-tête, y compris info, en octets.
taille des donnéesTaille physique des données, en octets.
encodageIndique comment les échantillons audio sont encodés.
fréquence d'échantillonnageLa fréquence d'échantillonnage.
# de canauxLe nombre de canaux dans les échantillons.
infochaîne de caractères ASCII donnant une description du fichier audio (avec un bourrage d'octets à zéro).

En dehors du champ info, tous les champs de l'en-tête ont une taille de 4 octets. Ce sont tous des entiers non signés de 32 bits encodés dans l'ordre d'octets big-endian.

Le module sunau définit les fonctions suivantes:

open(fichier, mode)
Si fichier est une chaîne de caractères, ouvre le fichier de ce nom, sinon il est traité comme un objet de type fichier cherchable. mode peut prendre les valeurs suivantes:
'r'
Mode lecture seule.
'w'
Mode écriture seule.
Notez qu'on ne peut pas ouvrir un fichier en lecture/écriture.

Le mode 'r' retourne un objet AU_read, tandis qu'un mode 'w' ou 'wb' retourne un objet AU_write.

openfp(fichier, mode)
Synonyme de open, maintenu pour des raisons de compatibilité ascendante.

Le module sunau définit l'exception suivante:

Error
Une erreur déclenchée quand quelque chose est impossible à cause des spécifications AU de Sun ou d'une déficience de l'implémentation.

Le module sunau définit les données suivantes:

AUDIO_FILE_MAGIC
Un entier par lequel tous les fichiers au format AU de Sun commencent, stocké sous la forme big-endian. Il s'agit de la chaîne de caractères ".snd" interprétée comme un entier.

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
Valeurs des champs d'encodage de l'en-tête AU supportées par ce 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
Autres valeurs connues des champs d'encodage de l'en-tête AU, mais qui ne sont pas supportées par ce module.


Sous-sections
  1. Objets AU_read
  2. Objets AU_write