विषयसूची:

ऑसिलोस्कोप संगीत: 7 कदम
ऑसिलोस्कोप संगीत: 7 कदम

वीडियो: ऑसिलोस्कोप संगीत: 7 कदम

वीडियो: ऑसिलोस्कोप संगीत: 7 कदम
वीडियो: Magic Drawing 3D in 7 Steps ! (+Fr) 2024, नवंबर
Anonim
Image
Image
पृष्ठभूमि
पृष्ठभूमि

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

चरण 1: पृष्ठभूमि

पृष्ठभूमि:

एक आस्टसीलस्कप का उपयोग वोल्टेज सिग्नल को प्रदर्शित करने और मापने के लिए किया जाता है जिसे समय के खिलाफ प्लॉट किया जाता है। XY मोड में एक ऑसिलोस्कोप एक पैरामीट्रिक समीकरण की तरह एक अन्य सिग्नल प्रकार के खिलाफ एक सिग्नल प्लॉट करता है। यह प्रोजेक्ट ध्वनि फ़ाइल द्वारा निर्मित छवियों को प्रदर्शित करने के लिए XY मोड में एक ऑसिलोस्कोप का उपयोग करता है।

चरण 2: मूल विचार

मूल विचार
मूल विचार
मूल विचार
मूल विचार

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

चरण 3: समस्याओं का सामना करना पड़ा

समस्यांए सामने आई है
समस्यांए सामने आई है
समस्यांए सामने आई है
समस्यांए सामने आई है
समस्यांए सामने आई है
समस्यांए सामने आई है

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

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

चरण 4: समाधान

समाधान
समाधान

इन सभी समस्याओं के बाद, मैं एक बहुत ही सरल समाधान खोजने में सक्षम था; एक XY ऑसिलोस्कोप एमुलेटर प्रोग्राम जो एक इनपुट के रूप में ऑडियो लेता है। एक बार जब मुझे यह प्रोग्राम मिल गया, तो मैंने एक ऑसिलोस्कोप बनाने पर ध्यान केंद्रित करने से एक छवि से एक ऑसिलोस्कोप पर प्रदर्शित करने के लिए एक ऑडियो फ़ाइल बनाने का एक तरीका बनाने पर ध्यान केंद्रित किया।

ऑसिलोस्कोप एमुलेटर

चरण 5: एज डिटेक्शन और मैटलैब प्रोग्राम

एज डिटेक्शन और मैटलैब प्रोग्राम
एज डिटेक्शन और मैटलैब प्रोग्राम

यहाँ मेरे कार्यक्रम का एक बुनियादी फ़्लोचार्ट है। यह एक छवि के साथ शुरू होता है जिसे EdgeDetect.m MATLAB प्रोग्राम में लोड किया गया है। यह प्रोग्राम इसे ग्रे-स्केल इमेज में बदल देता है और फिर इमेज में किनारों का पता लगाता है। खोजे गए किनारों के XY निर्देशांक दो सरणियों में रखे जाते हैं जो एक ध्वनि फ़ाइल में परिवर्तित हो जाते हैं।

चरण 6: उदाहरण: निर्देशयोग्य रोबोट

उदाहरण: निर्देशयोग्य रोबोट
उदाहरण: निर्देशयोग्य रोबोट
उदाहरण: निर्देशयोग्य रोबोट
उदाहरण: निर्देशयोग्य रोबोट
उदाहरण: निर्देशयोग्य रोबोट
उदाहरण: निर्देशयोग्य रोबोट

यहाँ निर्देशयोग्य रोबोट के साथ प्रक्रिया का एक उदाहरण दिया गया है। सबसे पहले इंस्ट्रक्शंस रोबोट की एक इमेज डाउनलोड करें और इसे अपने MATLAB वर्किंग फोल्डर ("EdgeDetect.m" के समान स्थान) में "image.png" के रूप में सेव करें। सुनिश्चित करें कि छवि में कुछ भी नहीं है जिसे आप पहचानना चाहते हैं या यह आपकी ध्वनि फ़ाइल में अनावश्यक निर्देशांक का एक गुच्छा जोड़ सकता है। एजडिटेक्ट प्रोग्राम चलाएँ और छवि ग्रे-स्केल में परिवर्तित हो जाएगी, और इसके किनारों का पता लगाया जाएगा और "vector.wav" नामक ध्वनि फ़ाइल के रूप में संग्रहीत किया जाएगा। इसके बाद साउंड फाइल को ऑडेसिटी या किसी अन्य साउंड एडिटिंग प्रोग्राम में खोलें। अपना ऑसिलोस्कोप एमुलेटर प्रोग्राम खोलें (पिछले चरण में लिंक), नमूना दर को 192000 हर्ट्ज पर सेट करें, स्टार्ट दबाएं, माइक्रोफ़ोन बटन पर क्लिक करें, और विकल्प में लाइन का चयन करें। ऑडेसिटी में साउंड फाइल को लूप में चलाने के लिए "शिफ्ट + स्पेसबार" दबाएं। छवि आस्टसीलस्कप एमुलेटर पर दिखाई देनी चाहिए।

चरण 7: समस्या निवारण / उदाहरण फ़ाइलें

जैसे ही मैंने इस कार्यक्रम को विकसित किया मुझे कार्यक्रम में कुछ सेटिंग्स को समायोजित करना पड़ा। अगर यह काम नहीं कर रहा है तो दोबारा जांच करने के लिए यहां कुछ चीजें दी गई हैं:

-सुनिश्चित करें कि आपका ऑडियो आउटपुट आपके कंप्यूटर पर आपकी लाइन में फीड किया जा रहा है और आपके पास 2 अलग (बाएं और दाएं) ऑडियो चैनल हैं

-यदि छवि MATLAB प्रोग्राम द्वारा नहीं पढ़ी जा रही है, तो आपको इसे पेंट में संपादित करने और इसे एक अलग प्रारूप के रूप में सहेजने की आवश्यकता हो सकती है।

- कोड की लाइन 61 पर, एज डिटेक्ट स्क्रीन से नंबर शामिल करना सुनिश्चित करें। कार्यक्रम आम तौर पर पूरी चीज़ के चारों ओर एक आयत रखता है जिसे आप "i = 1: लंबाई (बी)" से "i = 2: लंबाई (बी)" में बदलकर काट सकते हैं। साथ ही, यदि आपके पास विशिष्ट संख्याएं हैं जिन्हें आप शामिल करना चाहते हैं, लेकिन उन सभी को शामिल नहीं करना चाहते हैं, तो आप विशिष्ट संख्याएं प्राप्त करने के लिए वर्ग कोष्ठक का उपयोग कर सकते हैं: "[1 3 6 10 15 17]"

-यदि छवि अस्थिर दिखती है और पुर्जे सभी जगह पर हैं, तो आपको लाइन 76 पर "N" को समायोजित करके नमूनों की संख्या कम करने की आवश्यकता हो सकती है। छवि जितनी सरल हो, उतनी ही कम N हो सकती है, लेकिन यदि छवि अधिक हो तो यह अधिक होनी चाहिए। जटिल है। रोबोट के लिए मैंने N=5 का इस्तेमाल किया।

-आप लाइन 86 पर "Fs" को भी समायोजित कर सकते हैं। नमूनाकरण दर जितनी अधिक होगी छवि उतनी ही बेहतर दिखेगी, लेकिन कुछ साउंड कार्ड उच्च नमूनाकरण दरों को संभालने में सक्षम नहीं होंगे। आधुनिक गानों की सैंपलिंग दर लगभग 320000 हर्ट्ज़ होती है।

सिफारिश की: