Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन (एआईएफसी) का उपयोग करके एआईएफएफ और एआईएफसी फाइलें पढ़ें और लिखें

एआईएफसी मॉड्यूल में विभिन्न कार्य एआईएफएफ (ऑडियो इंटरचेंज फाइल फॉर्मेट) और एआईएफएफ-सी फाइलों को पढ़ने और लिखने के लिए सहायता प्रदान करते हैं। एआईएफएफ प्रारूप एक फाइल में डिजिटल ऑडियो नमूने संग्रहीत करने के लिए है। इसके नए संस्करण एआईएफएफ-सी में ऑडियो डेटा को संपीड़ित करने की क्षमता है

ऑडियो फ़ाइल में ऑडियो डेटा का वर्णन करने वाले कई पैरामीटर हैं।

  • नमूनाकरण दर या फ़्रेम दर:प्रति सेकंड जितनी बार ध्वनि का नमूना लिया जाता है।

  • चैनलों की संख्या:इंगित करें कि क्या ऑडियो मोनो, स्टीरियो या क्वाड्रो है।

  • फ्रेम :प्रति चैनल एक नमूना होता है।

  • नमूना आकार:प्रत्येक नमूने के बाइट्स में आकार।

इस प्रकार एक फ्रेम में चैनल होते हैं * बाइट्स का नमूना। 1 सेकंड का ऑडियो डेटा चैनल * सैंपलाइज़ * फ़्रैमरेट बाइट्स है।

निम्नलिखित कार्यों को aifc मॉड्यूल में परिभाषित किया गया है:

aifc.open()

यह फ़ंक्शन एक एआईएफएफ या एआईएफएफ-सी फ़ाइल खोलता है और मोड के आधार पर ऑडियो डेटा पढ़ने/लिखने के लिए ऑब्जेक्ट इंस्टेंस लौटाता है। यदि फ़ाइल को पढ़ने के लिए खोला जाना चाहिए तो यह 'आर' या 'आरबी' होना चाहिए। जब फ़ाइल को लिखने के लिए खोला जाना चाहिए तो यह 'w' या 'wb' होना चाहिए।

लेखन मोड वाली वस्तु निम्नलिखित कार्यों का उपयोग करती है

<टेबल> एआईएफ ()
एक AIFF फ़ाइल बनाएँ।
एआईएफसी()
एक AIFF-C फ़ाइल बनाएँ।
सेटनचैनल()
ऑडियो फ़ाइल में चैनलों की संख्या निर्दिष्ट करें।
सेटसैंपविड्थ ()
ऑडियो नमूनों के बाइट्स में आकार निर्दिष्ट करें।
सेटफ्रेमरेट ()
प्रति सेकंड फ़्रेम में नमूना आवृत्ति निर्दिष्ट करें।
सेटनफ्रेम्स ()
ऑडियो फ़ाइल में लिखे जाने वाले फ़्रेम की संख्या निर्दिष्ट करें।
सेटकॉम्पटाइप ()
संपीड़न प्रकार निर्दिष्ट करें। एआईएफएफ फ़ाइल के लिए संपीड़न संभव नहीं है। संपीड़न प्रकार समर्थित - b'NONE', b'ULAW', b'ALAW', b'G722'।
सेटपरम्स ()
उपरोक्त सभी पैरामीटर एक साथ सेट करें। तर्क विभिन्न मापदंडों से युक्त एक टपल है।
लेखन फ्रेम ()
आउटपुट फ़ाइल में डेटा लिखें। टी
राइटफ्रेम रॉ ()
राइटफ्रेम () की तरह, सिवाय इसके कि ऑडियो फ़ाइल का हेडर अपडेट नहीं होता है।

निम्नलिखित प्रोग्राम 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')

  1. किसी फ़ाइल से JSON डेटा को पढ़ने और उसे डेटाफ़्रेम, CSV फ़ाइलों में बदलने के लिए पायथन कोड लिखें

    मान लें कि आपके पास निम्न नमूना json डेटा फ़ाइल में pandas_sample.json के रूप में संग्रहीत है {    "employee": {       "name": "emp1",       "salary": 50000,       "age": 31    } } cs

  1. पायथन में xlsxwriter मॉड्यूल का उपयोग करके एक्सेल फ़ाइल बनाएं और लिखें

    पायथन की पुस्तकालयों की व्यापक उपलब्धता इसे माइक्रोसॉफ्ट एक्सेल के साथ बातचीत करने में सक्षम बनाती है जो एक बहुत व्यापक रूप से उपयोग किया जाने वाला डेटा प्रोसेसिंग टूल है। इस लेख में हम देखेंगे कि हम एक्सेल फाइल बनाने और लिखने के लिए xlsxwriter नामक मॉड्यूल का उपयोग कैसे कर सकते हैं। यह मौजूदा एक्से

  1. पायथन ओपनपीएक्सएल मॉड्यूल का उपयोग करके एक्सेल फ़ाइल को पढ़ें और लिखें

    पायथन एक्सेल फाइलों के साथ काम करने के लिए ओपनपीएक्सएल मॉड्यूल प्रदान करता है। एक्सेल फाइलें कैसे बनाएं, कैसे लिखें, पढ़ें आदि को इस मॉड्यूल द्वारा कार्यान्वित किया जा सकता है। openpyxl मॉड्यूल को स्थापित करने के लिए, हम इस कमांड को कमांड प्रॉम्प्ट में लिख सकते हैं पाइप ओपनपीएक्सएल इंस्टॉल करें अग