मेरे पास एक फ़ोल्डर है जहां मेरे पास अलग-अलग समय अंतराल के साथ डब्ल्यूएवी प्रारूप में लगभग 2000 ऑडियो फाइलें हैं, कहें कि कुछ 30 सेकंड में 40 हैं और मैं उन सभी को पायथन का उपयोग करके विभाजित करना चाहता हूं, मैंने पाइडब और विभिन्न पुस्तकालयों की कोशिश की और उनमें से सभी काम कर रहे थे केवल 1 फ़ाइल, मैं अजगर में सरल कोड के साथ एक लूप का उपयोग करके उन्हें विभाजित करना चाहता हूं।
नमूना कोड:
from pydub import AudioSegment
from pydub.utils import make_chunks
myaudio = AudioSegment.from_file("a0007.wav", "wav")
chunk_length_ms = 8000 # pydub calculates in millisec
chunks = make_chunks(myaudio,chunk_length_ms) #Make chunks of one sec
for i, chunk in enumerate(chunks):
chunk_name = "{0}.wav".format(i)
print ("exporting", chunk_name)
chunk.export(chunk_name, format="wav")
उपरोक्त कोड एक फ़ाइल के लिए काम कर रहा है जबकि मुझे फ़ोल्डर से फ़ाइलें लेने और उन सभी को विभाजित करने की आवश्यकता है
1 उत्तर
आपको अपनी निर्देशिका में सभी फ़ाइल नाम प्राप्त करने होंगे और फिर सभी फ़ाइल नामों के लिए पुनरावृति करनी होगी।
आप वर्तमान निर्देशिका में सभी फाइलों की सूची प्राप्त करने के लिए os
मॉड्यूल का उपयोग कर सकते हैं।
from pydub import AudioSegment
from pydub.utils import make_chunks
import os
def process_sudio(file_name):
myaudio = AudioSegment.from_file(file_name, "wav")
chunk_length_ms = 8000 # pydub calculates in millisec
chunks = make_chunks(myaudio,chunk_length_ms) #Make chunks of one sec
for i, chunk in enumerate(chunks):
chunk_name = './chunked/' + file_name + "_{0}.wav".format(i)
print ("exporting", chunk_name)
chunk.export(chunk_name, format="wav")
all_file_names = os.listdir()
try:
os.makedirs('chunked') # creating a folder named chunked
except:
pass
for each_file in all_file_names:
if ('.wav' in each_file):
process_sudio(each_file)
a0002.wav
.
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।