अधिकतम / एमएसपी: समीक्षा लेख

मेरे पिछले लेख में, उन्होंने मुझे मैक्स / एमएसपी की एक छोटी समीक्षा लिखने के लिए कहा, ऐसा लगता है कि हब्र इस अद्भुत उपकरण से बहुत परिचित नहीं हैं।

प्रस्तावना


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



थोड़ा इतिहास


मैक्स का पहला संस्करण, जिसका प्रत्यक्ष वंशज इस लेख में उल्लिखित है, 80 के दशक के अंत में मिलर पिकेट द्वारा लिखा गया था जब उन्होंने IRCAM (इंस्टीट्यूट डे रेकरचे एट एट कोऑर्डिनेशन / मस्किक, इंस्टीट्यूट ऑफ द स्टडी ऑफ कोऑर्डिनेशन ऑफ एकेडमिक एंड म्यूजिक) में काम किया था । उस समय, दुनिया के सर्वश्रेष्ठ दिमाग कंप्यूटर संगीत के क्षेत्र में अनुसंधान में लगे हुए थे, जिनमें से, विशेष रूप से, मैक्स मैथ्यू , इलेक्ट्रॉनिक संगीत के एक अग्रणी थे, वह व्यक्ति जिसने पहला संगीत कार्यक्रम MUSIC I बनाया था

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

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

थोड़ी देर बाद, साइक्लिंग'74 ने जिटर को बनाया - वस्तुओं का एक सेट जो वीडियो, 3 डी और ओपनजीएल के साथ वास्तविक समय के काम की अनुमति देता है, अगर मैं गलत नहीं हूं, तो ग्रिडफ्लो पर - जेमैक्स के लिए एक समान विकास, मैक्स / एफटीएस के प्रत्यक्ष वंशज।

संक्षेप में देना। मैक्स एक दृश्य प्रोग्रामिंग वातावरण है, सब कुछ की नींव; MSP एक एक्सटेंशन है जो ऑडियो काम करना संभव बनाता है, और जिटर वीडियो के साथ काम करने के लिए एक एक्सटेंशन है। इसलिए नाम - मैक्स / एमएसपी / जिटर

मैक्स की एक बहुत लंबी कहानी है, जो रुचि रखते हैं, बेहतर मिलर के लेख को पढ़ते हैं - जो ईई का वर्णन करने के लिए ईई से बेहतर है? हमारे लिए पहला कदम उठाने का समय ...

काम पर लगना


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

तो, आरंभ करने के लिए, आपको आधिकारिक वेबसाइट cycling74.com से नवीनतम डेमो संस्करण डाउनलोड करके कार्यक्रम को स्थापित करना होगा। एक सफल लॉन्च के बाद, मैक्स विंडो स्क्रीन पर दिखाई देगी - मैक्स सर्विस विंडो, जहां त्रुटियां और अन्य सिस्टम संदेश प्रदर्शित होते हैं।

छवि

अब आप एक खाली पैचर बना सकते हैं - एक विंडो जिसमें आप अपना पहला पैच इकट्ठा करेंगे। यह File> New Patcher menu (Ctrl N) से किया जाता है

हमारे सामने एक खाली पटाखा दिखाई दियामैक्स हमें खाली जगह पर डबल-क्लिक करने के लिए कहता है। यह क्रिया ऑब्जेक्ट पैलेट खोलेगी - एक छोटा मेनू जिससे आप एक ऑब्जेक्ट का चयन कर सकते हैं। व्यक्तिगत रूप से, मुझे यह असुविधाजनक लगता है, क्योंकि कीबोर्ड का उपयोग करके किसी ऑब्जेक्ट को जोड़ना बहुत तेज है। ऐसा करने के लिए, "n" बटन दबाकर, एक खाली ऑब्जेक्ट (ऑब्जेक्ट बॉक्स) बनाएं, जिसमें आपको ऑब्जेक्ट का नाम दर्ज करना होगा और एंटर दबाना होगा। इस तरह हम तीन ऑब्जेक्ट बनाते हैं: टॉगल , बटन और [मेट्रो 300] और उन्हें कनेक्ट करें, जैसा कि आंकड़े में दिखाया गया है।

छवि

टॉगल और बटन ऑब्जेक्ट चमत्कारिक रूप से प्यारा बटन में बदल गए। उनका अंतर यह है कि पहला एक स्विच है, और दूसरा एक ट्रिगर की भूमिका निभाता है। अब हम स्क्रीन के निचले बाएँ कोने में लॉक पर क्लिक करके टॉगल ऑब्जेक्ट पर क्लिक करके संपादन मोड से बाहर निकलेंगे। परिणामस्वरूप, बटन को ब्लिंक करना चाहिए। क्या चल रहा है? जब चालू होता है, टॉगल ऑब्जेक्ट एक यूनिट को [मेट्रो 300] ऑब्जेक्ट के बाएं इनलेट में भेजता है, जो चालू होता है और प्रत्येक 300 मिलीसेकंड पर एक विशेष बैंग ट्रिगर संदेश उत्पन्न करना शुरू कर देता है और बटन को पास करता है, जिससे बाद में फ्लैश होता है। वैसे, [मेट्रो 300] ऑब्जेक्ट एक मेट्रो ऑब्जेक्ट है जिसमें एक तर्क 300 हैतर्क वस्तुओं के प्रारंभिक मापदंडों को निर्दिष्ट करते हैं।

अब टॉगल बंद करें और वापस संपादन मोड में जाएं। तीन ऑब्जेक्ट्स जोड़ें: [यादृच्छिक 24] , [+ 48] और संख्या और कनेक्ट करें, जैसा कि चित्र में दिखाया गया है:

छवि

अब फिर से टॉगल चालू करें और देखें कि क्या होता है। जैसा कि पहले उल्लेख किया गया है, [मेट्रो 300] वस्तु हर 300 मिलीसेकंड पर एक धमाका करती है। यह बैंग ऑब्जेक्ट [यादृच्छिक 24] में प्रवेश करता है, जिससे यह सीमा 0 ... 23 में एक यादृच्छिक संख्या उत्पन्न करने के लिए मजबूर करता है। फिर, ऑब्जेक्ट [+ 48] का उपयोग करके , हम यादृच्छिक घर के आउटपुट में 48 जोड़ते हैं, जिससे आउटपुट पर 48 ... 71 की सीमा प्राप्त होती है। उत्पन्न संख्याओं को संख्या ऑब्जेक्ट ( संख्या बॉक्स कहा जाता है) में प्रदर्शित किया जाता है, जो पूर्णांक मान प्रदर्शित करता है।

हम आगे बढ़ते हैं, अब हम एक ध्वनि उत्पन्न करेंगे। ऐसा करने के लिए, हमें चार और ऑब्जेक्ट्स जोड़ने की जरूरत है: mtof , cycle ~ , gain ~ और ezdac ~ । मैं यह नोट करना चाहता हूं कि वस्तुओं के नाम पर सभी मामलों में टिल्ड साइन की आवश्यकता होती है - यह अधिकतम में अपनाया गया एक समझौता है जो आपको एमएसपी वस्तुओं (जो ऑडियो के साथ काम करता है) को सामान्य से अलग करने की अनुमति देता है। हां, शुरू में, लाभ ~ वस्तु का एक ऊर्ध्वाधर स्वरूप था, इस पैच में मैंने इसे ऑब्जेक्ट के निचले दाएं कोने में कर्सर ले जाकर और इसे वांछित आकार तक खींचकर बदल दिया, जैसा कि मेरे पसंदीदा ओएस की खिड़कियों के साथ किया जाता है। नए धारीदार तारों पर ध्यान दें - यह वह तार है जिसके साथ MSP सिग्नल प्रसारित होता है।

छवि

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

छवि

इसलिए, हमने थोड़ा विचलन किया, हमें अभी भी यह समझाने की ज़रूरत है कि सब कुछ कैसे काम करता है। पिछले पैच में, हमने रेंज 48 ... 71 में यादृच्छिक संख्या उत्पन्न करने पर ध्यान केंद्रित किया। हम इन नंबरों को mtof ऑब्जेक्ट को देते हैं, यह संख्या 0 ... 127 को मिडी नोट के रूप में समझता है और उन्हें संबंधित आवृत्ति में परिवर्तित करता है। उदाहरण के लिए, नोट संख्या 60 में 261 हर्ट्ज की आवृत्ति है, नोट 70 - 466 हर्ट्ज, और इसी तरह। यह मान चक्र ~ ऑब्जेक्ट में प्रवेश करता है और उत्पन्न साइनसॉइड की आवृत्ति को इसमें सेट करता है। फिर संकेत लाभ ~ वस्तु में प्रवेश करता है, जो आपको आयाम बदलने की अनुमति देता है, और फिर ezdac ~ ऑब्जेक्ट ( आसान डिजिटल ऑडियो कनवर्टर के लिए छोटा) के माध्यम से वक्ताओं में जाता है, जो दो चीजें करता है: वास्तव में वक्ताओं को ऑडियो आउटपुट और चालू / बंद को चालू करता है।

आगे बढ़ो। अब आयाम के लिए झुकने वाले एडीएसआर को जोड़ें। ऐसा करने के लिए, हमें निम्नलिखित वस्तुओं की आवश्यकता होगी: [ट्रिगर एफ 1] , adsr ~ , * ~ (सिग्नल गुणन), तीन नंबर और एक फ्लोनम । अब सब कुछ एक साथ कनेक्ट करें:

छवि

संरचना थोड़ी बदल गई है, हम यहां सब कुछ का विश्लेषण करेंगे। Mtof से आउटपुट अब [ट्रिगर f 1] ऑब्जेक्ट पर जाता है, जो कि जब कोई संदेश आता है, तो सबसे पहले दाएं आउटलेट से एक आउटपुट करता है, जिससे adsr ~ को एक नया लिफाफा उत्पन्न करने के लिए मजबूर किया जाता है , जिसके बाद वह बाएं आउटलेट के माध्यम से प्राप्त संख्या को आउटपुट करता है। तर्कों से, सब कुछ स्पष्ट होना चाहिए: एफ - फ्लोट का मतलब है, और 1 - एक । यहां, सभी वस्तुओं की एक महत्वपूर्ण विशेषता का उपयोग किया जाता है - संदेश आउटपुट दाएं आउटलेट से शुरू होता है और बदले में बाईं ओर होता है । मैं अगली बार इस बारे में अधिक बात करूंगा, क्योंकि यह परिचयात्मक लेख का हिस्सा नहीं है। वापस पैच पर। जैसा कि यह पहले से ही स्पष्ट हो गया है, adsr ~ एक लिफाफा उत्पन्न करता है, जिसके पैरामीटर चार नाम बॉक्स का उपयोग करके सेट किए जाते हैं। महत्वपूर्ण: पैरामीटर हमले , क्षय और रिलीज मिलीसेकंड में सेट होते हैं, इसलिए, उनके मामलों के लिए, संख्या वस्तुओं का उपयोग किया गया था। सुविधा के लिए, इन मानों की सीमा निरीक्षक में 0 ... 1000 तक सीमित थी, जिसे ऑब्जेक्ट पर राइट-क्लिक करके और इंस्पेक्टर मेनू को कॉल करके कहा जाता है।

छवि

निरंतर पैरामीटर आयाम निर्धारित करता है, इसलिए इसके मूल्यों की सीमा में वास्तविक संख्या 0 ... 1.0 शामिल हैं । यही कारण है कि संख्या के बजाय, फ्लोनम ऑब्जेक्ट का उपयोग किया जाता है - यह पूरी तरह से संख्या के समान है, केवल आपको वास्तविक संख्या के साथ काम करने की अनुमति देता है। वैसे, इसकी न्यूनतम और अधिकतम भी क्रमशः निरीक्षक के माध्यम से 0 और 1 तक सीमित हैं।
अंत में, विज्ञापन ~ से संकेत ~ चक्र के साथ गुणा किया जाता है ~ स्तंभ के लिए संकेत और आउटपुट। यही है, आपका पहला पैच तैयार है! आसान है, है ना?

आगे क्या है?


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

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

दूसरे, आधिकारिक वेबसाइट cycling74.com पर कई छोटे वीडियो ट्यूटोरियल हैं जो विभिन्न "चिप्स" दिखा रहे हैं। इसके अलावा इस कार्यक्रम के लिए समर्पित दुनिया का सबसे बड़ा मंच है; यदि आपको कोई कठिनाई है, तो फ़ोरम में खोज का उपयोग करना बेहतर है: सबसे अधिक संभावना है कि यह स्थिति पहले से ही किसी के साथ हुई हो।

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

और मैं रूसी भाषा के दो संसाधनों का उल्लेख करना चाहूंगा:
1. http://maxmsp.ru - दिमित्री डबरोव और दिमित्री लेतखोव्स्की द्वारा बनाई गई एक साइट, जिसे फ़िज़रुम परियोजना के लिए जाना जाता है;
2. http://pattr.ru - एक ब्लॉग जिसे हम दोस्तों के साथ समर्थन करते हैं, मैक्स / एमएसपी और प्योरडाटा कार्यक्रमों पर रूसी-भाषा सामग्री की कमी के लिए किसी भी तरह से क्षतिपूर्ति करने के लिए बनाया गया है।

यह सुविधा के लिए, फिओड द्वारा किए गए अधिकतम ट्यूटोरियल के अनुवादों को देखने के लायक है, मैंने उन्हें स्क्राइब करने के लिए अपलोड किया । वे चौथे अधिकतम में हैं, लेकिन वे अध्ययन के लिए काफी उपयुक्त हैं, खासकर अगर यह अंग्रेजी के साथ तंग है।

अभी के लिए बस इतना ही। हैप्पी पैचिंग! :)

यहाँ पैच के साथ पुरालेख डाउनलोड किया जा सकता है

Source: https://habr.com/ru/post/In127972/


All Articles