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' |
| framerate | Tần số lấy mẫu (0 nếu không xác định) |
| nchannels | Số kênh (0 nếu không xác định) |
| nframes | Số 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