विषयसूची:

माइक्रो मिडी सिंथेसाइज़र: 5 चरण (चित्रों के साथ)
माइक्रो मिडी सिंथेसाइज़र: 5 चरण (चित्रों के साथ)

वीडियो: माइक्रो मिडी सिंथेसाइज़र: 5 चरण (चित्रों के साथ)

वीडियो: माइक्रो मिडी सिंथेसाइज़र: 5 चरण (चित्रों के साथ)
वीडियो: Drawing a Synthesizer in MIDI - Live! 2024, नवंबर
Anonim
माइक्रो मिडी सिंथेसाइज़र
माइक्रो मिडी सिंथेसाइज़र
माइक्रो मिडी सिंथेसाइज़र
माइक्रो मिडी सिंथेसाइज़र
माइक्रो मिडी सिंथेसाइज़र
माइक्रो मिडी सिंथेसाइज़र

यह निर्देशयोग्य वीएलएसआई वीएस1053बी ऑडियो और मिडी डीएसपी चिप के वास्तविक समय के मिडी मोड में उपयोग को प्रदर्शित करता है। इस मोड में यह 64 वॉयस पॉलीफोनिक जीएम (जनरल मिडी) मिडी सिंथेसाइज़र के रूप में कार्य करता है। एक Arduino Uno स्टैंडअलोन माइक्रो OLED डिस्प्ले को नियंत्रित करता है, तीन बटन (फंक्शन सिलेक्ट और अप या डाउन, और मिडी डेटा स्ट्रीम को ऑडियो DSP के माध्यम से पास करता है। चुना गया म्यूजिक बोर्ड Adafruit VS1053 कोडेक ब्रेकआउट बोर्ड था, लेकिन एक स्पार्कफुन म्यूजिक ब्रेकआउट बोर्ड का भी सफलतापूर्वक परीक्षण किया गया था। Adafruit VS1053b पुस्तकालयों का उपयोग बहुत बड़ी SFEMP3 लाइब्रेरी के बजाय किया गया था (स्पार्कफुन द्वारा अनुशंसित, भले ही उनके पास पुस्तकालयों का अपना सेट भी हो), क्योंकि मुझे Adafruit कोड को समझना आसान लगा।

ऑडियो/मिडी डीएसपी को नियंत्रित करने के लिए उपयोग किए जाने वाले अधिकांश कोड को ब्रेडबोर्ड के माध्यम से ऑडियो/मिडी ब्रेकआउट बोर्ड से जुड़े Arduino Uno का उपयोग करके विकसित किया गया था। कार्य संतोषजनक पाए जाने के बाद Uno को एक स्टैंडअलोन ATmega 328 के लिए एक प्रोग्रामर के रूप में इस्तेमाल किया गया था, जिसे बाद में मिडी इनपुट सॉकेट (एक 5 पिन DIN) पर आवश्यक 6N139 ऑप्टो-आइसोलेटर IC के साथ 30x20 आकार के वेरोबार्ड पर रखा गया था।. इसके अलावा एक छोटा (64x48) OLED शील्ड, तीन बटन, एक मिडी गतिविधि एलईडी, और पावर के लिए एक +5 वोल्ट बैरल कनेक्टर और ऑडियो स्टीरियो आउटपुट कनेक्टर जोड़ा गया था। बिजली की आवश्यकताएं बहुत मामूली हैं - 5 वोल्ट पर लगभग 20 एमए।

चरण 1: भागों की सूची

ATmega328 माइक्रो 28 पिन डीआईपी + 28 पिन डीआईपी सॉकेट 6 एन 138 या 6 एन 139 ऑप्टोइसोलेटर + 4 पिन डीआईपी सॉकेट वेमोस 64x48 आई 2 सी ओएलईडी डिस्प्ले या इसी तरह का एडफ्रूट वीएस 1053 बी कोडेक ब्रेकआउट बोर्ड 3 लघु पुशबटन 5 पिन डीआईएन मिडी सॉकेट पीसीबी माउंट पसंदीदा किसी भी रंग का एलईडी। 5 वी आपूर्ति स्टीरियो ऑडियो के लिए बैरल प्रकार पावर सॉकेट एम्पलीफायर या हेडफ़ोन से कनेक्ट करने के लिए सॉकेट प्रतिरोधक: 7 x 10k, 2 x 470 ओम, 2 x 220 ओम कैपेसिटर: 0.1uF 50v प्लास्टिक, 10uf 25v इलेक्ट्रोलाइटिक, 2 x 27 pF सिरेमिक Veroboard के छोटे टुकड़े (20 कॉलम द्वारा 30 स्ट्रिप्स, और 4 स्ट्रिप्स 16 कॉलम द्वारा), ABS प्लास्टिक के बाड़े के बारे में 85x55x25mm, वायरिंग और कुछ स्क्रू नट और वाशर।

चरण 2: निर्माण

निर्माण
निर्माण
निर्माण
निर्माण
निर्माण
निर्माण

बाड़े के ढक्कन में OLED डिस्प्ले, वेरोबार्ड के एक और छोटे टुकड़े पर लगे तीन बटन और बैरल पावर कनेक्टर हैं। मुख्य वेरो सर्किट बोर्ड में ATmega328 के ऊपर संगीत ब्रेकआउट बोर्ड को ठीक करने के लिए दो छेद हैं। कनेक्शन विवरण के लिए कृपया फ्रिटिंग स्ट्रिप बोर्ड आरेख देखें।

क्रमादेशित ATmega328 (कृपया कोड के लिए अगला भाग देखें) को उसके सॉकेट में डाला जाता है और उसके बाद 6N139 और सब कुछ कनेक्ट हो जाता है।

एलईडी का उपयोग मिडी गतिविधि संकेतक के रूप में किया जाता है और इसे बाड़े के सामने की तरफ लगाया जाता है। यह ATmega328 के D2 आउटपुट से 470 ओम रेसिस्टर के माध्यम से जुड़ा है।

OLED डिस्प्ले पावर के लिए Adafruit बोर्ड के 3.3 वोल्ट आउटपुट का उपयोग करता है - इसके लिए 20 mA से कम की आवश्यकता होती है।

यदि आप पहली बार सिंथेस का उपयोग करते समय कोई ऑडियो नहीं सुनते हैं, तो दो मिडी डिन कनेक्शनों को स्वैप करने का प्रयास करें।

चरण 3: सॉफ्टवेयर

ATmega328 पर अपलोड किए जाने वाले स्केच का विवरण MidA.ino में दिया गया है। सात कार्य उपलब्ध हैं:

विकल्प पी: प्रोग्राम बदलें - जीएम मिडी इंस्ट्रूमेंट को 1 से 128 (मैंने 0 से 127 तक इस्तेमाल किया) जैसे पियानो या सिंथ साउंड में बदलें। विकल्प बी: मेलोडिक (बैंक 0) और पर्क्यूशन (बैंक 1) के बीच इंस्ट्रूमेंट बैंक बदलें। विकल्प वी: वॉल्यूम को 1 से 10 तक समायोजित करें। विकल्प सी: मिडी चैनल को बदलें जिसे सिंथ प्रतिक्रिया देगा। विकल्प चैनल 0, चैनल 1, चैनल 9 (टक्कर), चैनल 0 और 9, और चैनल 1 और 9 हैं। विकल्प आर: रीवरब प्रभाव को चालू या बंद करें। विकल्प एस: वर्तमान पैरामीटर को ईप्रोम मेमोरी (ऊपर) में सहेजें। या ईप्रोम मेमोरी से इसे वापस पढ़ें (नीचे)। ऐसा इसलिए है क्योंकि पावर डाउन होने पर सेटिंग्स अन्यथा सहेजी नहीं जाती हैं। विकल्प X: सभी नोट्स ऑफ मैसेज (मिडी रीसेट) भेजें।

एक आठवां विकल्प अभी तक लागू नहीं किया गया है - यह ATmega को एक मिडी फ़िल्टर के रूप में बायपास करेगा और ऑप्टोइसोलेटर के आउटपुट को सीधे DSP बोर्ड के Rx पिन से जोड़ देगा।

ध्यान दें कि VS1053b बूटिंग के दौरान 1039 बाइट संपीड़ित पैच लोड करके रीयल-टाइम मिडी मोड में बूट होता है - इससे मिडी बफर का आकार भी बढ़ जाता है और सिस्टम अनन्य मिडी डेटा बाइट्स को फ़िल्टर करता है। इस पैच का विवरण वीएलएसआई वेबसाइट पर पाया जा सकता है।

Adafruit ग्राफ़िक्स लाइब्रेरी के थोड़े संशोधित संस्करण का उपयोग OLED डिस्प्ले के 64x48 पिक्सेल रिज़ॉल्यूशन को पूरा करने के लिए किया गया था - कृपया मिस्टर मैकौसर के लिए अंत में दिए गए लिंक देखें। स्केच कोड में आवश्यक पुस्तकालयों की एक सूची दी गई है।

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

उनके कोड और पुस्तकालयों के लिए उल्लिखित सभी व्यक्तियों और संस्थाओं को श्रेय दिया जाता है।

चरण 4: लिंक

वीएलएसआई:

एडफ्रूट:

जीथब VS1053b:

जीथब ग्राफिक्स:

ओल्ड:

स्पार्कफुन:

चरण 5: एडफ्रूट पुस्तकालयों के साथ स्पार्कफुन बोर्ड का उपयोग करना

एडफ्रूट पुस्तकालयों के साथ स्पार्कफुन बोर्ड का उपयोग करना
एडफ्रूट पुस्तकालयों के साथ स्पार्कफुन बोर्ड का उपयोग करना

चित्र में दी गई तालिका बताती है कि किसी अन्य पुस्तकालय का उपयोग करने के लिए एडफ्रूट या स्पार्कफुन म्यूजिक बोर्ड को कैसे जोड़ा जाए।

सिफारिश की: