sndhdr — Determine type of sound file (original) (raw)
Source code: Lib/sndhdr.py
Deprecated since version 3.11, will be removed in version 3.13: The sndhdr module is deprecated (see PEP 594 for details and alternatives).
The sndhdr provides utility functions which attempt to determine the type of sound data which is in a file. When these functions are able to determine what type of sound data is stored in a file, they return anamedtuple(), containing five attributes: (filetype
,framerate
, nchannels
, nframes
, sampwidth
). The value for _type_indicates the data type and will be one of the strings 'aifc'
, 'aiff'
,'au'
, 'hcom'
, 'sndr'
, 'sndt'
, 'voc'
, 'wav'
, '8svx'
,'sb'
, 'ub'
, or 'ul'
. The sampling_rate will be either the actual value or 0
if unknown or difficult to decode. Similarly, channels will be either the number of channels or 0
if it cannot be determined or if the value is difficult to decode. The value for frames will be either the number of frames or -1
. The last item in the tuple, bits_per_sample, will either be the sample size in bits or 'A'
for A-LAW or 'U'
for u-LAW.
sndhdr.what(filename)¶
Determines the type of sound data stored in the file filename usingwhathdr(). If it succeeds, returns a namedtuple as described above, otherwiseNone
is returned.
Changed in version 3.5: Result changed from a tuple to a namedtuple.
sndhdr.whathdr(filename)¶
Determines the type of sound data stored in a file based on the file header. The name of the file is given by filename. This function returns a namedtuple as described above on success, or None
.
Changed in version 3.5: Result changed from a tuple to a namedtuple.
The following sound header types are recognized, as listed below with the return value from whathdr(): and what():
Value | 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
.
The test function should return a string describing the image type if the test succeeded, or None
if it failed.
Example:
import sndhdr imghdr.what('bass.wav') 'wav' imghdr.whathdr('bass.wav') 'wav'