Computer >> Máy Tính >  >> Lập trình >> Python

Xác định loại tệp âm thanh bằng Python (sndhdr)


Mô-đun sndhdr trong thư viện chuẩn của Python cung cấp các hàm tiện ích đọc loại dữ liệu âm thanh có trong tệp. Các hàm trả về một nametuple (), chứa năm thuộc tính

filetype chuỗi đại diện cho 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', hoặc 'ul'.
tốc độ khung hình sampling_rate sẽ là giá trị thực hoặc 0 nếu không xác định hoặc khó giải mã.
nchannels số kênh hoặc 0 nếu không thể xác định được hoặc nếu giá trị khó giải mã
nframes số lượng khung hình hoặc -1.
sampwidth bits_per_sample, sẽ là kích thước mẫu tính bằng bit hoặc 'A' cho A-LAW hoặc 'U' cho u-LAW.

chức năng trong mô-đun sndhdr

sndhdr.what ()

Hàm này xác định loại dữ liệu âm thanh được lưu trữ trong tên tệp tệp bằng cách sử dụng whathdr (). Nếu thành công, trả về một tập tin có tên như được mô tả ở trên, nếu không trả về Không có.

sndhdr.whathdr ()

Hàm này xác định loại dữ liệu âm thanh được lưu trữ trong tệp dựa trên tiêu đề tệp. Hàm này trả về một tập tin có tên như được mô tả ở trên khi thành công hoặc Không có.

Ví dụ

>>> 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')