विषयसूची:

(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर): ७ कदम (चित्रों के साथ)
(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर): ७ कदम (चित्रों के साथ)

वीडियो: (लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर): ७ कदम (चित्रों के साथ)

वीडियो: (लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर): ७ कदम (चित्रों के साथ)
वीडियो: Yamaha MU - The Ultimate DTM Tone Generators! (Sound Profile) 2024, नवंबर
Anonim
(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर…)
(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर…)
(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर…)
(लगभग) यूनिवर्सल मिडी SysEx CC प्रोग्रामर (और सीक्वेंसर…)

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

निर्माता स्वयं और तीसरे पक्ष की कंपनियों ने आपको अपने सिन्थ टोन के साथ वास्तव में "खेलने" देने के लिए नॉब्स और/या स्लाइडर्स से भरे वैकल्पिक बक्से का एहसास किया, लेकिन ये आजकल मूर्खतापूर्ण हैं और हमेशा की तरह, हम अपने आप से सस्ते समाधान खोजने के लिए मजबूर हैं;)

यह प्रोजेक्ट मेरे कुछ नवीनतम सिन्थ्स पर आसानी से पैच प्रोग्राम करने की आवश्यकता से आया है: एक रोलैंड अल्फा जूनो 2 और JX8P। यह एक साधारण SysEx नियंत्रक के रूप में शुरू हुआ, फिर यह मुझ पर बड़ा हुआ और कुछ और जटिल हो गया, रास्ते में समर्थित अन्य सिंक (Korg DW8000, Oberheim Matrix 6/6R, SCI MAX) और एक अंतर्निहित सीक्वेंसर।

इस निर्देशयोग्य में मैं आपको दिखाऊंगा कि अपने स्वयं के नियंत्रक को कैसे महसूस किया जाए: एक सस्ता उपकरण जो उन उच्च मूल्य वाले पैरामीटर नियंत्रण बक्से का अनुकरण करता है … और अधिक (विवरण के लिए पढ़ना जारी रखें…)।

चरण 1: वास्तव में यह क्या है (और क्या नहीं है…)

वास्तव में यह क्या है (और क्या नहीं है…)
वास्तव में यह क्या है (और क्या नहीं है…)
वास्तव में यह क्या है (और क्या नहीं है…)
वास्तव में यह क्या है (और क्या नहीं है…)
वास्तव में यह क्या है (और क्या नहीं है…)
वास्तव में यह क्या है (और क्या नहीं है…)

यहां MIDI SysEx और कंट्रोल चेंज कंट्रोलर अनिवार्य रूप से एक 16 नॉब्स (पोटेंशियोमीटर) और 4 बटन MIDI कंट्रोलर है। कुल 48 सिंथ टोन पैरामीटर के लिए डिफ़ॉल्ट स्केच तीन "पृष्ठ" को संभालता है।

मैंने नियंत्रक को नियंत्रण परिवर्तन MIDI संदेशों के साथ संगत बनाया (एक साधारण और "वैश्विक" प्रकार का MIDI संदेश जो व्यापक रूप से 90 के दशक से सिंथ निर्माताओं द्वारा व्यापक रूप से उपयोग किया जाता है) और SysEx संदेश (एक अन्य प्रकार का MIDI संदेश, रास्ता कम सामान्य और अत्यधिक सिंथ-विशिष्ट भारी 80 के दशक में इस्तेमाल किया गया)।

विशेष रूप से, नियंत्रक डिफ़ॉल्ट रूप से इसके साथ संगत है:

- रोलैंड अल्फा जूनो (1/2)

- रोलैंड JX8P

- कोर्ग DW8000

- ओबेरहाइम मैट्रिक्स 6/6R (> 2.14 फर्मवेयर)

- अनुक्रमिक सर्किट मैक्स / सिक्सट्रैक।

आप अंततः नियंत्रक को किसी भी ऐसे संश्लेषण पर कार्य करने के लिए सक्षम कर सकते हैं जो MIDI नियंत्रण परिवर्तन (CC) संदेश प्राप्त कर सकता है, लेकिन यह डिफ़ॉल्ट रूप से अक्षम है।

परियोजना की ओपन सोर्स प्रकृति होने के कारण, अपनी पसंद के किसी भी अन्य संश्लेषण का समर्थन करना बहुत आसान है (विवरण के लिए कोड चरण देखें)।

उन सभी नंबरों के साथ टोन पैरामीटर लेआउट पहले भ्रमित हो सकता है, लेकिन यह "यादृच्छिक" नहीं है क्योंकि यह ऐसा दिख सकता है: यह निर्माता MIDI कार्यान्वयन चार्ट के क्रम का पालन करता है। कोड को सरल और "सार्वभौमिक" रखने के लिए यह एक डिज़ाइन विकल्प था।

आप इस पेज पर अल्फा-जूनोस, जेएक्स8पी, डीडब्ल्यू८०००, मैट्रिक्स ६ और मैक्स/सिक्सट्रैक के लिए महसूस किए गए ४x४ "लेआउट" के साथ पिक्चर शीट डाउनलोड कर सकते हैं: नीले पैरामीटर वे हैं जिन्हें आप पेज 1 पर ट्विक कर सकते हैं, पेज 2 पर ब्लैक और नारंगी जो पेज 3 पर हैं।

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

वहां उन बटनों का क्या?

खैर, पहला वाला (मेरे लेआउट में ऊपरी बायां) पेज सर्फिंग के लिए है: बटन के प्रत्येक प्रेस पर अगले पैरामीटर के पेज पर जाएं। एल ई डी इंगित करेगा कि आप किस पृष्ठ में हैं।

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

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

चौथा बटन एक ईस्टर अंडे को सक्रिय करने के लिए है (तरह का …) मैंने यह देखने के बाद कोड में रखा कि लेआउट एकदम सही था … 16 चरणों वाला मिडी सीक्वेंसर! बिल्कुल सही: चौथा बटन दबाएं (मोड बटन), नियंत्रक "सीक्वेंसर मोड" में प्रवेश करेगा और आपको उसी तरह नोट्स को ट्रिगर करने की अनुमति दी जाएगी जैसे पुराने एनालॉग सीक्वेंसर ने किया था। अच्छा उह!

कंट्रोलर/पैचर मोड पर वापस जाने के लिए फिर से मोड बटन दबाएं।

उन एल ई डी के बारे में क्या?

प्रत्येक बटन (मेरे लेआउट में प्रत्येक बटन के दाईं ओर) में 4 एलईडी हैं; इन एल ई डी में कई जलपोत हैं:

1) वे आपको बताते हैं कि आप किस पैरामीटर पेज में हैं (जब आप पेज 1 में होते हैं तो ऊपरी एलईडी जलाई जाती है, जब पेज 2 सक्रिय होता है तो एलईडी नीचे जलाया जाता है, एलईडी 3 जलाया जाता है … आपने इसे स्वयं समझ लिया)। हम 3 पृष्ठों के एटीएम तक सीमित हैं, लेकिन अधिक पृष्ठों को संभालने के लिए कोड को आसानी से ट्यून किया जा सकता है;

2) दूसरा एलईडी पैरामीटर पृष्ठ 2 को इंगित करता है और जब माइक्रोकंट्रोलर पिछले पैच (पैच रिकॉल) भेज रहा है, तब जलाया जाता है;

3) तीसरा एलईडी पैरामीटर पृष्ठ 3 को इंगित करता है और यादृच्छिककरण प्रक्रिया के दौरान जलाया जाता है।

चौथी एलईडी मिडी कंट्रोलर मोड में कुछ नहीं करती है और इसका उपयोग वैश्विक मोड परिवर्तन के लिए किया जाता है।

इन सभी कार्यों को MIDI संदेशों के रूप में प्रेषित किया जाता है, इसलिए प्रभावी होने के लिए, आपका synth इस प्रकार के संदेशों को प्राप्त करने और व्याख्या करने में सक्षम/सक्षम होना चाहिए

चरण 2: "हिडन" 16 स्टेप सीक्वेंसर

NS
NS

जैसा कि कहा गया है, नियंत्रक का परीक्षण करते समय मैंने महसूस किया कि नोटों के अनुक्रम को चलने देना बहुत अच्छा होगा ताकि मैं सिंथेस मापदंडों को बदल सकूं और टोन पर अंतिम प्रभाव का बेहतर विचार रख सकूं। मेरे पास एक सॉफ्टवेयर सीक्वेंसर है (मुझे seq24 बहुत पसंद है!), लेकिन यह हार्डवेयर लगभग 16-चरणों वाला सीक्वेंसर है! तब इसे लागू करने के लिए केवल कोड की बात थी।

आप बटन #4 (मोड बटन) दबाकर कंट्रोलर मोड और सीक्वेंसर मोड के बीच टॉगल कर सकते हैं।

जबकि सीक्वेंसर मोड में बटन अलग तरह से काम करते हैं और एलईडी आपको नई जानकारी देते हैं:

- पहला बटन (SHIFT बटन) जब दबाया जाता है तो टेम्पो, नोट की लंबाई, चैनल और ऑक्टेव संशोधन की अनुमति देता है; टेम्पो मान पहले पोटेंशियोमीटर की स्थिति द्वारा दिया जाता है, नोट की लंबाई की गणना दूसरी पोटेंशियोमीटर स्थिति से की जाती है, मिडी चैनल तीसरे और चौथे पोटेंशियोमीटर स्थिति से और ऑक्टेव (-1 ओ से +2) पांचवें पॉट से। आप टेम्पो को ४० बीपीएम से नियंत्रित कर सकते हैं (बटन #1 दबाए रखते हुए पोटेंशियोमीटर #1 पूर्ण वामावर्त घुमाएँ) लगभग २४० बीपीएम (बटन #1 को दबाए रखते हुए पोटेंशियोमीटर #1 को पूर्ण दक्षिणावर्त घुमाएँ)। आप SHIFT बटन को दबाए रखते हुए पॉट #2 को मोड़कर नोटों को आधा नोट, चौथाई नोट, आठवां नोट, सोलह नोट सेट कर सकते हैं। आप MIDI चैनल (प्राथमिक चैनल और द्वितीयक चैनल) को 1 से 16 तक सेट कर सकते हैं। आधार नोट्स श्रेणी (C2 से F#4 तक) को एक सप्तक से कम किया जा सकता है या एक या दो सप्तक से बढ़ाया जा सकता है।

डिफ़ॉल्ट रूप से टेम्पो 120 बीपीएम पर सेट होता है और नोट की लंबाई से तिमाही तक नोट होता है।

- दूसरा बटन नोट्स सीक्वेंस को स्टार्ट और स्टॉप करता है। जैसा कि कहा गया है, यदि आप अनुक्रम चलाते समय बटन # 4 (मोड) दबाकर मोड बदलते हैं तो आप नियंत्रक मोड में प्रवेश करेंगे लेकिन अनुक्रम चलता रहेगा।

- तीसरा बटन पैनिक है! इसे दबाने से सारे नोट बंद हो जाएंगे।

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

सीक्वेंसर मोड में यदि आप बटन # 1 (SHIFT) दबाए रखते हुए मोड सेलेक्ट बटन दबाते हैं तो आप 3 अलग-अलग अनुक्रम मोड के बीच टॉगल कर सकते हैं:

1 - 16 चरण मोनो अनुक्रम

2 - 16 चरण पाली अनुक्रम: नोटों द्वारा परिभाषित बर्तनों की तुलना में एक सप्तक कम भी ट्रिगर होता है (यह प्रति बीट 2 आवाज निकालता है)

3 - 8 चरण पाली अनुक्रम, दोहरी चैनल: दो समानांतर 8 चरण अनुक्रम दो अलग-अलग चैनलों (डिफ़ॉल्ट रूप से CH1 और CH2) को भेजे जाते हैं; प्राथमिक और माध्यमिक दोनों चैनलों पर समान चैनल मान सेट करके आप एक ही (पॉलीफ़ोनिक) सिंथेसाइज़र द्वारा चलाए जाने वाले दो समानांतर 8-चरण अनुक्रम प्राप्त कर सकते हैं।

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

स्टेप सीक्वेंसर मिस फीचर्स किसी को आवश्यक लग सकता है: मिडी सिंक इन, स्टेप्स होल्ड (आप केवल एक स्टेप ऑफ बंद कर सकते हैं), सीवी आउट।

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

ध्यान दें कि यदि आप चाहें तो यह स्टेप सीक्वेंसर MIDI, या डिजिटल है, इसलिए काम करने के लिए इस तरह के संदेशों को प्राप्त करने और व्याख्या करने के लिए सक्षम सिंथेस से जुड़ा होना चाहिए

चरण 3: हार्डवेयर की आवश्यकता और भवन

हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग
हार्डवेयर की जरूरत और बिल्डिंग

इन सब शब्दों के बाद, कुछ मज़ा लें!

हम आम Arduino रास्ते पर जा रहे हैं। मैंने उच्च मात्रा में एनालॉग इनपुट के कारण एक Arduino MEGA का उपयोग किया (हम नॉबी नॉब्स से भरा बॉक्स चाहते हैं, है ना?!:))।

विशेष रूप से, Arduino MEGA 16 एनालॉग इनपुट को संभाल सकता है (कुछ हार्डवेयर ट्विकिंग के साथ, यानी मक्सिंग करके, आप इसे बढ़ा सकते हैं लेकिन हम यहां इस मार्ग पर नहीं जा रहे हैं), इसलिए हम 16 पोटेंशियोमीटर के माध्यम से 48 MIDI संदेश भेजने जा रहे हैं। प्रत्येक पोटेंशियोमीटर तब तीन मापदंडों को नियंत्रित करेगा, प्रत्येक "पृष्ठ" के लिए एक; पृष्ठों का चयन एक स्विच बटन द्वारा किया जाता है।

हार्डवेयर सूची:

- 1x अरुडिनो मेगा

- 16x लीनियर, सिंगल टर्न 10 K ओम पोटेंशियोमीटर

- 16x पॉट नॉब्स

- 4x क्षणिक पुश बटन

- 4x एलईडी

- 6x 220 ओम रोकनेवाला

- 1x मिडी कनेक्टर

- 1x ABS प्रोजेक्ट बॉक्स

कुछ केबल, सोल्डर वायर और छह - आठ घंटे का खाली समय।

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

मैंने २२० ओम रेसिस्टर्स के स्थान पर २०० ओम रेसिस्टर्स का उपयोग किया और वे वैसे भी सही काम करते हैं; मैं शर्त लगा सकता हूं कि 150 ओम रेसिस्टर्स भी बढ़िया काम करेंगे (मिडी संचार और एलईडी दोनों के लिए)।

बॉक्स को आकार देने के लिए, मैंने पहले बॉक्स की सतह पर कुछ चिपकने वाला कागज लगाया, मापा गया कि छेद कहाँ ड्रिल किया जाना चाहिए (मेरे पास छेद से छेद तक 3 सेमी था ताकि सभी बर्तन फिट हो सकें) गाइड छेद बनाया और फिर दाईं ओर बड़ा किया एक मिनी ड्रिल के साथ बर्तनों के धागे या बटन के धागे को पारित करने के लिए आकार। मैंने बॉक्स को खत्म करने के लिए कम या ज्यादा 2 घंटे बिताए। मुझे छोटे छेदों का भी एहसास हुआ, और जगह-जगह एलईडी लगे।

मैंने MIDI OUT कनेक्टर के लिए एक छेद और दूसरा arduino पावर कनेक्टर के लिए ड्रिल किया (मैंने सीधे बिल्ट-इन USB पावर कनेक्टर का उपयोग किया और जगह में arduino MEGA को मजबूती से बंद कर दिया)।

चेतावनी: ड्रिलिंग करते समय हमेशा आंखों और हाथों की सुरक्षा पहनें, जिस भी सामग्री पर आप काम कर रहे हैं (प्लास्टिक, लकड़ी, धातु, कंपोजिट … मूविंग टूल से)।

फिर, मैंने सभी बर्तनों और बटनों को रखा और घटकों को संलग्न चित्र के अनुसार मिलाप किया। अंतिम वस्तु (और केबल की लंबाई) के वजन को कम करने का एक प्रभावी तरीका 5V लाइन और GND लाइन दोनों पर सभी बर्तनों को डेज़ी करना है।

और इससे पहले कि कोई पूछे: मुझे पता है, मैंने जो बॉक्स इस्तेमाल किया वह बदसूरत है! लेकिन यह मुफ़्त था और कुछ भी मुफ़्त नहीं था:)

चरण 4: वायरिंग

तारों
तारों

एक Arduino माइक्रोकंट्रोलर बोर्ड में एक पोटेंशियोमीटर (x16), एक पुश बटन (x4) और LED (x4) को तार करने जैसा आसान है। सभी Arduino मूल बातें यहाँ शामिल हैं:)

संलग्न तार है। नोटिस जो:

- सभी एनालॉग पिन का उपयोग किया जाता है (A0 से A15 तक), प्रत्येक पोटेंशियोमीटर के लिए एक;

- 4 डिजिटल पिन (इनपुट) का उपयोग किया जाता है (D51, D49, D47, D45 से), प्रत्येक बटन के लिए एक;

- अन्य 4 डिजिटल पिन (आउटपुट) का उपयोग एलईडी (D43, D41, D39, D37) के लिए किया जाता है;

- MIDI आउट कनेक्शन बहुत सरल है और दो 220 ओम प्रतिरोधों के लिए पूछता है (लेकिन 150 ओम तक काम करेगा)

- बटन पुलडाउन प्रतिरोधों के लिए नहीं पूछते हैं कि स्केच आंतरिक Arduino के पुलअप प्रतिरोधों को सक्रिय करता है।

- प्रत्येक एलईडी एक सीमित अवरोधक के लिए पूछता है (200-220 ओम हरे एल ई डी के लिए ठीक हैं)।

मैंने कमोडिटी के लिए सूचीबद्ध डिजिटल पिन का उपयोग किया, लेकिन वे "विशेष" पिन नहीं हैं (हम यहां कुछ पिन की पीडब्लूएम क्षमता या कुछ अन्य पिन-विशिष्ट सुविधा का उपयोग नहीं कर रहे हैं): आप अपने पसंदीदा डिजिटल पिन सेट कर सकते हैं, लेकिन संशोधित करना याद रखें तदनुसार कोड या आपके बटन/एल ई डी काम नहीं करेंगे!

कृपया, ध्यान दें कि चित्र में MIDI OUT कनेक्शन सामने का दृश्य है (पिछला दृश्य नहीं)।

चरण 5: सॉफ्टवेयर - सिद्धांत के लिए कुछ लिंक

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

रोलैंड SysEx कार्यान्वयन के लिए बस कुछ त्वरित लिंक:

- https://erha.se/~ronny/juno2/Roland%20Juno%20MIDI%2… (अंग्रेजी)

- https://www.2writers.com/eddie/tutsysex.htm (अंग्रेजी)

- https://www.chromakinetics.com/handsonic/rolSysEx.h… (अंग्रेजी)

- https://www.audiocentralmagazine.com/system-exclusi… (इटालियनो)

और सामान्य रूप से MIDI के लिए कुछ लिंक:

-

-

चरण 6: सॉफ्टवेयर - स्केच

यहां संलग्न वह स्केच है जिसे आपको अपने Arduino Mega पर अपलोड करना चाहिए।

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

डिफ़ॉल्ट कोड/स्केच/फर्मवेयर "केवल" 48 मापदंडों का समर्थन करता है (प्रत्येक में 16 नॉब्स के तीन पृष्ठ) इसलिए आपके सिंथ द्वारा समर्थित सभी मिडी संदेशों को नियंत्रित करना संभव नहीं हो सकता है (एक एक्सेस वायरस या नोवेशन सुपरनोवा पर सोचें: वे अधिक स्वीकार करते हैं या कम 110 MIDI अनुरूप पैरामीटर)। यदि आवश्यक हो, तो अधिक संदेशों का समर्थन करने के लिए आप आसानी से स्केच बदल सकते हैं।

वास्तव में Roland Alpha-Juno, JX8P, Korg DW8000 और Oberheim Matrix 6 के साथ संगत SysEx संदेश समर्थित हैं। यदि आपको इसकी आवश्यकता है तो मैंने जूनो 106 संगत संदेशों के लिए कोड छोड़ दिया है।

मैट्रिक्स 6 के लिए, मुझे नियंत्रित करने के लिए मापदंडों का चयन करना था। मैंने तीसरा लिफाफा, दूसरा रैंप और कुछ और छोड़ दिया। मैट्रिक्स को वैसे भी MIDI के माध्यम से नियंत्रित नहीं किया जा सकता है, इसलिए यह भी बाहर है। आपको अद्यतन फर्मवेयर (ver. 2.14 या बाद के संस्करण) की आवश्यकता है और आपको "Master -> Sysex Enable" पैरामीटर को "3" पर सेट करना चाहिए।

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

कोड में टिप्पणियां शामिल हैं, इसलिए यहां और टिप्पणी करने की कोई आवश्यकता नहीं है।

हमेशा की तरह: याद रखें कि मैं वास्तविक जीवन में एक कोडर नहीं हूं और निश्चित रूप से कोड करने के बेहतर तरीके हैं जिनकी हमें यहां आवश्यकता है। यदि आप एक कोडर हैं और आपके पास सुझाव हैं, तो आपका स्वागत है! कृपया मुझे कोई भी भिन्नता भेजें जो कोड की दक्षता/प्रभावशीलता को बढ़ा सके और मैं इसे मुख्य स्केच में शामिल करूंगा (स्पष्ट रूप से योगदानकर्ता का हवाला देते हुए!)।

मैं हमेशा कुछ अच्छे कोडर के कोड को पढ़कर कुछ नया सीखता हूं;)

चरण 7: संबंधित परियोजनाएं

जहाँ तक मुझे पता है, वहाँ एक MIDI पैरामीटर नियंत्रक और सीक्वेंसर नहीं है (शायद एक संशोधित फर्मवेयर के साथ पुराना Behringer BCR2000?)

वैसे भी, यदि आप इस तरह के एक बॉक्स को महसूस करने के लिए प्रवृत्त नहीं हैं, लेकिन अपने संश्लेषण मापदंडों को दूर से नियंत्रित करने के लिए सस्ते समाधानों में बहुत रुचि रखते हैं, तो इन अन्य विकल्पों पर विचार करें:

- CTRL MIDI संपादक: यह विन/लिनक्स/मैक पर चलने वाला एक शानदार, निःशुल्क ओपन सोर्स प्रोग्राम है जो आपके पीसी को SysEx सिन्थ्स के लिए एक पूर्ण नियंत्रक में बदल सकता है

- डेविड कोनसुमेर का "जूनोसेक्स" सीसी कनवर्टर: यह प्रोजेक्ट आपके पक्ष में मामूली हार्डवेयर काम के लिए पूछता है और विचार बहुत अच्छा है - एक आर्डिनो आधारित सीसी से SysEx कनवर्टर जो आपको एक सामान्य गैर-SysEx MIDI नियंत्रक (यानी एक AKAI MPK मास्टर कीबोर्ड) का उपयोग करने देता है) अपने SysEx-तैयार सिंथेस के साथ बात करने के लिए

सिफारिश की: