# `sndhdr` — Détermine le type d'un fichier audio

Code source : Lib/sndhdr.py

Obsolète depuis la version 3.11, sera supprimé dans la version 3.13: The `sndhdr` module is deprecated (see PEP 594 for details and alternatives).

Le module `sndhdr` fournit des fonctions permettant d'essayer de déterminer le type de données audio contenues dans un fichier. Lorsque ces fonctions parviennent à déterminer le format de données, elles renvoient un `namedtuple()`, contenant cinq attributs : (`filetype`, `framerate`, `nchannels`, `nframes`, `sampwidth`). La valeur de type indique le format de données parmi `'aifc'`, `'aiff'`, `'au'`, `'hcom'`, `'sndr'`, `'sndt'`, `'voc'`, `'wav'`, `'8svx'`, `'sb'`, `'ub'`, et `'ul'`. La valeur de sampling_rate sera soit la vraie valeur, soit, si elle est inconnue ou compliquée à obtenir, `0`. De même, channels vaut soit le nombre de canaux soit `0` s'il ne peut pas être déterminé ou si la valeur est compliquée à décoder. La valeur de frames sera soit le nombre de frames soit `-1`. Le dernier élément du n-uplet, bits_per_sample sera soit la taille d'un échantillon en bits, soit `'A'` pour A-LAW ou `'U'` pour u-LAW.

sndhdr.what(filename)

  Détermine le type de données audio stockée dans le fichier filename en utilisant `whathdr()`. Si elle y parvient, le namedtuple décrit plus haut est renvoyé, sinon, `None`.

  Modifié dans la version 3.5: Le type renvoyé passe d'un n-uplet à un n-uplet nommé.

sndhdr.whathdr(filename)

  Détermine le type de données audio contenue dans un fichier, en se basant sur ses entêtes. Le nom du fichier est donné par filename. Cette fonction renvoie un namedtuple tel que décrit plus haut, si elle y parvient, sinon `None`.

  Modifié dans la version 3.5: Le type renvoyé passe d'un n-uplet à un n-uplet nommé.

The following sound header types are recognized, as listed below with the return value from `whathdr()`: and `what()`:

Value | Sound header format
--- | ---
`'aifc'` | Compressed Audio Interchange Files
`'aiff'` | Audio Interchange Files
`'au'` | Au Files
`'hcom'` | HCOM Files
`'sndt'` | Sndtool Sound Files
`'voc'` | Creative Labs Audio Files
`'wav'` | Waveform Audio File Format Files
`'8svx'` | 8-Bit Sampled Voice Files
`'sb'` | Signed Byte Audio Data Files
`'ub'` | UB Files
`'ul'` | uLAW Audio Files

sndhdr.tests

  A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When `what()` is called with a byte-stream, the file-like object will be `None`.

  The test function should return a string describing the image type if the test succeeded, or `None` if it failed.

Example:

    >>> import sndhdr
    >>> imghdr.what('bass.wav')
    'wav'
    >>> imghdr.whathdr('bass.wav')
    'wav'