# 22.8. `sndhdr` — Détermine le type d’un fichier audio

Code source : Lib/sndhdr.py

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 tuple, 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 tuple à un namedtuple.

`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 tuple à un namedtuple.