# `sndhdr` — Determinar el tipo de archivo de sonido

Código fuente: Lib/sndhdr.py

Obsoleto desde la versión 3.11, se eliminará en la versión 3.13: El módulo `sndhdr` está en desuso (consulte PEP 594 para obtener detalles y alternativas).

El `sndhdr` proporciona funciones de utilidad que intentan determinar el tipo de datos de sonido que hay en un archivo. Cuando estas funciones son capaces de determinar qué tipo de datos sonoros se almacenan en un archivo, retornan un `namedtuple()`, que contiene cinco atributos: (`filetype`, `framerate`, `nchannels`, `nframes`, `sampwidth`). El valor de type indica el tipo de datos y será una de las cadenas siguientes cadenas: `'aifc'`, `'aiff'`, `'au'`, `'hcom'`, `'sndr'`, `'sndt'`, `'voc'`, `'wav'`, `'8svx'`, `'sb'`, `'ub'`, o `'ul'`. El sampling_rate será el valor actual o `0` si es desconocido o difícil de decodificar. De forma similar, channels será el número de canales o `0` si no se puede determinar o si el valor es difícil de decodificar. El valor de frames será el número de fotogramas o `-1`. El último elemento de la tupla, bits_per_sample, será el tamaño de la muestra en bits, `'A'` para A-LAW o `'U'` para u-LAW.

sndhdr.what(filename)

  Determina el tipo de datos de sonido almacenados en el archivo filename usando `whathdr()`. Si se tiene éxito, retorna una namedtuple como se describe arriba, de lo contrario retorna `None`.

  Distinto en la versión 3.5: El resultado cambió de una tupla a una namedtuple.

sndhdr.whathdr(filename)

  Determina el tipo de dato de sonido almacenado en un archivo basado en el encabezado del archivo. El nombre del archivo viene dado por filename. Esta función retorna una namedtuple como se ha descrito anteriormente en caso de éxito o `None`.

  Distinto en la versión 3.5: El resultado cambió de una tupla a una namedtuple.

Se reconocen los siguientes tipos de encabezados de sonido, como se indica a continuación con el valor de retorno de `whathdr()`: y `what()`:

Valor | Formato de encabezado de sonido
--- | ---
`'aifc'` | Archivos de intercambio de audio comprimido
`'aiff'` | Archivos de intercambio de audio
`'au'` | Archivos Au
`'hcom'` | HCOM de archivos
`'sndt'` | Archivos de sonido Sndtool
`'voc'` | Archivos de audio de Creative Labs
`'wav'` | Archivos de formato de archivo de audio de forma de onda
`'8svx'` | Archivos de voz muestreados de 8 bits
`'sb'` | Archivos de datos de audio de bytes firmados
`'ub'` | Archivos UB
`'ul'` | Archivos de audio uLAW

sndhdr.tests

  Una lista de funciones que realizan las pruebas individuales. Cada función toma dos argumentos: el flujo de bytes y un objeto similar a un archivo abierto. Cuando se llama a `what()` con un flujo de bytes, el objeto similar a un archivo será `None`.

  La función de prueba debe devolver una cadena que describa el tipo de imagen si la prueba tuvo éxito, o `None` si falló.

Ejemplo:

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