जेईएस के पास ध्वनि संपादन के लिए बुनियादी समर्थन है, लेकिन आप इसका उपयोग कुछ उपयोगी कार्यों को करने के लिए कर सकते हैं।
जेईएस एक प्रोग्राम है जो आपको छवियों, ध्वनियों और वीडियो को प्रोग्रामेटिक रूप से संशोधित करने देता है। ज्योथन भाषा सीखने में आपकी मदद करने के लिए जेईएस में कई अंतर्निहित कार्य और डिबगिंग टूल हैं।
JES का उपयोग करते हुए एक फ़ाइल आयात करते समय, आप एक अलग विंडो का उपयोग करके इसकी ध्वनि तरंगों की दृष्टि से जांच कर सकते हैं। आप विशिष्ट बिंदुओं पर इन ध्वनि तरंगों के आयाम मानों में हेरफेर भी कर सकते हैं। यह विभिन्न प्रभावों को प्राप्त करने के लिए ध्वनि फ़ाइल को संपादित करने में आपकी सहायता कर सकता है।
साउंड क्लिप का वॉल्यूम कैसे बदलें
जब आप जेईएस में एक छवि प्रस्तुत करें, आप इसमें शामिल अलग-अलग पिक्सेल तक पहुंच सकते हैं। आप निश्चित हासिल कर सकते हैं छवि प्रसंस्करण तकनीक प्रत्येक पिक्सेल के लिए लाल, हरे और नीले रंग के मानों को संपादित करके।
इसी तरह, एक ध्वनि फ़ाइल में कई अलग-अलग "नमूने" होते हैं जो ध्वनि डेटा के छोटे टुकड़े होते हैं। आप प्रत्येक नमूने में आयाम मान को बदलकर एक आयातित ध्वनि को संपादित कर सकते हैं।
इस प्रोजेक्ट में इस्तेमाल किया गया कोड इसमें उपलब्ध है गिटहब रेपो एमआईटी लाइसेंस के तहत।
- अपने कंप्यूटर पर जेईएस एप्लिकेशन खोलें।
- चेंजवॉल्यूम () नामक एक नया फ़ंक्शन बनाएं, जो उस वॉल्यूम को लेता है जिसे आप इनपुट के रूप में बदलना चाहते हैं:
डीईएफ़आयतन बदलें(वॉल्यूम):
- फ़ंक्शन के अंदर, एक वैध ध्वनि फ़ाइल का चयन करने के लिए उपयोगकर्ता से पूछने के लिए एक संकेत खोलें। हालाँकि JES mp3 फ़ाइलों के साथ संगत नहीं है, फिर भी आप WAV फ़ाइलें आयात कर सकते हैं। फ़ाइल संगत है यह सुनिश्चित करने के लिए कुछ सत्यापन जोड़ें:
फ़ाइल = पिकफ़ाइल ()
अगर फ़ाइल! = कोई नहींऔर फ़ाइल.एंड्सविथ (".वाव"):
# मान्य फ़ाइल के लिए कोड
अन्य:
प्रिंट ("अमान्य फ़ाइल चयनित। कृपया एक मान्य WAV फ़ाइल चुनें।") - यदि चयनित फ़ाइल मान्य है, तो इससे एक ध्वनि वस्तु बनाएँ:
ध्वनि = मेकसाउंड (फ़ाइल)
- ध्वनि के प्रत्येक नमूने के माध्यम से लूप करें:
के लिए मैं में श्रेणी(0, लम्बाई (ध्वनि) प्राप्त करें):
- जांचें कि उपयोगकर्ता पास हुआ है या नहीं ऊपर वॉल्यूम को ज़ोर से चालू करने के लिए फ़ंक्शन में। यदि ऐसा है, तो अंतर्निहित getSampleValueAt() फ़ंक्शन का उपयोग करके उस अनुक्रमणिका पर नमूना मान प्राप्त करें। आयाम को दोगुना करके वॉल्यूम बढ़ाएं, और नया मान सेट करने के लिए setSampleValueAt() का उपयोग करें:
अगर वॉल्यूम == 'ऊपर':
नमूनावैल = getSampleValueAt (ध्वनि, i)
setSampleValueAt (ध्वनि, i, नमूनाVal * 2) - जांचें कि उपयोगकर्ता पास हुआ है या नहीं नीचे वॉल्यूम को नरम बनाने के लिए फंक्शन में। यदि ऐसा है, तो उस इंडेक्स पर नमूना मान प्राप्त करें, और आयाम को कम करने के लिए इसे 2 से विभाजित करें:
अगर वॉल्यूम == 'नीचे':
नमूनावैल = getSampleValueAt (ध्वनि, i)
setSampleValueAt (ध्वनि, i, नमूनावैल / 2) - ध्वनि के लिए एक्सप्लोरर विंडो खोलने के लिए एक्सप्लोर () फ़ंक्शन का उपयोग करें:
एक्सप्लोर (ध्वनि)
- पर क्लिक करें लोड कार्यक्रम बटन, प्रोग्रामिंग क्षेत्र और कमांड लाइन के बीच स्थित है। संकेत मिलने पर फ़ाइल सहेजें:
- कमांड लाइन पर चेंजवॉल्यूम() फ़ंक्शन चलाएं, फ़ंक्शन के तर्क के रूप में "ऊपर" पास करें:
वॉल्यूम बदलें ("ऊपर")
- फ़ाइल एक्सप्लोरर विंडो का उपयोग करके, वैध ध्वनि फ़ाइल पर नेविगेट करें:
- पर क्लिक करें संपूर्ण ध्वनि चलाएं नई विंडो का उपयोग कर बटन:
- कमांड लाइन में, तर्क के रूप में "डाउन" मान के साथ चेंजवॉल्यूम() को फिर से चलाएं, और एक फ़ाइल चुनें:
वॉल्यूम बदलें ("नीचे")
- एक्सप्लोरर विंडो में आप देखेंगे कि ध्वनि तरंगें छोटी हैं। पर क्लिक करें संपूर्ण ध्वनि चलाएं नई विंडो का उपयोग कर बटन:
साउंड क्लिप को कैसे उल्टा करें
आप एक नई खाली ध्वनि बनाकर और मूल ध्वनि के प्रत्येक नमूने को नए ध्वनि में उल्टे क्रम में कॉपी करके ध्वनि को उल्टा कर सकते हैं।
- एक नए फ़ंक्शन में, उपयोगकर्ता को WAV फ़ाइल चुनने के लिए कहें, और जाँचें कि फ़ाइल वैध है:
डीईएफ़रिवर्स साउंड():
फ़ाइल = पिकफ़ाइल ()अगर फ़ाइल! = कोई नहींऔर फ़ाइल.एंड्सविथ (".वाव"):
# मान्य फ़ाइल के लिए कोड
अन्य:
प्रिंट ("अमान्य फ़ाइल चयनित। कृपया एक मान्य WAV फ़ाइल चुनें।") - चयनित फ़ाइल से एक नई ध्वनि वस्तु बनाएँ:
ध्वनि = मेकसाउंड (फ़ाइल)
- एक नया खाली साउंड ऑब्जेक्ट बनाने के लिए बिल्ट-इन मेकइम्प्टीसाउंड () फ़ंक्शन का उपयोग करें। इसमें मूल ध्वनि के समान संख्या में नमूने शामिल होंगे। प्रत्येक नमूने के लिए आयाम मान 0 होगा:
newReversedSound = MakeEmptySound (getLength (ध्वनि))
- नई खाली ध्वनि वस्तु के प्रत्येक नमूने के माध्यम से लूप करें:
के लिए मैं में श्रेणी(0, getLength (newReversedSound)):
- उस बिंदु पर प्रत्येक नमूने के लिए, ध्वनि के विपरीत छोर पर नमूना प्राप्त करें। उदाहरण के लिए, यदि नमूना लंबाई 100 है, और वर्तमान सूचकांक 0 है, तो यह सूचकांक 99 पर नमूना मान प्राप्त करेगा। इसी तरह, अगर मौजूदा इंडेक्स 3 है, तो इसे इंडेक्स 96 पर सैंपल वैल्यू मिलेगी:
नमूनावैल = getSampleValueAt (ध्वनि, getLength (ध्वनि) - 1 - मैं)
- नमूना मूल्य को ध्वनि के दूसरे छोर से नई ध्वनि की वर्तमान अनुक्रमणिका में कॉपी करें:
setSampleValueAt (newReversedSound, i, sampleVal)
- नई उलटी ध्वनि का अन्वेषण करें। आप तुलनात्मक उद्देश्यों के लिए मूल ध्वनि का भी पता लगा सकते हैं:
एक्सप्लोर (ध्वनि)
एक्सप्लोर करें (नई उलटी ध्वनि) - पर क्लिक करें लोड कार्यक्रम बटन, प्रोग्रामिंग क्षेत्र और कमांड लाइन के बीच स्थित है। संकेत मिलने पर फाइल को सेव करें।
- कमांड लाइन का उपयोग करके फ़ंक्शन चलाएँ:
रिवर्ससाउंड ()
- एक्सप्लोरर विंडो का उपयोग करके मूल ध्वनि और उलटी ध्वनि देखें। पर क्लिक करें संपूर्ण ध्वनि चलाएं मतभेद सुनने के लिए बटन:
एक साथ दो साउंड क्लिप कैसे जुड़ें
दो ध्वनि क्लिप को एक साथ जोड़ने के लिए, आप उपयोगकर्ता से दो अलग-अलग WAV फ़ाइलों का चयन करने के लिए कह सकते हैं। दोनों ध्वनियों के प्रत्येक नमूने को नई ध्वनि वस्तु पर कॉपी करें।
- JoinSounds () नामक एक नया फ़ंक्शन बनाएँ:
डीईएफ़joinSounds():
- उपयोगकर्ता को पहली फ़ाइल चुनने के लिए संकेत देने के लिए pickAFile() फ़ंक्शन का उपयोग करें। यदि यह अमान्य है, तो एक त्रुटि संदेश प्रिंट करें:
फ़ाइल 1 = पिकफ़ाइल ()
अगर फ़ाइल 1 == कोई नहींयानहीं file1.endswith(".वाव"):
प्रिंट ("अमान्य फ़ाइल चयनित। कृपया एक मान्य WAV फ़ाइल चुनें।") - उपयोगकर्ता से दूसरी वैध ध्वनि फ़ाइल के लिए पूछने के लिए फिर से पिकएफ़ाइल () फ़ंक्शन का उपयोग करें:
फ़ाइल 2 = पिकफ़ाइल ()
अगर फ़ाइल 2 == कोई नहींयानहीं फ़ाइल2.endswith(".वाव"):
प्रिंट ("अमान्य फ़ाइल चयनित। कृपया एक मान्य WAV फ़ाइल चुनें।") - दो चयनित ध्वनि फ़ाइलों से दो ध्वनि वस्तुएँ बनाएँ:
साउंड 1 = मेकसाउंड (फ़ाइल 1)
साउंड 2 = मेकसाउंड (फ़ाइल 2) - नई सम्मिलित ध्वनि की लंबाई की गणना करने के लिए दो ध्वनियों की लंबाई को एक साथ जोड़ें। लंबाई का उपयोग करके एक नई खाली ध्वनि वस्तु बनाएँ:
newSoundLength = getLength (sound1) + getLength (sound2)
joinSound = MakeEmptySound (newSoundLength) - पहली ध्वनि के प्रत्येक नमूने के माध्यम से लूप करें। नई ध्वनि पर प्रत्येक अनुक्रमणिका पर नमूना मान की प्रतिलिपि बनाएँ:
के लिए मैं में श्रेणी(0, लंबाई प्राप्त करें (ध्वनि 1)):
नमूनावैल = getSampleValueAt (ध्वनि 1, i)
setSampleValueAt (शामिल ध्वनि, i, नमूनावैल) - दूसरी ध्वनि के प्रत्येक नमूने के माध्यम से लूप करें। पहली ध्वनि के बाद, नई ध्वनि पर प्रत्येक अनुक्रमणिका पर नमूना मान कॉपी करें:
के लिए मैं में श्रेणी(0, लम्बाई (ध्वनि 2) प्राप्त करें):
नमूनावैल = getSampleValueAt (ध्वनि 2, i)
endOfFirstSound = getLength (sound1) - 1
setSampleValueAt (जॉइनसाउंड, एंडऑफफर्स्टसाउंड + आई, सैंपलवैल) - एक्सप्लोर () फ़ंक्शन का उपयोग करके ध्वनि का अन्वेषण करें:
एक्सप्लोर करें (साउंड में शामिल हो गए)
- पर क्लिक करें लोड कार्यक्रम बटन, प्रोग्रामिंग क्षेत्र और कमांड लाइन के बीच स्थित है। संकेत मिलने पर फाइल को सेव करें।
- कमांड लाइन का उपयोग करके फ़ंक्शन चलाएँ:
जॉइनसाउंड्स ()
- नई विंडो का उपयोग करके सम्मिलित ध्वनि देखें, और पर क्लिक करें संपूर्ण ध्वनि चलाएं ध्वनि सुनने के लिए बटन:
JES का उपयोग करके ध्वनि फ़ाइलों का आयात और संपादन
अब आप समझ गए हैं कि ध्वनि फ़ाइलों को कैसे आयात करें और उन्हें JES का उपयोग करके संपादित करें। JES द्वारा पेश किए जाने वाले कई अन्य अंतर्निहित कार्य हैं, जो आपको और भी उन्नत ध्वनि संपादन करने की अनुमति देंगे।
आप JES सहायता विंडो का उपयोग करके उपलब्ध अन्य कार्यों के बारे में अधिक जान सकते हैं।