2008-09-20 15 views
39

मैं मस्ती के लिए पाइथन में एक छोटी ड्रम मशीन लिखने पर विचार कर रहा हूं। मैं कुछ googled है और generating audio files पर music और basic audio पर अजगर पृष्ठों के साथ ही एक StackOverflow सवाल पाया है, लेकिन मैं क्या तलाश कर रहा हूँ संगीत रचना के लिए एक सभ्य पुस्तकालय है। क्या किसी ने यहां इस तरह कुछ करने की कोशिश की है? यदि हां, तो आपका समाधान क्या था? क्या, मैंने पाया है, या जो कुछ मैंने नहीं पाया है, ऑडियो हेरफेर के लिए एक सभ्य पुस्तकालय होगा?पायथन संगीत पुस्तकालय?

न्यूनतम रूप से, मैं पाइथन के भीतर Audacity's दायरे के समान कुछ करने में सक्षम होना चाहता हूं, लेकिन अगर कोई ऐसी लाइब्रेरी के बारे में जानता है जो अधिक कर सकता है ... मैं सभी कान हूं।

+0

+1 mos def। प्रेरणा के लिए धन्यवाद :) प्रगति कैसे है? – ohnoes

+0

संभावित रूप से उपयोगी संसाधन http://wiki.python.org/moin/PythonInMusic – ohnoes

उत्तर

4

कई प्रकार के पायथन संगीत सॉफ्टवेयर हैं, आप एक कैटलॉग here पा सकते हैं।

आप लिंक किए गए पृष्ठ नीचे स्क्रॉल, तो आप MusicKit और PySndObj सहित कई संगीत रचना संकुल का वर्णन अजगर में संगीत प्रोग्रामिंग पर एक अनुभाग ढूंढें।

+0

पर भी मिल सकते हैं क्या आप मेरे लिंक पर नहीं गए थे? – akdom

+0

क्या आपने इनमें से किसी के साथ काम किया है, या आप सिर्फ फीचर सूची से पढ़ रहे हैं? – akdom

7

मुझे इस साल पहले ऐसा करना था। मैंने पाइमेडिया का इस्तेमाल किया। मुझे यकीन नहीं है कि यह अभी भी किसी भी तरह से है, यहां कुछ टेस्ट कोड है जो मैंने लिखा था जब मैं इसके साथ खेल रहा था। हालांकि यह लगभग 3 साल पुराना है।

संपादित करें: नमूना कोड निभाता है एक एमपी 3 फ़ाइल

import pymedia 
import time 

demuxer = pymedia.muxer.Demuxer('mp3') #this thing decodes the multipart file i call it a demucker 

f = open(r"path to \song.mp3", 'rb') 


spot = f.read() 
frames = demuxer.parse(spot) 
print 'read it has %i frames' % len(frames) 
decoder = pymedia.audio.acodec.Decoder(demuxer.streams[0]) #this thing does the actual decoding 
frame = decoder.decode(spot) 
print dir(frame) 
#sys.exit(1) 
sound = pymedia.audio.sound 
print frame.bitrate, frame.sample_rate 
song = sound.Output(frame.sample_rate, frame.channels, 16) #this thing handles playing the song 

while len(spot) > 0: 
    try: 
     if frame: song.play(frame.data) 
     spot = f.read(512) 
     frame = decoder.decode(spot) 
    except: 
     pass 

while song.isPlaying(): time.sleep(.05) 
print 'well done' 
+1

पायमीडिया वास्तव में अभी भी आसपास है। क्या यह नमूना एक दी गई एमपी 3 फ़ाइल चलाता है? यह ध्यान रखना अच्छा होगा कि यह क्या करता है, बस थोड़ा सा जवाब स्पष्ट करने के लिए। – akdom

13

cSounds पर एक करीबी नजर डालें। पाइथन बाइंडिंग आपको सुंदर लचीली डिजिटल संश्लेषण करने की अनुमति देती है। कुछ सुंदर पूर्ण पैकेज भी उपलब्ध हैं।

पैकेज के लिए http://www.csounds.com/node/188 देखें।

http://www.csounds.com/journal/issue6/pythonOpcodes.html सीएसओड्स के भीतर पायथन स्क्रीप्टिंग के बारे में जानकारी के लिए देखें।

1

जो पहले उल्लेख किया गया है इसके अतिरिक्त, मैंने एक साधारण पायथन ऑडियो संपादक लिखा था। http://code.google.com/p/yaalp/source/browse/#svn/trunk main.py देखें।

इसमें ऑडियो मैनिपुलेशन और कुछ प्रभाव भी हैं।

कोड का जीपीएल, तो यह आपके लिए एक शुरुआती बिंदु हो सकता है।

संबंधित मुद्दे