विषयसूची:

पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताना: 7 कदम
पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताना: 7 कदम

वीडियो: पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताना: 7 कदम

वीडियो: पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताना: 7 कदम
वीडियो: Full Length Audio Book - 7 Habits of Highly Effective People I Full Hindi Audiobooks I Audiobook 2024, नवंबर
Anonim
पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताने
पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताने
पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताने
पहनने योग्य तकनीक: आवाज बदलने वाला दस्ताने

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

यह निर्देशयोग्य एक पूर्वाभ्यास प्रदान करता है कि कैसे हमने एक आवाज बदलने वाले दस्ताने को डिजाइन किया। हमारे डिजाइन ने गति का पता लगाने के लिए दस्ताने में विभिन्न सेंसर और एक माइक्रोकंट्रोलर का उपयोग किया, जो एक Arduino कोड के माध्यम से मैक्स पैच पर भेजे गए थे, जहां हमारे ऑडियो सिग्नल को बदल दिया गया था और मजेदार तरीकों से विकृत किया गया था। हमारे द्वारा उपयोग किए जाने वाले विशिष्ट सेंसर, गति और ध्वनि परिवर्तन सभी अलग-अलग विचारों के लिए लचीले हैं; आवाज बदलने वाला दस्ताना बनाने का यह सिर्फ एक तरीका है!

यह परियोजना पोमोना कॉलेज के छात्रों और फ्रेमोंट एकेडमी ऑफ इंजीनियरिंग फेमिनियर्स के बीच एक सामुदायिक साझेदारी का हिस्सा थी। यह इलेक्ट्रॉनिक इंजीनियरिंग और इलेक्ट्रॉनिक संगीत तत्वों का एक वास्तविक मजेदार मिश्रण है!

चरण 1: सामग्री

सामग्री
सामग्री
सामग्री
सामग्री
सामग्री
सामग्री

भाग:

  • HexWear माइक्रोकंट्रोलर (ATmega32U4) (https://hexwear.com/)
  • MMA8451 एक्सेलेरोमीटर (https://www.adafruit.com/product/2019)
  • लघु फ्लेक्स सेंसर (x4) (https://www.adafruit.com/product/1070)
  • हल्के चलने वाले दस्ताने
  • #2 स्क्रू और वाशर (x8)
  • समेटना टर्मिनल कनेक्टर; 22-18 गेज (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100pk)
  • 50kΩ रोकनेवाला (x4)
  • तार (~ 20 गेज)
  • स्वयं चिपकने वाला सुरक्षा पिन
  • लगा या अन्य कपड़े (~ 10 वर्ग इंच।)
  • सिलाई के लिए धागा
  • ज़िप बंध
  • लैपटॉप
  • यूएसबी माइक्रोफोन

उपकरण

  • सोल्डरिंग किट
  • वायर स्ट्रिपर्स और वायर कटर
  • विद्युत टेप
  • हॉट एयर गन
  • पेंचकस
  • कैंची
  • सिलाई की सुई

सॉफ्टवेयर:

  • मैक्स बाई साइक्लिंग '74 (https://cycling74.com)
  • Arduino सॉफ़्टवेयर (https://www.arduino.cc/en/Main/Software)

चरण 2: सॉफ़्टवेयर स्थापित करना

हमें किसी भी परियोजना का वास्तव में सबसे रोमांचक भाग के साथ शुरू करना है: पुस्तकालय स्थापित करना (और अधिक)।

अरुडिनो:

Arduino सॉफ़्टवेयर (https://www.arduino.cc/en/Main/Software) को डाउनलोड और इंस्टॉल करें।

हेक्सवियर:

1) (केवल विंडोज़, मैक उपयोगकर्ता इस चरण को छोड़ सकते हैं) https://www.redgerbera.com/pages/hexwear-driver-installation पर जाकर ड्राइवर स्थापित करें। ड्राइवर को डाउनलोड और इंस्टॉल करें (लिंक किए गए RedGerbera पृष्ठ के शीर्ष पर चरण 2 पर सूचीबद्ध.exe फ़ाइल)।

2) हेक्सवेयर के लिए आवश्यक पुस्तकालय स्थापित करें। Arduino IDE खोलें। "फ़ाइल" के अंतर्गत "प्राथमिकताएँ" चुनें। अतिरिक्त बोर्ड प्रबंधक URL के लिए प्रदान की गई जगह में पेस्ट करें

github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json।

फिर "ओके" पर क्लिक करें।

टूल्स -> बोर्ड: -> बोर्ड मैनेजर पर जाएं। ऊपरी बाएँ कोने के मेनू से, "योगदान किया गया" चुनें।

सर्च करें और फिर जरबेरा बोर्ड्स पर क्लिक करें और इंस्टाल पर क्लिक करें। Arduino IDE से बाहर निकलें और फिर से खोलें।

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

एक्सेलेरोमीटर:

एक्सेलेरोमीटर लाइब्रेरी डाउनलोड और इंस्टॉल करें (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

चरण 3: एक्सेलेरोमीटर संलग्न करना

एक्सेलेरोमीटर संलग्न करना
एक्सेलेरोमीटर संलग्न करना
एक्सेलेरोमीटर संलग्न करना
एक्सेलेरोमीटर संलग्न करना

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

आपके हेक्स को नुकसान पहुंचाने से बचने के लिए, हम वांछित बंदरगाहों के माध्यम से # 2 स्क्रू और वॉशर डालने की सलाह देते हैं, फिर उस स्क्रू से सभी कनेक्शन संलग्न करते हैं। दस्ताने के साथ खेलते समय कुछ भी ढीला होने से रोकने के लिए, कनेक्शन को मिलाप किया जाना चाहिए और / या समेटना चाहिए। प्रत्येक कनेक्शन के लिए कुछ इंच के तार का उपयोग करते हुए, हेक्स से एक्सेलेरोमीटर तक निम्नलिखित कनेक्शन बनाएं (संदर्भ के लिए ऊपर पिनआउट देखें):

इनपुट वोल्टेज विंगराउंड GNDSCL/D3 SCLSDA/D2 SDA

सब कुछ तार-तार होने के साथ, हम परीक्षण के लिए तैयार हैं!

एक परीक्षण के रूप में, Arduino (फ़ाइल-> उदाहरण-> Adafruit_MMA8451-> MMA8451demo) में एक्सेलेरोमीटर नमूना कोड चलाएं, यह सुनिश्चित करते हुए कि यह सीरियल मॉनिटर को आउटपुट कर सकता है। इसे स्तर पर होने पर z दिशा में गुरुत्वाकर्षण (~ 10m/s) के कारण त्वरण का उत्पादन करना चाहिए। एक्सेलेरोमीटर को झुकाकर, इस त्वरण को x या y दिशा में मापा जाएगा; हम इसका उपयोग पहनने वाले को अपना हाथ घुमाकर ध्वनि बदलने की अनुमति देने के लिए करेंगे!

अब, हमें एक्सेलेरोमीटर डेटा को इस तरह से प्रस्तुत करने की आवश्यकता है कि इसे मैक्स के साथ इंटरफेस किया जा सके। ऐसा करने के लिए, हमें x और y के मानों को प्रिंट करना होगा, शायद वांछित सीमा से मेल खाने के लिए संशोधित (भाग ६ देखें)। यहां संलग्न हमारे कोड में, हम निम्नलिखित कार्य करते हैं:

// thex-direction और y-direction को मापें। हम MAX (एक्स में 1000 की रेंज और y में 40 की रेंज) के लिए सही श्रेणियों में जाने के लिए विभाजित और गुणा करते हैं xdir = event.acceleration.x/0.02; ydir = abs(event.acceleration.y)*2; // मैक्स के लिए एक पठनीय प्रारूप में सब कुछ प्रिंट करें - प्रत्येक संख्या के बीच रिक्त स्थान के साथ Serial.print(xdir); सीरियल.प्रिंट ("");

इसमें प्रत्येक पंक्ति में एक्सीलरोमीटर के x और y दिशाओं के संशोधित मानों को प्रिंट करने वाला हेक्स होना चाहिए। अब हम फ्लेक्स सेंसर जोड़ने के लिए तैयार हैं!

चरण 4: फ्लेक्स सेंसर संलग्न करना

फ्लेक्स सेंसर संलग्न करना
फ्लेक्स सेंसर संलग्न करना
फ्लेक्स सेंसर संलग्न करना
फ्लेक्स सेंसर संलग्न करना
फ्लेक्स सेंसर संलग्न करना
फ्लेक्स सेंसर संलग्न करना

अगर हम झुकने वाली उंगलियों का पता लगा सकते हैं तो पहनने वाले को कई संभावित ध्वनि नियंत्रण मिल सकते हैं। फ्लेक्स सेंसर बस यही करेंगे। प्रत्येक फ्लेक्स सेंसर अनिवार्य रूप से एक पोटेंशियोमीटर होता है, जहां अनफ्लेक्स्ड का प्रतिरोध ~ 25KΩ होता है, जबकि पूरी तरह से फ्लेक्स्ड में ~ 100KΩ का प्रतिरोध होता है। जैसा कि पहली छवि में दिखाया गया है, हम प्रत्येक फ्लेक्स सेंसर को 50K रोकनेवाला के साथ एक साधारण वोल्टेज विभक्त में डालते हैं।

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

अब, हमें प्रत्येक सेंसर से वोल्टेज में पढ़ने के लिए Arduino कोड की आवश्यकता है। हमारे उद्देश्यों के लिए, हमने फ्लेक्स सेंसर को स्विच के रूप में माना; वे या तो चालू या बंद थे। जैसे, हमारा कोड बस एक वोल्टेज थ्रेशोल्ड सेट करता है-इस थ्रेशोल्ड के ऊपर, हम सीरियल पोर्ट पर 1 आउटपुट करते हैं (मतलब सेंसर मुड़ा हुआ है), अन्यथा हम 0 आउटपुट करते हैं:

// की एक संख्या ले लो

एनालॉग नमूने और उन्हें प्रत्येक फ्लेक्स सेंसर के लिए जोड़ें

जबकि (नमूना_गिनती < NUM_SAMPLES) {

सम १० + = एनालॉगरीड (ए १०);

सम9 + = एनालॉगरीड (ए 9);

sum7 += एनालॉगरीड (A7);

योग 11 + = एनालॉग रीड (ए 11);

नमूना_काउंट ++;

// उन्हें बहुत जल्दी न लेने के लिए कम देरी

देरी(५);

}

// वोल्टेज की गणना करें, तेजी से नमूनों पर औसत

// 5.0V ADC के लिए 5.0 का उपयोग करें

संदर्भ वोल्टेज

// 5.015V कैलिब्रेटेड है

संदर्भ वोल्टेज

वोल्टेज १० = ((फ्लोट) योग १० /

(फ्लोट) NUM_SAMPLES * 5.015) / 1024.0;

वोल्टेज 9 = ((फ्लोट) योग 9 /

(फ्लोट) NUM_SAMPLES * 5.015) / 1024.0;

वोल्टेज7 = ((फ्लोट) योग 7 /

(फ्लोट) NUM_SAMPLES * 5.015) / 1024.0;

वोल्टेज ११ = ((फ्लोट) योग ११ /

(फ्लोट) NUM_SAMPLES * 5.015) / 1024.0;

// जांचें कि क्या प्रत्येक फ्लेक्स सेंसर

दहलीज (थ्रेश) से अधिक है - यदि हां, तो संख्या निर्धारित करें

// पिंकी फिंगर

अगर (वोल्टेज 10> थ्रेश)

{

//-5 बढ़ाने के लिए

एक सप्तक द्वारा आवाज की पिच

फ्लेक्स 10 = -10;

}

अन्य flex10 = 0;

//रिंग फिंगर

अगर (वोल्टेज 9>

(थ्रेश-0.4)) {

//5 कम करने के लिए

एक सप्तक द्वारा आवाज की पिच

फ्लेक्स9 = 5;

}

अन्य flex9 = 0;

//बीच की ऊँगली

अगर (वोल्टेज 7> थ्रेश) {

// 1 सेट करने के लिए

क्रिया प्रभाव

फ्लेक्स7 = 1;

}

अन्य flex7 = 0;

//तर्जनी

अगर (वोल्टेज 11> थ्रेश)

{

// 50 सेट करने के लिए

50. तक साइकिल

फ्लेक्स 11 = 93;

}

अन्य flex11 = 0;

// सभी गिनती रीसेट करें

अगले लूप के लिए 0 से परिवर्तनीय

नमूना_काउंट = 0;

योग १० = ०;

योग9 = 0;

योग 7 = 0;

योग11 = 0;

इस बिंदु पर, सीरियल पोर्ट को एक्सेलेरोमीटर ओरिएंटेशन के लिए मान दिखाना चाहिए, और यह भी कि क्या प्रत्येक फ्लेक्स सेंसर मुड़ा हुआ है। हम अपने Arduino कोड को Max से बात करने के लिए तैयार हैं!

चरण 5: अधिकतम के साथ इंटरफेसिंग

मैक्स के साथ इंटरफेसिंग
मैक्स के साथ इंटरफेसिंग

अब जब हेक्स कोड सीरियल पोर्ट के माध्यम से बहुत सारी संख्या में थूक रहा है, तो हमें इन संकेतों को पढ़ने के लिए मैक्स सॉफ्टवेयर की आवश्यकता है। ऊपर चित्रित कोड का ब्लॉक बस यही करता है! आपका बहुत स्वागत है।

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

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

चरण 6: शेष अधिकतम कोड का निर्माण

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

प्रत्येक पैरामीटर के लिए जिसे आप बदलने की कोशिश कर रहे हैं, आप शायद सही संवेदनशीलता प्राप्त करने के लिए Arduino कोड से आने वाले मानों की श्रेणी के साथ गड़बड़ करना चाहेंगे।

कुछ अन्य मैक्स समस्या निवारण युक्तियाँ:

  • अगर आपको आवाज नहीं सुनाई दे रही है

    • सुनिश्चित करें कि मैक्स आपके माइक्रोफ़ोन से ऑडियो प्राप्त करने के लिए सेट है (विकल्प ऑडियो स्थिति इनपुट डिवाइस)
    • सुनिश्चित करें कि मैक्स में मास्टर वॉल्यूम स्लाइडर चालू है, और आपके कोड में कोई अन्य वॉल्यूम नियंत्रण हो सकता है
  • अगर कोड कुछ भी नहीं कर रहा प्रतीत होता है

    • सुनिश्चित करें कि आपका पैच लॉक है (निचले बाएं कोने में लॉक सिंबल)
    • मैक्स पैच में रीडआउट के माध्यम से सुनिश्चित करें कि आपका मैक्स पैच अभी भी Arduino सीरियल पोर्ट से डेटा प्राप्त कर रहा है। यदि नहीं, तो सीरियल पोर्ट को रीसेट करने का प्रयास करें (जैसा कि चरण 5 में उल्लिखित है) और/या अपने भौतिक तारों के कनेक्शन की जाँच करें।
  • पैरामीटर बदलते समय अजीब कतरन शोर

    यह कुछ ऐसा करने के लिए है कि कैसे ~ Tapin और ~ Tapout काम करते हैं; विशेष रूप से जब आप उनके मान बदलते हैं, तो वे रीसेट हो जाते हैं, जो क्लिपिंग का कारण बनता है। कार्यक्रम के बारे में हमारे सीमित ज्ञान को देखते हुए, हम लगभग निश्चित हैं कि मैक्स में ऐसा करने और समस्या को खत्म करने का एक बेहतर तरीका है …

चरण 7: सचमुच यह सब एक साथ रखना

सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना
सचमुच यह सब एक साथ रखना

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

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

आप अपने अंतिम गायन शक्ति दस्ताने का परीक्षण करने के लिए तैयार हैं! (क्या हम आपकी आवाज बदलने वाली क्षमताओं को पूरी तरह से दिखाने के लिए डाफ्ट पंक के "हार्डर बेटर फास्टर स्ट्रांगर" की अत्यधिक अनुशंसा करते हैं)

सिफारिश की: