2009-07-26 13 views
11

मैंने एक छोटी परियोजना शुरू की जिसमें MIDI फ़ाइलों के साथ काम करना शामिल है। मैं सोच रहा हूं, क्या कोई सी # या वीबी.Net कोड है जो MIDI और WAV फ़ाइलों के बीच कास्ट करता है?मैं ci में midi से wav/mp3 के बीच कैसे परिवर्तित कर सकता हूं?

उत्तर

8

आप किसी भी तरह Timidity के साथ इंटरफेस है, जो मुक्त स्रोत है की कोशिश कर सकते:

कायरता ++ एक सॉफ्टवेयर सिंथेसाइज़र है। यह उन्हें एमडीआई फाइलों को पीसीएम वेवफॉर्म डेटा में परिवर्तित करके चला सकता है; इसे डिजिटल उपकरण डेटा फ़ाइलों के साथ एक MIDI डेटा दें, फिर यह उन्हें वास्तविक समय में संश्लेषित करता है, और नाटकों। यह न केवल ध्वनि बजा सकता है, बल्कि जेनरेट किए गए तरंगों को विभिन्न डिस्क फ़ाइल प्रारूपों के रूप में हार्ड डिस्क में भी सहेज सकता है।

FluidSynth एक वास्तविक समय सॉफ्टवेयर SoundFont 2 निर्देशों के आधार पर सिंथेसाइज़र है:

FluidSynth एक और अधिक हाल ही में अद्यतन एक समान नस में ओपन सोर्स प्रोजेक्ट है।

आप कुछ मुक्त SoundFonts this list पर साइटों से (इन सिंथेसाइज़र द्वारा इस्तेमाल किया "प्रस्तुत करना" के लिए मिडी फ़ाइलों वास्तविक पीसीएम डेटा) डाउनलोड कर सकते हैं।

+0

अच्छा लिंक, जैकब। –

+0

धन्यवाद, जब इसे वापस वापस खोजा। इस सूची से ध्वनि फोंट के साथ अच्छी तरह से काम करता है: http://en.wikipedia.org/wiki/SoundFont#Free_SoundFont_downloads – Jacob

+0

याकूब, इन लिंक के साथ बढ़िया काम। मुझे यकीन है कि वे उपयोगी होंगे। मुझे विशेष रूप से TiMidity ++ सुविधा पसंद है: 'नेटवर्क पर दूरस्थ MIDI फ़ाइलों को चलाता है' क्या आप जानते हैं कि मुझे .exe फ़ाइल कहां मिल सकती है? लिंकर सी ++ अनुप्रयोगों को कॉन्फ़िगर करते समय मैं हमेशा गड़बड़ हो जाता हूं (मैं एक महान सी ++ प्रोग्रामर नहीं हूं) – vondip

8

MIDI files में केवल नोट और नियंत्रक जानकारी होती है, जो नहीं लगता है। MIDI फ़ाइल से ध्वनि प्राप्त करने के लिए, आपको फ़ाइल को संगीत सिंथेसाइज़र या नमूने के माध्यम से पास करना होगा, जो नोट और नियंत्रक की जानकारी को वास्तविक ध्वनियों में परिवर्तित करेगा।

अभ्यास में इसका मतलब है कि किसी दिए गए MIDI फ़ाइल में इसकी कोई विशिष्ट ध्वनि नहीं है। ध्वनि जो MIDI फ़ाइल को ऑडियो में परिवर्तित करने के परिणामस्वरूप सिंथेसाइज़र या नमूना लाइब्रेरी की गुणवत्ता और रूपांतरण करने के लिए चुने गए ध्वनियों के आधार पर भिन्न हो जाएगी।

कई ध्वनि कार्डों में MIDI फ़ाइलों से ध्वनि बनाने की क्षमता होती है। वे ऐसा इसलिए कर सकते हैं क्योंकि कई MIDI फ़ाइलें General MIDI specification नामक मानक का पालन करती हैं। सामान्य MIDI विशिष्टता विशिष्ट उपकरण असाइनमेंट को मैप करने के लिए एक मानकीकृत तरीका प्रदान करती है। यदि आपकी एमआईडीआई फ़ाइल इस मानक के अनुरूप है, तो आप इसे सामान्य मिडी ध्वनि जनरेटर के माध्यम से खेल सकते हैं और एक जाल ड्रम की तरह ध्वनि के लिए एक फेंकने की उम्मीद कर सकते हैं, और एक तुरही की तरह नहीं।

यदि आपके पास Cakewalk जैसे परिष्कृत संगीत उत्पादन पैकेज हैं, तो आप इसमें MIDI फ़ाइल लोड कर सकते हैं, और यह आपके लिए ध्वनि फ़ाइल प्रस्तुत करने के लिए ऑन-बोर्ड ध्वनि पुस्तकालयों का उपयोग करेगा, और यह वास्तव में तेज़ी से किया जा सकता है वास्तविक समय (यानी इसे ध्वनि कार्ड के माध्यम से ध्वनि चलाने और आउटपुट को कैप्चर करने की आवश्यकता नहीं है)।

मुझे लगता है कि मैं क्या कहने की कोशिश कर रहा हूं कि इसमें बहुत सारे चलने वाले हिस्से हैं। कोड या कक्षा मॉड्यूल का एक टुकड़ा नहीं है जो आपके लिए यह करेगा।

+0

मैं चांदी की रोशनी पर मिडी फाइलों को चलाने में सक्षम होना चाहता हूं, क्या मैं बहुत अधिक खर्च कर रहा हूं? – vondip

+0

मुझे नहीं लगता कि आपको चांदी की रोशनी में खेलने के लिए MIDI को WAV में परिवर्तित करने की आवश्यकता है। यदि चांदी की रोशनी MIDI फ़ाइलों को मूल रूप से संभाल नहीं सकती है, तो आप MIDI फ़ाइलों को चलाने के लिए Windows मल्टीमीडिया API में टैप कर सकते हैं। – MusiGenesis

+0

मैं यह कैसे कर सकता हूं? सिल्वरलाइट के पर्यावरण ने मुझे उस तक पहुंचने से रोक दिया। मैं विंडोज मल्टीमीडिया एपीआई के लिए कॉम संदर्भ कैसे जोड़ सकता हूं? – vondip

0

ऐसे कई कार्यक्रम हैं जिन्हें आप खरीद सकते हैं (Google "मिडी को डब्ल्यूएवी में परिवर्तित करें"), लेकिन मैं कभी भी सार्वजनिक रूप से उपलब्ध नहीं हूं। नेट कोड जो यह करता है (मुझे लगता है कि इनमें से कुछ प्रोग्राम नेट में लिखा गया है, लेकिन स्रोत कोड उपलब्ध नहीं है)।

मेरे पास एक ऑनलाइन मित्र है जो एक वाणिज्यिक MIDI-to-WAV कनवर्टर पर काम कर रहा है, लेकिन यह नेट में नहीं है और यह ओपन सोर्स नहीं होगा। जैसा कि रॉबर्ट हार्वे ने उल्लेख किया है, यह बिल्कुल आसान काम नहीं है, क्योंकि इसमें मूल रूप से आपके स्वयं के सॉफ़्टवेयर सिंथेसाइज़र (मेरे दिल के बाद एक कार्य) लिखना शामिल है।

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