इस प्रोजेक्ट के बारे में
Musicpy एक संगीत प्रोग्रामिंग भाषा है जिसे Python लाइब्रेरी के रूप में लागू किया गया है। इसका लक्ष्य उपयोगकर्ताओं को संगीत-सिद्धांत और एल्गोरिदम पर आधारित संक्षिप्त, मानव-पठनीय सिंटैक्स से संगीत लिखने देना है, और यह Python के साथ पूर्णतः संगत है, इसलिए सामान्य Python कोड इसके साथ संवाद कर सकता है।
मुख्य क्षमताएं
- संक्षिप्त सिंटैक्स के साथ स्वर, कॉर्ड, धुन, लय और ध्वनि-मात्रा को निरूपित करना।
- संगीत-सिद्धांत संक्रियाएं करना और एल्गोरिदमिक रचना तर्क डिज़ाइन करना।
- Musicpy संरचनाओं को MIDI फ़ाइलों में निर्यात करना, और MIDI फ़ाइलों को वापस musicpy डेटा संरचनाओं में लोड करना ताकि आगे प्रसंस्करण किया जा सके।
- वैकल्पिक musicxml निर्भरताएँ स्थापित होने पर MusicXML फ़ाइलें पढ़ना और लिखना।
- संगीत को सीधे बजाना, जिसमें एक play फ़ंक्शन है जो wait=True के माध्यम से बजाना समाप्त होने तक रुक सकता है।
- साउंडफ़ॉन्ट्स के साथ काम करने के लिए एक daw मॉड्यूल (वैकल्पिक निर्भरताएँ) शामिल करना।
डेटा संरचनाएं
- note, chord और scale मूल वर्ग हैं।
- note वर्ग पूर्णांकों के अनुरूप है और इसे int के रूप में उपयोग किया जा सकता है।
- chord वर्ग स्वरों के समुच्चय की तरह व्यवहार करता है, और इसे पूर्णांकों के समुच्चय, वेक्टर या मैट्रिक्स के रूप में माना जा सकता है जब कॉर्ड प्रगति को संयोजित किया जाता है।
- ये वर्ग अंकगणितीय उपयोग का समर्थन करते हैं, जिसे लेखक रैखिक बीजगणित और विविक्त गणित से जोड़ता है, और सीरियलिज़्म, एलियेटरी और न्यूनतमवादी संगीत जैसी प्रायोगिक शैलियों से भी।
स्थापना और प्लेटफ़ॉर्म नोट्स
- Python 3.7 या नए की आवश्यकता है; pip install musicpy से स्थापित करें।
- वैकल्पिक अतिरिक्त: pip install musicpy[musicxml], pip install musicpy[daw], या दोनों एक साथ।
- Windows, macOS और Linux पर काम करता है।
- Linux पर, play फ़ंक्शन के सही कार्य करने के लिए pygame 2.0.3 से पुराना होना चाहिए, और freepats की आवश्यकता है (उदाहरण के लिए Ubuntu पर sudo apt-get install freepats)।
- यदि कोई ध्वनि नहीं सुनाई देती है, तो play में wait=True सेट करना सहायक हो सकता है क्योंकि कुछ IDE बजाने की प्रतीक्षा नहीं करते।
- Linux या macOS पर, daw मॉड्यूल निर्भरता sf2_loader को अतिरिक्त कॉन्फ़िगरेशन चरणों की आवश्यकता होती है।
दस्तावेज़ीकरण और उपकरण
- विस्तृत ट्यूटोरियल प्रोजेक्ट विकि और Read the Docs पर हैं; विकि को नई रिलीज़ के साथ अद्यतन किया जाता है।
- विकि की एक PDF और Markdown प्रति डाउनलोड के लिए उपलब्ध है।
- एक अलग musicpy_editor प्रोजेक्ट एक संपादक प्रदान करता है जिसमें वास्तविक-समय संकलन और निष्पादन तथा कुछ सिंटैक्टिक शुगर है।
उदाहरण
एक छोटा उदाहरण एक नायलन-स्ट्रिंग गिटार को दिखाता है जो एक प्रगति पर टूटे कॉर्ड बजाता है, जिसे कॉर्ड व्यंजकों को ऑपरेटरों के साथ संयोजित करके बनाया गया है और फिर bpm और वाद्ययंत्र संख्या के साथ play में पास किया गया है।
पृष्ठभूमि
लेखक ने अक्टूबर 2019 में musicpy का विकास शुरू किया और इसे लगातार अद्यतन करता है। एक बताई गई प्रेरणा यह है कि संगीत का निर्माण संगीत-सिद्धांत के दृष्टिकोण से कैसे होता है, इसे दर्शाना है, न कि केवल स्वर और टेम्पो संग्रहीत करना, और रचनात्मक AI को केवल गहन अधिगम और बड़े डेटासेट पर निर्भर रहने के बजाय एक संगीत-सिद्धांत अंतरफलक देना। README में यह भी नोट किया गया है कि प्रभावी उपयोग के लिए बुनियादी संगीत सिद्धांत से परिचित होने की सिफारिश की जाती है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.