यदि आप कभी किसी गाने की गति को बदले बिना उसकी पिच को बदलना चाहते हैं, तो यह ब्लॉग पोस्ट आपके लिए है। संगीतकारों, डीजे और ऑडियो इंजीनियरों के लिए पिच-शिफ्टिंग एक सामान्य कार्य है। इस ट्यूटोरियल में, हम यह पता लगाएंगे कि पायथन और पायडब लाइब्रेरी का उपयोग करके किसी गाने को कैसे डाउन-पिच किया जाए और इस प्रक्रिया को एक फ़ोल्डर में कई गानों पर स्वचालित रूप से लागू किया जाए।
संगीत में, पिच-शिफ्टिंग का अर्थ है किसी गाने की पिच को तेज या धीमा किए बिना बदलना (उसे बढ़ाना या कम करना)। यह इसके लिए उपयोगी हो सकता है:
एक गाने की कुंजी को दूसरे ट्रैक से मिलाना
एक अलग कुंजी पर ट्यून किए गए उपकरणों के लिए गाने ट्रांसपोज़ करना
रीमिक्स या मैशअप बनाना
ऑडियो फ़ाइलों में हेरफेर करने के लिए हम पायथन लाइब्रेरी pydub का उपयोग करेंगे। आप इसे पाइप का उपयोग करके इंस्टॉल कर सकते हैं:
pip install pydub
इसके अतिरिक्त, pydub को MP3 जैसी ऑडियो फ़ाइलों को संभालने के लिए ffmpeg की आवश्यकता होती है। आप टर्मिनल के माध्यम से ffmpeg इंस्टॉल कर सकते हैं:
sudo apt install ffmpeg
अब आइए पायथन स्क्रिप्ट पर ध्यान दें जो एक फ़ोल्डर में कई गानों के लिए पिच-शिफ्टिंग को स्वचालित करता है। स्क्रिप्ट गाने फ़ोल्डर में फ़ाइलों के माध्यम से लूप करती है, उन्हें आधे-चरण (सेमीटोन = -1) द्वारा डाउन-पिच करती है, और नई फ़ाइलों को आउटपुट फ़ोल्डर में सहेजती है।
import os from pydub import AudioSegment # Function to shift pitch down def pitch_shift(audio, semitones): # Adjust sample rate to shift pitch new_sample_rate = int(audio.frame_rate * (2.0 ** (semitones / 12.0))) return audio._spawn(audio.raw_data, overrides={'frame_rate': new_sample_rate}).set_frame_rate(audio.frame_rate) # Input and output folders input_folder = './songs' output_folder = './output' # Ensure the output folder exists os.makedirs(output_folder, exist_ok=True) # Loop through all files in the songs folder for filename in os.listdir(input_folder): # Check if the file is an audio file (e.g., mp3 or wav) if filename.endswith(".mp3") or filename.endswith(".wav"): # Construct the full file path input_path = os.path.join(input_folder, filename) output_path = os.path.join(output_folder, filename) # Load the audio file audio = AudioSegment.from_file(input_path) # Shift pitch down by a half-step (semitone = -1) shifted_audio = pitch_shift(audio, -1) # Export the pitch-shifted audio to the output folder shifted_audio.export(output_path, format="mp3") print(f"Processed and saved: {output_path}")
पुस्तकालय आयात करना:
हम ऑडियो फ़ाइलों में हेरफेर करने के लिए pydub से फ़ाइल निर्देशिकाओं और ऑडियोसेगमेंट के साथ काम करने के लिए ओएस आयात करते हैं।
पिच-शिफ्ट फ़ंक्शन:
पिच_शिफ्ट फ़ंक्शन ऑडियो की नमूना दर को समायोजित करता है। जब हम नमूना दर बदलते हैं, तो पिच बदल जाती है। इस मामले में, हम सूत्र का उपयोग करके पिच को एक सेमीटोन से नीचे स्थानांतरित करने के लिए नई नमूना दर की गणना करते हैं:
new_sample_rate = int(audio.frame_rate * (2.0 ** (सेमीटोन / 12.0)))
इनपुट और आउटपुट फ़ोल्डर:
हम उन फ़ोल्डरों को परिभाषित करते हैं जहां हम ऑडियो फ़ाइलें पढ़ेंगे और पिच-शिफ्ट किए गए संस्करणों को सहेजेंगे। यदि आउटपुट फ़ोल्डर मौजूद नहीं है, तो इसे बनाया जाएगा।
गाने के माध्यम से लूप करें:
os.listdir() का उपयोग करके, हम गाने फ़ोल्डर में प्रत्येक फ़ाइल को लूप करते हैं। स्क्रिप्ट यह जाँचती है कि फ़ाइल संसाधित करने से पहले एक ऑडियो फ़ाइल (.mp3 या .wav) है या नहीं। प्रत्येक फ़ाइल के लिए:
निर्यात और प्रतिक्रिया:
एक बार प्रसंस्करण पूरा हो जाने के बाद, पिच-शिफ्ट किया गया गाना आउटपुट फ़ोल्डर में सहेजा जाता है, और एक पुष्टिकरण संदेश मुद्रित होता है।
सुनिश्चित करें कि आपकी ऑडियो फ़ाइलें गाने फ़ोल्डर में हैं और फिर स्क्रिप्ट चलाएँ:
python -m pitch_down.py
पिच-शिफ्ट की गई फ़ाइलें आउटपुट फ़ोल्डर में सहेजी जाएंगी।
आप इस स्क्रिप्ट को आसानी से संशोधित कर सकते हैं:
एक सकारात्मक मान पास करके ऑडियो को पिच करें (उदाहरण के लिए, आधा कदम ऊपर के लिए पिच_शिफ्ट(ऑडियो, 1)।
सशर्त जांच में .ogg या .flac जैसे अन्य एक्सटेंशन जोड़कर विभिन्न फ़ाइल स्वरूपों को संसाधित करें।
सेमीटोन तर्क को समायोजित करके सेमीटोन की एक अलग संख्या द्वारा बदलाव।
यह स्क्रिप्ट पायथन का उपयोग करके कई ऑडियो फ़ाइलों को पिच-शिफ्ट करने का एक सरल लेकिन शक्तिशाली तरीका है। pydub और ffmpeg के साथ, आप बड़ी मात्रा में ऑडियो फ़ाइलों में हेरफेर कर सकते हैं, जिससे संगीतकारों, निर्माताओं या ऑडियो के साथ काम करने वाले किसी भी व्यक्ति के लिए पिच सुधार या ऑडियो तैयारी जैसे कार्य आसान हो जाते हैं।
इस स्क्रिप्ट के साथ बेझिझक प्रयोग करें और देखें कि आप इसे अपनी आवश्यकताओं के अनुसार कैसे अनुकूलित कर सकते हैं। हैप्पी कोडिंग!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3