পাইথনের স্ট্যান্ডার্ড লাইব্রেরির sndhdr মডিউলটি একটি ফাইলে থাকা সাউন্ড ডেটার টাইপ পড়ার জন্য ইউটিলিটি ফাংশন প্রদান করে। ফাংশনগুলো একটি namedtuple() রিটার্ন করে, যাতে পাঁচটি অ্যাট্রিবিউট থাকে:
| filetype | 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', বা 'ul' রিপ্রেজেন্ট করার স্ট্রিং। |
| framerate | স্যাম্পলিং রেট, যা একচুঁকা ভ্যালু হবে অথবা ০ যদি অজানা হয় বা ডিকোড করা কঠিন হয়। |
| nchannels | চ্যানেলের সংখ্যা অথবা ০ যদি নির্ধারণ করা না যায় বা ডিকোড করা কঠিন হয়। |
| nframes | ফ্রেমের সংখ্যা অথবা -১। |
| sampwidth | বিটস_পার_স্যাম্পল, যা স্যাম্পল সাইজ বিটে হবে অথবা A-LAW-এর জন্য 'A' অথবা u-LAW-এর জন্য 'U'। |
sndhdr মডিউলের ফাংশনগুলো:
sndhdr.what()
এই ফাংশনটি whathdr() ব্যবহার করে ফাইলনেমে সংরক্ষিত সাউন্ড ডেটার টাইপ নির্ধারণ করে। সফল হলে উপরে বর্ণিত namedtuple রিটার্ন করে, অন্যথায় None রিটার্ন করে।
sndhdr.whathdr()
এই ফাংশনটি ফাইল হেডার देखकर ফাইলে সংরক্ষিত সাউন্ড ডেটার টাইপ নির্ধারণ করে। সফল হলে উপরে বর্ণিত 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')