data-structures - tutorial - रैखिक डेटा संरचना




आप डेटा संरचना में संगीत का प्रतिनिधित्व कैसे करते हैं? (4)

MIDI फाइलें ऐसा करने का सामान्य तरीका होगी। मिडी संगीत नोटों के बारे में डेटा को संचित करने के लिए एक मानक प्रारूप है, जिसमें शुरूआती और समाप्ति समय, नोट वॉल्यूम, यह किस उपकरण पर खेला जाता है, और विभिन्न विशेष विशेषताओं; आप पढ़ना और फ़ाइलों को लिखने और उन में डेटा का प्रतिनिधित्व करने के लिए एरे या ऑब्जेक्ट्स के संदर्भ में बहुत सारे अधिलेखित लाइब्रेरीज़ (कुछ खुले स्रोत सहित) पा सकते हैं, हालांकि वे प्रत्येक नोट के लिए एक ऑब्जेक्ट रखने से आमतौर पर ऐसा नहीं करते हैं, जो बहुत अधिक स्मृति ओवरहेड जोड़ें।

MIDI में परिभाषित उपकरणों की संख्या केवल 1 से 128 तक होती है, जिसमें प्रतीकात्मक नाम होते हैं, जैसे वायलिन या ट्रम्पेट, लेकिन MIDI स्वयं कुछ भी नहीं बताता है कि उपकरण वास्तव में कैसा ध्वनि चाहिए। यह एक सिंथेसाइज़र का काम है, जो उच्च-स्तरीय MIDI डेटा लेता है जो इसे ध्वनि में रूपांतरित करता है। सिद्धांत रूप में, हां, आप साइन तरंगों को दबाने से कोई भी आवाज बना सकते हैं, लेकिन वह व्यवहार में अच्छी तरह से काम नहीं करता है क्योंकि यह समानांतर में कुछ पटरियों को खेलने के लिए एक बार आपको कम्प्यूटेशनल गहन हो जाता है; भी, एक साधारण फूरियर स्पेक्ट्रम (साइन तरंगों की रिश्तेदार तीव्रता) पर्याप्त नहीं है जब आप किसी साधन की वास्तविक ध्वनि को पुनरुत्पादित करने की कोशिश कर रहे हैं और यह एक इंसान को खेलने की अभिव्यक्ति है। (मैंने ऐसा करने के लिए एक साधारण सिंथेसाइज़र लिखा है, इसलिए मुझे पता है कि यह एक सभ्य ध्वनि पैदा कर सकता है) संश्लेषण के विज्ञान में बहुत सारे शोध किए जा रहे हैं, और सामान्यतः डीएसपी (डिजिटल सिग्नल प्रोसेसिंग), तो आपको चाहिए निश्चित रूप से बहुत सारे पुस्तकों और वेब पेजों को खोजने के लिए इसके बारे में पढ़ने के लिए यदि आप चाहते हैं।

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

नियमित मानक संकेतन में एक एकल लिखत के लिए आप एक साधारण संगीत स्कोर कैसे तैयार करेंगे? निश्चित रूप से वहाँ बहुत सारे पुस्तकालय हैं जो वास्तव में ऐसा करते हैं। मैं डेटा संरचना में संगीत का प्रतिनिधित्व करने के विभिन्न तरीकों के बारे में अधिक उत्सुक हूं। क्या अच्छा काम करता है और क्या नहीं?

गतिशीलता जैसे कुछ पेचीदा पहलुओं को अनदेखा करते हुए स्पष्ट रूप से सभी वस्तुओं का एक शब्द का अनुवाद ऑब्जेक्ट में होगा - उपाय से बना अंक एक नोट्स से बना है। संश्लेषण, मुझे लगता है, प्रत्येक नोट के आरंभ / समाप्ति समय का पता लगाने और साइन लहरों को सम्मिश्रित करने का मतलब होगा।

स्पष्ट तरीका क्या एक अच्छा तरीका है? ऐसा करने के अन्य तरीके क्या हैं?


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

साइन लहरों को सम्मिश्रण करने की एक विधि है, लेकिन यह बहुत दुर्लभ है (यह महंगा है और बहुत अच्छा नहीं लगता है)। Wavetable संश्लेषण (जो मेरे सॉफ्टवेयर का उपयोग करता है) कम्प्यूटेशनल रूप से सस्ती और अपेक्षाकृत आसान कोड है, और अनिवार्य रूप से असीमित है जो इसे उत्पन्न कर सकते हैं।


एक डेटा संरचना में संगीत, मानक संकेतन, ...

लगता है जैसे आप लिलीपोंड में रुचि रखते हैं

संगीत संकेतन के बारे में अधिकांश चीजें लगभग विशुद्ध तौर पर मैकेनिकल हैं (नोटेशन के जटिल, गैर-तुच्छ भागों के लिए नियम और दिशानिर्देश भी हैं), और लिलीपोंड उन सभी मैकेनिकल पहलुओं की देखभाल करने के लिए एक सुंदर काम करता है। क्या छोड़ा गया इनपुट फ़ाइलें हैं जो किसी भी टेक्स्ट एडिटर में लिखना आसान हैं पीडीएफ के अलावा, लिलीपंड मिडी फाइलों का भी उत्पादन कर सकता है

यदि आप ऐसा लगाव लगा, तो आप एक प्रोग्राम के साथ पाठ फ़ाइलों को algorythimically जनरेट कर सकते हैं और लिलीपॉंड को इसे संकेतन और आपके लिए एक मिडी फ़ाइल में कनवर्ट कर सकते हैं।

मुझे शक है आप LilyPond के लिए एक इनपुट फ़ाइल की तुलना में संगीत को व्यक्त करने के लिए एक अधिक पूर्ण और संक्षिप्त तरीका मिल सकता है

कृपया समझें कि संगीत और संगीतमय संकेतन पदानुक्रमित नहीं हैं और क्रमबद्ध सोच के सख़्त अनुपालन के आधार पर मॉडलिंग नहीं किया जा सकता (अच्छा) उस विषय पर mor जानकारी के लिए पढ़ें

मज़े करो!


नए आम पश्चिमी संगीत संकेतन परियोजनाओं को बनाने वाले कई लोग म्यूजिकएक्सएमएल को एक प्रारंभिक बिंदु के रूप में उपयोग करते हैं। यह संगीत संकेतन का पूरा प्रतिनिधित्व प्रदान करता है जो आप अपनी आवश्यकताओं को पूरा करने के लिए सबसेट कर सकते हैं। अब एक XSD स्कीमा परिभाषा है कि प्रोक्सी म्यूज़िक जैसी प्रोजेक्ट्स MusicXML ऑब्जेक्ट मॉडल बनाने के लिए उपयोग करते हैं। ProxyMusic इन जावा में बनाता है, लेकिन आप अन्य भाषाओं में अन्य XML डेटा बाध्यकारी उपकरण के समान कुछ करने में सक्षम होना चाहिए।

जैसा कि एक MusicXML ग्राहक इसे डालता है:

"म्यूजिकएक्सएमएल पर आपकी सभी कड़ी मेहनत का एक बहुत ही महत्वपूर्ण लाभ है जहां तक ​​मुझे चिंतित है कि मैं इसे एक स्पष्ट, संरचित और बहुत ही वास्तविक दुनिया व्यावहारिक 'विनिर्देशन के रूप में उपयोग कर रहा हूं जो कि संगीत' है 'ताकि डिजाइन और कार्यान्वित किया जा सके मेरे आवेदन की आंतरिक डेटा संरचनाएं। "

अधिक जानकारी उपलब्ध है - एक्सएसडी और डीटीडीएस, नमूना फाइल, एक ट्यूटोरियल, समर्थित एप्लिकेशन की सूची, प्रकाशनों की सूची, और बहुत कुछ - पर

http://www.makemusic.com/musicxml

मानक संकेतन में एक साधारण संगीत स्कोर के लिए MIDI बहुत अच्छा मॉडल नहीं है मिडी में कई संगीत अवधारणाओं की बुनियादी अवधारणाओं का अभाव है इसे एक प्रदर्शन स्वरूप, एक नेशन प्रारूप नहीं बनाया गया था।

यह सच है कि संगीत संकेतन पदानुक्रमित नहीं है चूंकि एक्सएमएल पदानुक्रमित है, म्यूजिकएक्सएमएम गैर-पदानुक्रमित जानकारी का प्रतिनिधित्व करने के लिए युग्मित स्टार्ट-स्टॉप तत्वों का उपयोग करता है। एक मूल डेटा संरचना अधिक सीधे चीजों का प्रतिनिधित्व कर सकती है, जो एक कारण है कि MusicXML डेटा संरचना के लिए सिर्फ एक प्रारंभिक बिंदु है।

संगीत संकेतन का प्रतिनिधित्व करने का एक अधिक सीधा तरीका है जो इसके समकालिक क्षैतिज और ऊर्ध्वाधर संरचना को पकड़ता है, हुड्रम स्वरूप को देखें, जो एक स्प्रैडशीट / लैटीस मॉडल का अधिक उपयोग करता है। ह्यूमरम का विशेष रूप से संगीतशास्त्र और संगीत विश्लेषण अनुप्रयोगों में उपयोग किया जाता है जहां इसका डेटा संरचना विशेष रूप से अच्छी तरह से काम करता है





music