Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Xác định loại file âm thanh với module sndhdr trong Python

Module sndhdr trong thư viện chuẩn cung cấp hàm xác định loại dữ liệu âm thanh trong file. Trả về namedtuple với 5 thuộc tính:

filetype'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', 'ul'
framerateTần số lấy mẫu (0 nếu không xác định)
nchannelsSố kênh (0 nếu không xác định)
nframesSố frame (-1 nếu không xác định)
sampwidthĐộ rộng mẫu (bits), 'A' cho A-LAW, 'U' cho u-LAW

Các hàm chính

sndhdr.what(filename)

Xác định loại file bằng whathdr(). Trả về namedtuple hoặc None.

sndhdr.whathdr(filename)

Xác định dựa trên header file. Trả về namedtuple hoặc None.

Ví dụ

import sndhdr

print(sndhdr.whathdr("sample.wav"))
# SndHeaders(filetype='wav', framerate=44100, nchannels=1, nframes=99999, sampwidth=16)

print(sndhdr.whathdr("sample.aiff"))
# SndHeaders(filetype='aiff', framerate=8000, nchannels=1, nframes=271200, sampwidth=16)

print(sndhdr.whathdr("sample.au"))
# SndHeaders(filetype='au', framerate=8000, nchannels=1, nframes=103397.0, sampwidth='U')

Ứng dụng

  • Xác thực file audio trước khi xử lý
  • Phân loại hàng loạt file âm thanh
  • Trích xuất metadata audio cơ bản