# `sndhdr` — Determina o tipo de arquivos de som

Código-fonte: Lib/sndhdr.py

Descontinuado desde a versão 3.11, será removido na versão 3.13: O módulo `sndhdr` foi descontinuado (veja PEP 594 para detalhes e alternativas).

O `sndhdr` fornece funções de utilitário que tentam determinar o tipo de dados de som que estão em um arquivo. Quando estas funções são capazes de determinar que tipo de dados de som são armazenados em um arquivo, eles retornam um `namedtuple()`, contendo cinco atributos: (`filetype`, `framerate`, `nchannels`, `nframes`, `sampwidth`). O valor para type indica o tipo de dados e será uma das strings `'aifc'`, `'aiff'`, `'au'`, `'hcom'`, `'sndr'`, `'sndt'`, `'voc'`, `'wav'`, `'8svx'`, `'sb'`, `'ub'`, or `'ul'`. O sample_rate será o valor real ou `0` se desconhecido ou difícil de decodificar. Similarmente, channels será o número de canais ou `0` se não puder ser determinado ou se o valor for difícil de decodificar. O valor para frames será o número de quadros ou `-1`. O último item na tupla, bits_per_sample, será o tamanho da amostra em bits ou `'A'` para A-LAW ou `'U'` para u-LAW.

sndhdr.what(filename)

  Determina o tipo de dados de som armazenados no arquivo filename usando `whathdr()`. Se tiver sucesso, retorna uma namedtuple conforme descrito acima, caso contrário, `None` será retornado.

  Alterado na versão 3.5: Resultado alterado de uma tupla para uma namedtuple.

sndhdr.whathdr(filename)

  Determina o tipo de dados de som armazenados em um arquivo com base no cabeçalho do arquivo. O nome do arquivo é dado por filename. Esta função retorna um namedtuple como descrito acima ao obter sucesso, ou `None`.

  Alterado na versão 3.5: Resultado alterado de uma tupla para uma namedtuple.

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

Valor | 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`.

  A função de teste deve retornar uma string descrevendo o tipo de imagem, se o teste for bem-sucedido, ou `None`, se falhar.

Exemplo:

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