sndhdr
— Определите тип звукового файла¶
Исходный код: Lib/sndhdr.py
Утратил актуальность с версии 3.11, будет удален в версии 3.13: Модуль sndhdr
устарел (подробности и альтернативные варианты см. в разделе PEP 594).
sndhdr
предоставляет служебные функции, которые пытаются определить тип звуковых данных, содержащихся в файле. Когда эти функции могут определить, какой тип звуковых данных хранится в файле, они возвращают значение namedtuple()
, содержащее пять атрибутов: (filetype
, framerate
, nchannels
, nframes
, sampwidth
). Значение для 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-ЗАКОНА, либо 'U'
для u-ЗАКОНА.
- sndhdr.what(filename)¶
Определяет тип звуковых данных, хранящихся в файле filename, с помощью
whathdr()
. В случае успешного завершения возвращает namedtuple, как описано выше, в противном случае возвращаетсяNone
.Изменено в версии 3.5: Результат изменен с кортежа на именованный кортеж.
- sndhdr.whathdr(filename)¶
Определяет тип звуковых данных, хранящихся в файле, на основе заголовка файла. Имя файла задается через filename. В случае успешного выполнения эта функция возвращает значение namedtuple, как описано выше, или
None
.Изменено в версии 3.5: Результат изменен с кортежа на именованный кортеж.
Распознаются следующие типы звуковых заголовков, перечисленные ниже, с возвращаемым значением из whathdr()
: и what()
:
Ценность |
Формат звукового заголовка |
---|---|
|
Сжатые аудиофайлы для обмена данными |
|
Файлы для обмена аудиосигналами |
|
Файлы Au |
|
COM-файлы |
|
Звуковые файлы Sndtool |
|
Аудиофайлы Creative Labs |
|
Файлы формата аудиофайла с формой сигнала |
|
8-Разрядные дискретизированные голосовые файлы |
|
Подписанные байтовые файлы аудиоданных |
|
Файлы UB |
|
Аудиофайлы uLAW |
- sndhdr.tests¶
Список функций, выполняющих отдельные тесты. Каждая функция принимает два аргумента: поток байтов и открытый файловый объект. Когда
what()
вызывается с помощью потока байтов, файловым объектом будетNone
.Тестовая функция должна возвращать строку, описывающую тип изображения, если тест прошел успешно, или
None
в случае неудачи.
Пример:
>>> import sndhdr
>>> imghdr.what('bass.wav')
'wav'
>>> imghdr.whathdr('bass.wav')
'wav'