2012-04-23 13 views
14

मैंने पाइमेडिया (बंद कर दिया), पिगलेट (महान लेकिन वहां कोई कनवर्टर नहीं) और ऑडियोटूल (कमांड लाइन सीडी रैपिंग) देखा है, और कोई भी उपयुक्त प्रतीत नहीं होता है।पायथन कनवर्ट करने के लिए एमपी 3

अजगर 2.7 में, कैसे आप एक तरह से जो अजगर आह्वान कर सकते हैं में

convert(wavFileLocation, 'mp3') 

अगर कोई अजगर तरीका है क्या करते हो, तुम कैसे करते हैं? (जैसे, ... एक क्रॉस प्लेटफार्म कमांड लाइन टूल कॉल करता है, तो मौजूद वापसी (नाम pythonCodeForInvocation))

+1

जो ओएस का उपयोग करें? लिनक्स में कुछ महान कमांड लाइन सुविधाएं हैं जो आपको बिना किसी मुद्दे के ऐसा करने की अनुमति देगी। – g19fanatic

+0

लिनक्स =) लेकिन इसे मैक पर भी – xxjjnn

+3

लिनक्स के लिए चलाने की जरूरत है, यह समाधान आपको एक उत्तर देता है http://stackoverflow.com/a/6578380/496405 ffmpeg का उपयोग मैक के तहत भी काम करना चाहिए :) – g19fanatic

उत्तर

11

lame (कमांड लाइन) का उपयोग कर, आप इस तरह एमपी 3 के लिए wav सांकेतिक शब्दों में बदलना कर सकते हैं:

$ lame --preset insane /path/to/file.wav 

जायें जो कि बनाने के लिए:

file.wav.mp3 
अजगर में

, आप subprocess इस्तेमाल कर सकते हैं इसे कहते हैं:

wav = 'myfile.wav' 
cmd = 'lame --preset insane %s' % wav 
subprocess.call(cmd, shell=True) 
15

मैंने python library, pydub लिखा, जो अनिवार्य रूप से कोरी के उत्तर से पता चलता है, हालांकि यह अधिक प्रारूपों का समर्थन करने के लिए रूपांतरण करने के लिए ffmpeg का उपयोग करता है।

from pydub import AudioSegment 

AudioSegment.from_wav("/input/file.wav").export("/output/file.mp3", format="mp3") 
+0

धन्यवाद @Jiarro यह मॉड्यूल! क्या रीयलटाइम में एमपी 3-एन्कोड करना संभव है? मैं एक "रिकॉर्ड" बटन के साथ एक सॉफ्टवेयर डिजाइन कर रहा हूं, और मैं एमपी 3 में रीयलटाइम में डिस्क पर रिकॉर्ड (उदाहरण: माइक्रोफोन इनपुट से) रिकॉर्ड करना चाहता हूं। क्या यह संभव है ? – Basj

+1

@Basj वर्तमान में नहीं, नहीं - आपको डिस्क पर फ़ाइल में WAV डेटा को सहेजने की आवश्यकता होगी, और उसके बाद इसे एमपी 3 में परिवर्तित करें। स्टीम्स/इटरेटर्स पर काम करने के लिए समर्थन के बारे में कुछ चर्चा हुई है, लेकिन अभी तक कुछ भी नहीं हुआ है – Jiaaro

3

आपको पाइडब के लिए जाना होगा, यह ऑडियो फ़ाइलों से संबंधित संचालन के लिए एक महान मॉड्यूल है।

नोट। Pydub का उपयोग करने से पहले ffmpeg इंस्टॉल करना याद रखें।

ffmpeg की स्थापना के संबंध में सहायता के लिए, आप इस link का उपयोग कर सकते हैं।

फिर pydub सिर्फ अपने कमांड प्रॉम्प्ट खोलें और टाइप

pip install pydub 

फिर एमपी 3 के लिए wav से किसी भी फ़ाइल को रूपांतरित करने स्थापित करने के लिए सिर्फ pydub

रूप
import pydub 
sound = pydub.AudioSegment.from_wav("D:/example/apple.wav") 
sound.export("D:/example/apple.mp3", format="mp3") 
संबंधित मुद्दे