एआईएफसी मॉड्यूल में विभिन्न कार्य एआईएफएफ (ऑडियो इंटरचेंज फाइल फॉर्मेट) और एआईएफएफ-सी फाइलों को पढ़ने और लिखने के लिए सहायता प्रदान करते हैं। एआईएफएफ प्रारूप एक फाइल में डिजिटल ऑडियो नमूने संग्रहीत करने के लिए है। इसके नए संस्करण एआईएफएफ-सी में ऑडियो डेटा को संपीड़ित करने की क्षमता है
ऑडियो फ़ाइल में ऑडियो डेटा का वर्णन करने वाले कई पैरामीटर हैं।
-
नमूनाकरण दर या फ़्रेम दर:प्रति सेकंड जितनी बार ध्वनि का नमूना लिया जाता है।
-
चैनलों की संख्या:इंगित करें कि क्या ऑडियो मोनो, स्टीरियो या क्वाड्रो है।
-
फ्रेम :प्रति चैनल एक नमूना होता है।
-
नमूना आकार:प्रत्येक नमूने के बाइट्स में आकार।
इस प्रकार एक फ्रेम में चैनल होते हैं * बाइट्स का नमूना। 1 सेकंड का ऑडियो डेटा चैनल * सैंपलाइज़ * फ़्रैमरेट बाइट्स है।
निम्नलिखित कार्यों को aifc मॉड्यूल में परिभाषित किया गया है:
aifc.open()
यह फ़ंक्शन एक एआईएफएफ या एआईएफएफ-सी फ़ाइल खोलता है और मोड के आधार पर ऑडियो डेटा पढ़ने/लिखने के लिए ऑब्जेक्ट इंस्टेंस लौटाता है। यदि फ़ाइल को पढ़ने के लिए खोला जाना चाहिए तो यह 'आर' या 'आरबी' होना चाहिए। जब फ़ाइल को लिखने के लिए खोला जाना चाहिए तो यह 'w' या 'wb' होना चाहिए।
लेखन मोड वाली वस्तु निम्नलिखित कार्यों का उपयोग करती है
<टेबल>निम्नलिखित प्रोग्राम AIFF फ़ाइल बनाता है
import aifc, struct sampleRate = 44100.0 # hertz duration = 1.0 # seconds frequency = 440.0 # hertz obj = aifc.open('sound.aiff','w') obj.setnchannels(1) # mono obj.setsampwidth(2) obj.setframerate(sampleRate) for i in range(99999): value = random.randint(-32767, 32767) data = struct.pack('<h', value) obj.writeframesraw( data ) obj.close()
एआईएफ या एआईएफ-सी रीड ऑब्जेक्ट निम्नलिखित कार्यों का उपयोग करता है
गेटनचैनल्स () | ऑडियो चैनलों की संख्या लौटाएं (मोनो के लिए 1, स्टीरियो के लिए 2)। |
getsampwidth() | अलग-अलग नमूनों के बाइट्स में आकार लौटाएं। |
गेटफ्रेमरेट () | नमूना दर लौटाएं (प्रति सेकंड ऑडियो फ़्रेम की संख्या)। |
getnframes() | फ़ाइल में ऑडियो फ़्रेम की संख्या लौटाएं। |
getcomptype() | ऑडियो फ़ाइल में उपयोग किए गए संपीड़न के प्रकार का वर्णन करते हुए लंबाई 4 की बाइट्स सरणी लौटाएं। |
गेटपरम्स () | एक नेमटुपल () (nचैनल, सैम्पविड्थ, फ्रैमरेट, एनफ्रेम, कॉम्पटाइप, कॉम्पनेम) देता है |
रीडफ्रेम () | ऑडियो फ़ाइल से अगले nframes फ़्रेम पढ़ें और वापस करें। |
सेटपोस(स्थिति) | निर्दिष्ट फ्रेम संख्या की तलाश करें। |
ये फ़ंक्शन पठनीय और साथ ही लिखने योग्य aiff ऑब्जेक्ट के लिए उपलब्ध हैं:
<टेबल>उदाहरण
निम्नलिखित प्रोग्राम aiff फ़ाइल की विशेषताओं को पढ़ता है
import aifc obj = aifc.open('sound.aiff','r') print( "Number of channels",obj.getnchannels()) print ( "Sample width",obj.getsampwidth()) print ( "Frame rate.",obj.getframerate()) print ("Number of frames",obj.getnframes()) print ( "parameters:",obj.getparams()) obj.close()
आउटपुट
Number of channels 1 Sample width 2 Frame rate. 44100 Number of frames 99999 parameters: _aifc_params(nchannels=1, sampwidth=2, framerate=44100, nframes=99999, comptype=b'NONE', compname=b'not compressed')