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-LAW або 'U' для u-LAW.

sndhdr.what(filename)

Визначає тип звукових даних, що зберігаються у файлі filename за допомогою whathdr(). Якщо це вдається, повертає іменований кортеж, як описано вище, інакше повертається None.

Змінено в версії 3.5: Результат змінено з кортежу на іменований кортеж.

sndhdr.whathdr(filename)

Визначає тип звукових даних, що зберігаються у файлі, на основі заголовка файлу. Ім’я файлу задається ім’я файлу. Ця функція повертає іменований кортеж, як описано вище, у разі успіху або None.

Змінено в версії 3.5: Результат змінено з кортежу на іменований кортеж.

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

Значення

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

Перелік функцій, які виконують окремі тести. Кожна функція приймає два аргументи: потік байтів і відкритий файлоподібний об’єкт. Коли what() викликається потоком байтів, файлоподібний об’єкт матиме значення None.

Функція тестування має повертати рядок із описом типу зображення, якщо тест пройшов успішно, або None, якщо він не вдався.

приклад:

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