> **Источник:** https://python-all.ru/3.1/library/sndhdr.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 21.8. `sndhdr` – Определение типа звукового файла

Модуль `sndhdr` предоставляет служебные функции, которые пытаются определить тип звуковых данных, находящихся в файле. Когда эти функции могут определить, какой тип звуковых данных хранится в файле, они возвращают кортеж `(type, sampling_rate, channels, frames, bits_per_sample)`. Значение *type* указывает тип данных и может быть одной из строк: `'aifc'`, `'aiff'`, `'au'`, `'hcom'`, `'sndr'`, `'sndt'`, `'voc'`, `'wav'`, `'8svx'`, `'sb'`, `'ub'` или `'ul'`. *sampling\_rate* будет либо фактическим значением, либо `0`, если оно неизвестно или его сложно декодировать. Аналогично, *channels* будет либо количеством каналов, либо `0`, если его невозможно определить или значение сложно декодировать. Значение *frames* будет либо количеством фреймов, либо `-1`. Последний элемент кортежа, *bits\_per\_sample*, будет либо размером выборки в битах, либо `'A'` для A-LAW, либо `'U'` для u-LAW.

#### `sndhdr.what(filename)`

Определяет тип звуковых данных, хранящихся в файле

*filename*

, с помощью

[`whathdr()`](https://python-all.ru/3.1/library/sndhdr.html#sndhdr.whathdr)

. В случае успеха возвращает кортеж, как описано выше, иначе возвращается

`None`

.

#### `sndhdr.whathdr(filename)`

Определяет тип звуковых данных, хранящихся в файле, на основе заголовка файла. Имя файла задаётся параметром

*filename*

. Эта функция возвращает кортеж, как описано выше, в случае успеха или

`None`

.
