The sndhdr module in Python's standard library provides utility functions that read the type of sound data which is in a file. The functions return a namedtuple(), containing five attributes

Determine type of sound file using Python (sndhdr)



The sndhdr module in Python's standard library provides utility functions that read the type of sound data which is in a file. The functions return a namedtuple(), containing five attributes

filetype string representing 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', or 'ul'.
framerate the sampling_rate will be either the actual value or 0 if unknown or difficult to decode.
nchannels number of channels or 0 if it cannot be determined or if the value is difficult to decode
nframes either the number of frames or -1.
sampwidth bits_per_sample, will either be the sample size in bits or 'A' for A-LAW or 'U' for u-LAW.

functions in sndhdr module

sndhdr.what()

This function determines the type of sound data stored in the file filename using whathdr(). If it succeeds, returns a namedtuple as described above, otherwise None is returned.

sndhdr.whathdr()

This function determines the type of sound data stored in a file based on the file header. This function returns a namedtuple as described above on success, or None.

Examples

>>> import sndhdr
>>> sndhdr.whathdr("sample.wav")
SndHeaders(filetype = 'wav', framerate = 44100, nchannels = 1, nframes = 99999, sampwidth = 16)
>>> sndhdr.whathdr("sample.aiff")
SndHeaders(filetype = 'aiff', framerate = 8000, nchannels = 1, nframes = 271200, sampwidth = 16)
>>> sndhdr.whathdr("sample.au")
SndHeaders(filetype = 'au', framerate = 8000, nchannels = 1, nframes = 103397.0, sampwidth = 'U')
George John
Updated on: 2020-06-30T09:28:38+05:30