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

पायथन (लहर) का उपयोग करके WAV फाइलें पढ़ें और लिखें

पायथन के मानक पुस्तकालय में तरंग मॉड्यूल ऑडियो WAV प्रारूप के लिए एक आसान इंटरफ़ेस है। इस मॉड्यूल में फ़ंक्शन कच्चे प्रारूप में ऑडियो डेटा को ऑब्जेक्ट जैसी फ़ाइल में लिख सकते हैं और WAV फ़ाइल की विशेषताओं को पढ़ सकते हैं।

फ़ाइल को 'राइट' या रीड मोड में खोला जाता है जैसे कि बिल्ट-इन ओपन () फ़ंक्शन के साथ, लेकिन वेव मॉड्यूल में ओपन () फ़ंक्शन के साथ

wave.open()

यह फ़ंक्शन ऑडियो डेटा को पढ़ने/लिखने के लिए एक फ़ाइल खोलता है। फ़ंक्शन को दो मापदंडों की आवश्यकता होती है - पहला फ़ाइल नाम और दूसरा मोड। ऑडियो डेटा लिखने के लिए मोड 'wb' या पढ़ने के लिए 'rb' हो सकता है।

obj = wave.open('sound.wav','wb')

'आरबी' का एक मोड एक Wave_read ऑब्जेक्ट देता है, जबकि 'wb' का एक मोड Wave_write ऑब्जेक्ट देता है।

Wave_write ऑब्जेक्ट में निम्नलिखित तरीके हैं

बंद करें () अगर फ़ाइल वेव द्वारा खोली गई है तो उसे बंद कर दें।
सेटनचैनल्स() चैनलों की संख्या निर्धारित करें। स्टीरियो चैनलों के लिए मोनो 2 के लिए 1
setsampwidth() नमूना चौड़ाई को n बाइट्स पर सेट करें।
सेटफ्रेमरेट () फ़्रेम दर को n पर सेट करें।
सेटनफ्रेम () फ़्रेम की संख्या को n पर सेट करें।
setcomptype() संपीड़न प्रकार और विवरण सेट करें। फिलहाल, केवल संपीड़न प्रकार NONE समर्थित है, जिसका अर्थ है कोई संपीड़न नहीं।
सेटपरम्स () पैरामीटर टपल को स्वीकार करता है (nचैनल्स, सैम्पविड्थ, फ्रैमरेट, nframes, comptype, compname)
बताएं () फ़ाइल में वर्तमान स्थिति प्राप्त करता है
राइटफ्रेम रॉ () ऑडियो फ़्रेम लिखें, बिना सुधारे।
लेखन फ्रेम () ऑडियो फ़्रेम लिखें और सुनिश्चित करें कि वे सही हैं।

निम्नलिखित कोड 99999 सेकंड की अवधि के यादृच्छिक लघु पूर्णांक बाइट्स के साथ एक WAV फ़ाइल बनाता है।

import wave, struct, math, random
sampleRate = 44100.0 # hertz
duration = 1.0 # seconds
frequency = 440.0 # hertz
obj = wave.open('sound.wav','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()

Wave_read ऑब्जेक्ट विधियां

बंद करें () वेव मॉड्यूल द्वारा खोले जाने पर स्ट्रीम को बंद कर दें।
getnchannels() ऑडियो चैनलों की संख्या लौटाता है (मोनो के लिए 1, स्टीरियो के लिए 2)।
getsampwidth() नमूना चौड़ाई बाइट्स में लौटाता है।
getframerate() नमूना आवृत्ति लौटाता है।
getnframes() ऑडियो फ़्रेम की संख्या लौटाता है।
getcomptype() संपीड़न प्रकार लौटाता है ('कोई नहीं' एकमात्र समर्थित प्रकार है)।
getparams() एक नेमटुपल () (nchannels, sampwidth, framerate, nframes, comptype, compname) देता है, जो get*() मेथड्स के आउटपुट के बराबर होता है।
रीडफ्रेम(n) बाइट्स ऑब्जेक्ट के रूप में ऑडियो के अधिकतम n फ़्रेमों को पढ़ता और लौटाता है।
रिवाइंड () फ़ाइल पॉइंटर को ऑडियो स्ट्रीम की शुरुआत में रिवाइंड करें।

निम्नलिखित कोड WAV फ़ाइल के कुछ मापदंडों को पढ़ता है।

import wave
obj = wave.open('sound.wav','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: _wave_params(nchannels=1, sampwidth=2, framerate=44100, nframes=99999, comptype='NONE', compname='not compressed')

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

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

  1. पायथन का उपयोग करके कई फाइलों का नाम बदलें

    नाम बदलें () विधि का उपयोग Python3 में किसी फ़ाइल या निर्देशिका का नाम बदलने के लिए किया जाता है। नाम बदलें () विधि ओएस मॉड्यूल का एक हिस्सा है। os.rename के लिए सिंटैक्स () os.rename(src, dst) पहला तर्क src है जो नाम बदलने के लिए फ़ाइल का स्रोत पता है और दूसरा तर्क dstजो नए नाम के साथ गंतव्य है।

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

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