Python标准库中的sndhdr模块提供实用程序功能,可读取文件中声音数据的类型。函数返回namedtuple()
,其中包含五个属性
文件类型 | 代表'aifc','aiff','au','hcom','sndr','sndt','voc','wav','8svx','sb','ub'或'ul'的字符串。 |
帧率 | 如果未知或难以解码,则sample_rate将为实际值或0。 |
频道 | 通道数;如果无法确定或难以解码,则为0 |
nframes | 帧数或-1。 |
示例宽度 | bits_per_sample,将是样本大小(以位为单位),或者是A-LAW为“ A”,u-LAW为“ U”。 |
sndhdr模块中的功能
此功能使用确定存储在文件名中的声音数据的类型whathdr()
。如果成功,则如上 返回一个namedtuple,否则返回None。
此功能根据文件头确定存储在文件中的声音数据的类型。如果成功,此函数将返回一个如上 的namedtuple或None。
>>> 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')