पायथन के मानक लाइब्रेरी में sndhdr मॉड्यूल उपयोगिता फ़ंक्शन प्रदान करता है जो फ़ाइल में मौजूद ध्वनि डेटा के प्रकार को पढ़ते हैं। फ़ंक्शन एक namedtuple() लौटाते हैं, जिसमें पांच विशेषताएं होती हैं:
| filetype | स्ट्रिंग जो 'aifc', 'aiff', 'au', 'hcom', 'sndr', 'sndt', 'voc', 'wav', '8svx', 'sb', 'ub', या 'ul' को दर्शाती है। |
| framerate | नमूना दर या तो वास्तविक मान होगी या 0 यदि अज्ञात या डिकोड करना कठिन है। |
| nchannels | चैनलों की संख्या या 0 यदि निर्धारित नहीं किया जा सकता या मान डिकोड करना कठिन है। |
| nframes | या तो फ़्रेम की संख्या या -1। |
| 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')