โมดูล sndhdr ในไลบรารีมาตรฐานของ Python มีฟังก์ชันยูทิลิตี้ที่อ่านประเภทของข้อมูลเสียงที่อยู่ในไฟล์ ฟังก์ชันส่งคืน namedtuple() ซึ่งมีคุณลักษณะห้าประการ
ประเภทไฟล์ | สตริงที่แสดง 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub' หรือ 'ul'. |
อัตราเฟรม | Sampling_rate จะเป็นค่าจริงหรือ 0 หากไม่ทราบหรือถอดรหัสยาก |
nchannels | จำนวนช่องหรือ 0 ถ้ากำหนดไม่ได้หรือค่าที่ถอดรหัสยาก |
nframes | จำนวนเฟรมหรือ -1 |
ความกว้าง | bits_per_sample จะเป็นขนาดตัวอย่างเป็นบิตหรือ 'A' สำหรับ A-LAW หรือ 'U' สำหรับ u-LAW |
ฟังก์ชันในโมดูล sndhdr
sndhdr.what()
ฟังก์ชันนี้กำหนดประเภทของข้อมูลเสียงที่เก็บไว้ในชื่อไฟล์โดยใช้ whathdr() หากสำเร็จ ให้ส่งกลับ namedtuple ตามที่อธิบายไว้ข้างต้น มิฉะนั้น จะไม่มีการส่งคืน
sndhdr.whathdr()
ฟังก์ชันนี้กำหนดประเภทของข้อมูลเสียงที่จัดเก็บไว้ในไฟล์ตามส่วนหัวของไฟล์ ฟังก์ชันนี้ส่งคืน namedtuple ตามที่อธิบายไว้ข้างต้นเกี่ยวกับความสำเร็จหรือไม่มี
ตัวอย่าง
>>> 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')