प्रक्रियात्मक संगीत पीढ़ी की तकनीक [बंद]


89

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

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


19
वास्तव में प्रोग्रामिंग / निर्माण / संगीत बनाने के बारे में एक संगीत सवाल! : D
Oddmund

जवाबों:


28

सेलुलर ऑटोमेटा - पढ़ा

आप इसे यहां आज़मा भी सकते हैं

संपादित करें:

rakkarage ने एक और संसाधन की आपूर्ति की है: http://www.ibm.com/developerworks/java/library/j-camusic/


1
वुल्फराम कितना होशियार है! महान काम इस तरह की चीज़ को इतना सुलभ भी बना देता है ...
डिफमेटा

मैं इसे अपने उबंटू बॉक्स पर काम नहीं करवा पा रहा था। :(
कैलमेरियस


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

42

सबसे सफल प्रणाली संभवतः कई तकनीकों को जोड़ती है। मुझे संदेह है कि आपको एक ऐसी तकनीक मिलेगी जो संगीत के सभी शैलियों में माधुर्य, सद्भाव, लय और बास अनुक्रम निर्माण के लिए अच्छी तरह से काम करती है।

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

  • मेलोडी जनरेशन के लिए, की-रिलेटिव नोट संख्याएँ आज़माएँ (जैसे यदि कुंजी C छोटी है, C 0 होगी, D 1 होगी, D # 2 होगी और इसी तरह)
  • सद्भाव पीढ़ी के लिए, कॉर्ड की जड़ के लिए मुख्य-सापेक्ष नोट संख्याओं के संयोजन का प्रयास करें, कॉर्ड का प्रकार (प्रमुख, मामूली, कम, संवर्धित, आदि) और कॉर्ड के व्युत्क्रम (मूल, पहले या दूसरे)

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

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

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

एक विशेषज्ञ प्रणाली का उपयोग अन्य तकनीकों द्वारा उत्पन्न अनुक्रमों को सत्यापित करने के लिए किया जा सकता है। ऐसी मान्यता प्रणाली के लिए ज्ञान का आधार शायद किसी भी अच्छे संगीत सिद्धांत की किताब या वेबसाइट से उठाया जा सकता है। रिक्की एडम्स ' musictheory.net की कोशिश करें ।


10

इन तकनीकों में 50 से अधिक वर्षों के शोध हैं, अक्सर डेवलपर्स द्वारा अनदेखी की जाती है जो कंप्यूटर संगीत और एल्गोरिथम रचना के इतिहास से परिचित नहीं हैं। सिस्टम और अनुसंधान के कई उदाहरण जो इन मुद्दों को संबोधित करते हैं, उन्हें यहां पाया जा सकता है:

http://www.algorithmic.net


7

एक आसान और कुछ हद तक प्रभावी एल्गोरिदम एक पैमाने से अवधि और नोट्स का चयन करने के लिए 1 / f शोर उर्फ ​​"गुलाबी शोर" का उपयोग करना है। यह संगीत की तरह लगता है और एक अच्छा प्रारंभिक बिंदु हो सकता है।

एक बेहतर एल्गोरिथ्म "मार्कोव चेन" का उपयोग करना है .. कुछ उदाहरण संगीत को स्कैन करें और संभावनाओं की तालिका बनाएं। सबसे सरल मामले में, यह कुछ ऐसा होगा जैसे C, A का अनुसरण करने की 20% संभावना है। इसे बेहतर बनाने के लिए, पिछले कुछ नोटों के अनुक्रम को देखें, उदाहरण के लिए "CA B" 15% बी द्वारा पीछा किए जाने की संभावना है, और 4% के बाद एक बी.बी. आदि के होने की संभावना है, फिर पहले चुने गए नोटों की संभावनाओं का उपयोग करके नोट्स चुनें। यह उल्लेखनीय सरल एल्गोरिथ्म बहुत अच्छे परिणाम उत्पन्न करता है।

संगीत पीढ़ी के लिए मार्कोव चेन



4

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

इंटरफ़ेस चल रहा है, लेकिन यह पुराना है - मुझ पर मुकदमा करो।


4

मुझे हमेशा पुराने लुकासार्ट्स खेल पसंद आए हैं, जिसमें iMuse प्रणाली का उपयोग किया गया था, जिसने खेल के लिए कभी न खत्म होने वाला, प्रतिक्रियाशील साउंडट्रैक तैयार किया और बहुत संगीतमय था (क्योंकि यह अभी भी एक संगीतकार द्वारा बनाया गया था)। आप यहां (पेटेंट सहित) चश्मा पा सकते हैं: http://en.wikipedia.org/wiki/IMUSE

निन्टेंडो एकमात्र ऐसी कंपनी लगती है जो अभी भी फ्लाई पर संगीत बनाने या प्रभावित करने के लिए iMuse के समान दृष्टिकोण का उपयोग करती है।

जब तक आपकी परियोजना बहुत प्रायोगिक नहीं होती, तब तक मैं एक संगीतकार के उपयोग को नहीं छोड़ता - एक वास्तविक मानव संगीतकार एक एल्ग्रोथर्म की तुलना में बहुत अधिक संगीत और सुनने योग्य परिणाम देगा।

एक कविता लिखने के लिए इसकी तुलना करें: आप आसानी से बकवास कविताएं उत्पन्न कर सकते हैं जो बहुत अवांट-गार्डे ध्वनि करते हैं, लेकिन एक शेख़ी के साथ शेक्सपियर को दोहराने के लिए, इसे हल्के ढंग से डालना मुश्किल है।


बहुत सच है, लेकिन मुझे लगता है कि उपयोगकर्ताओं को "ओके" या "सभ्य" संगीत में अधिक रुचि होगी जो गेमप्ले पर एक ही 5 "महान" पटरियों की तुलना में बार-बार प्रतिक्रिया करता है ...
RCIX

@ क्रिस: क्या तुमने कभी iMuse प्रणाली के साथ एक खेल खेला है? यह चीजों के भार के प्रति प्रतिक्रिया करता है, यह बहुत ही सूक्ष्म या स्पष्ट है, आवश्यकतानुसार, लेकिन यह मानव संगीतकार द्वारा लिखित संगीत का उपयोग करता है। यह पूरी तरह से नया उत्पन्न नहीं करता है, पहले कभी संगीत नहीं सुना है, लेकिन यह cues के बीच महान बदलाव करता है, यह व्यवस्था को बदल सकता है (नए उपकरणों में ला सकता है, दूसरों को मिला सकता है), यह गति या धीमा कर सकता है, सभी को कभी भी एक बीट खोए बिना। । यह "एक ही 5 महान पटरियों पर और फिर से" से बहुत दूर है। मैं इसे "वर्तमान समय में खेल के मूड को फिट करने के लिए आकार की संगीत की एक सतत धारा" कहूंगा।
गलगामन

3

क्या आपने SoundHelix (http://www.soundhelix.com) पर एक नज़र डाली है? यह एल्गोरिथम यादृच्छिक संगीत निर्माण के लिए एक ओपन-सोर्स जावा फ्रेमवर्क है जो बहुत साफ-सुथरा संगीत पैदा करता है। आप साउंडहेलिक्स को एक स्टैंडअलोन एप्लिकेशन के रूप में उपयोग कर सकते हैं, एक वेबपेज में ऐप्पल के रूप में, एक जेएनएलपी-आधारित ऐपलेट के रूप में या आप इसे अपने स्वयं के जावा प्रोग्राम में शामिल कर सकते हैं।

साउंडहेलिक्स के साथ उत्पन्न उदाहरण यहां देखे जा सकते हैं: http://www.soundhelix.com/audio-examples


3

गैर-उबाऊ प्रक्रियात्मक संगीत पीढ़ी पर अनुसंधान वापस चला जाता है। कंप्यूटर संगीत जर्नल के पुराने और नए मुद्दों को ब्राउज़ करें http://www.mitpressjournals.org/cmj (कोई वास्तविक डोमेन नाम नहीं?) इसमें संगीत संश्लेषण टिंकरर्स, टांका लगाने वाले लोहे के जॉकी, बिट हेर और शैक्षणिक शोधकर्ताओं के लिए वास्तविक उपयोग के गंभीर तकनीकी लेख हैं। यह एक शानदार समीक्षा है और साक्षात्कार चीर जैसे कि मैग्स के कई प्रमुख बुकस्टोर्स में आप पा सकते हैं।


मुझे इस पत्रिका के बारे में अपने ज्ञान का उल्लेख करना चाहिए जो उस सदस्यता पर आधारित है जो मैंने कुछ साल पहले खोली थी। मुझे लगता है कि यह अभी भी अच्छा है!
डैरनव

2

इतना बड़ा विषय। आप मेरे iPad ऐप, थिक या मेरे Ripple सॉफ़्टवेयर को morganpackard.com पर देख सकते हैं। मेरे अनुभव में, गतिशील संगीत पीढ़ी के अधिकांश शैक्षणिक दृष्टिकोण सामान के साथ आते हैं जो अच्छी तरह से, अकादमिक लगते हैं। मुझे लगता है कि क्लब / इलेक्ट्रोनिका की दुनिया में अधिक सफल सामान पाया जाता है। इस संबंध में मोनोलके मेरे नायक हैं। बहुत सुनने योग्य सामान, बहुत कंप्यूटर-जनित। मेरा खुद का संगीत भी बुरा नहीं है। पॉल लैंस्की की "वर्णमाला पुस्तक" बेहद सराहनीय एल्गोरिथम संगीत का एक अच्छा उदाहरण है, खासकर यह देखते हुए कि वह एक अकादमिक आदमी है।


1
इसके अलावा, उपकरण बनाने के लिए संगीतकारों के आसपास के समुदायों की जाँच करें सामान बनाने के लिए - शुद्ध डेटा, सुपरकोलाइडर, मैक्स। मैं एक ऐसे संगीतकार को ढूंढना शुरू करूँगा, जिसका काम आपको पसंद है और जो वैचारिक रूप से दिलचस्प तकनीकों की तलाश करके शुरू करने के बजाय उससे पीछे की ओर काम करता है।
मुर्गांकोड्स

1

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


1

जिस विशिष्ट तकनीक का आप वर्णन कर रहे हैं वह कुछ ऐसा है जो थॉमस डॉल्बी दस या पंद्रह साल पहले काम कर रहा था, हालांकि मुझे अब याद नहीं है कि उसने इसे क्या कहा है इसलिए मैं आपको एक अच्छा खोज शब्द नहीं दे सकता।

लेकिन इस विकिपीडिया लेख और इस मेटाफ़िल्टर पृष्ठ को देखें।


1
आप "जनरेटिव म्यूजिक" और "कोआन" नाम के प्रोग्राम के बारे में सोच रहे हैं।
मूसीजेनसिस

1

अल्गोरिथमिक पुस्तक का उपयोग कई तरीकों का एक अच्छा दौरा है:

"विषय शामिल हैं: मार्कोव मॉडल, जेनेरिक व्याकरण, संक्रमण नेटवर्क, अराजकता और आत्म-समानता, आनुवंशिक एल्गोरिदम, सेलुलर ऑटोमेटा, तंत्रिका नेटवर्क और कृत्रिम बुद्धिमत्ता।"

यह इस विस्तृत विषय पर एक अच्छा प्रारंभिक बिंदु है, हालांकि यह कभी भी गहराई से वर्णन नहीं करता है कि प्रत्येक विधि कैसे काम करती है। यह प्रत्येक का एक अच्छा अवलोकन प्रदान करता है, लेकिन यदि आप पहले से ही उनके बारे में ज्ञान नहीं रखते हैं तो यह पर्याप्त नहीं होगा।


0

90 के दशक के उत्तरार्ध में, Microsoft ने "इंटरएक्टिव म्यूजिक कंट्रोल" नामक एक ActiveX नियंत्रण बनाया, जिसने आपकी तलाश में वही किया। दुर्भाग्य से, वे इस परियोजना को त्यागने लगते हैं।


ऐसा इसलिए है क्योंकि संगीत ने इसे पूरी तरह से नष्ट कर दिया है, जो कि एल्गोरिथ्म-रचित संगीत के लिए एक बहुत ही सामान्य विशेषता है।
मुसिएनेसिस

ऊपर @thekidder द्वारा संदर्भित वुल्फ्राम टोन परियोजना उड़ाने में उल्लेखनीय रूप से सफल है। मैं सामान्य
रैंड नूडलिंग की



0

Ive इस परियोजना के प्रस्ताव को देख रहा है - "8.1 " प्रोग्रामिंग भाषा में "सिद्धांत और प्रैक्सिस से" कोपेनहेगन विश्वविद्यालय से अनुसंधान समूह - सीएस विभाग:

8.1 संगीत कॉर्पोरा का स्वचालित कटाई और सांख्यिकीय विश्लेषण

शीट संगीत के पारंपरिक विश्लेषण में एक या एक से अधिक व्यक्ति होते हैं जो एक ही टुकड़े की ताल, राग अनुक्रम और अन्य विशेषताओं का विश्लेषण करते हैं, एक ही संगीतकार या अन्य संगीतकारों द्वारा समान अवधि के अन्य टुकड़ों की अक्सर अस्पष्ट तुलना के संदर्भ में निर्धारित किया जाता है।

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

यह - जैसा कि मैं इसे देखता हूं - आपके प्रश्न के विपरीत दिशा में उत्पन्न डेटा है - मुझे लगता है - संगीत की प्रक्रियात्मक पीढ़ी के कुछ उदाहरणों में इस्तेमाल किया जा सकता है।


0

मेरी राय है कि जनरेटिव संगीत तभी काम करता है जब वह कठोर चयन प्रक्रिया से गुजरता है। एक एल्गोरिथम संगीत अग्रणी, डेविड कोप अपने एल्गोरिदम (जो मुझे लगता है कि ज्यादातर मार्कोव चेन आधारित थे) से संगीत आउटपुट के घंटों के माध्यम से जाना जाएगा जो वास्तव में अच्छी तरह से निकला कुछ को बाहर निकालने के लिए।

मुझे लगता है कि एक विशेष संगीत शैली की विशेषताओं को मॉडलिंग करके इस चयन प्रक्रिया को स्वचालित किया जा सकता है। उदाहरण के लिए, एक "डिस्को" शैली एक बेसलाइन के लिए बहुत सारे बिंदुओं को पुरस्कृत करती है, जिसमें बैकबेट्स पर स्नेयर के साथ ऑफबीट और ड्रम भागों की सुविधा होती है, लेकिन भारी असंगत हारमोनी के लिए अंक घटाते हैं।

तथ्य यह है कि संगीत रचना प्रक्रिया इतनी मुहावरेदार प्रथाओं से भरी हुई है कि वे क्षेत्र के विशिष्ट ज्ञान के बिना मॉडल करना बहुत मुश्किल है।


0

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

आप यहां मेरे कार्यान्वयन पर जा सकते हैं , विशेष रूप से यादृच्छिक रूप से उत्पन्न लीड उदाहरण आपके लिए उपयोगी हो सकता है। कॉर्ड प्रगति की ठोस समझ वाला कोई व्यक्ति इस तरह की तकनीकों से एक गीत संरचना बना सकता है और इस पर इस तरह की बेतरतीब यादृच्छिक धुनों को लागू कर सकता है। संगीत सिद्धांत के बारे में मेरा ज्ञान इतना दूर नहीं है।

लेकिन मूल रूप से, आपको उस प्रकार के संगीत के सिद्धांत को एन्कोड करना होगा, जिसे आप उत्पन्न करना चाहते हैं, और फिर उस सिद्धांत की सीमा की खोज करने के लिए कुछ एल्गोरिदम के लिए एक बाधा के रूप में उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.