विषयसूची:

एक ही संगीत को कई कमरों में चलाएं: 3 कदम
एक ही संगीत को कई कमरों में चलाएं: 3 कदम

वीडियो: एक ही संगीत को कई कमरों में चलाएं: 3 कदम

वीडियो: एक ही संगीत को कई कमरों में चलाएं: 3 कदम
वीडियो: लौंग दा लश्कारा (आधिकारिक पूरा गाना) "पटियाला हाउस" | फ़ीट अक्षय कुमार 2024, जुलाई
Anonim
एक से अधिक कमरों में एक ही संगीत बजाएं
एक से अधिक कमरों में एक ही संगीत बजाएं

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

सिस्टम जीस्ट्रीमर तकनीक पर आधारित है जो वीएलसी जैसे कुछ भयानक सॉफ्टवेयर का आधार है और रास्पबेरी पाई का उपयोग करके वाईफाई क्षमता वाले स्पीकर पर है।

चरण 1: बाथरूम के लिए स्पीकर बनाना

बाथरूम के लिए स्पीकर बनाना
बाथरूम के लिए स्पीकर बनाना
बाथरूम के लिए स्पीकर बनाना
बाथरूम के लिए स्पीकर बनाना
बाथरूम के लिए स्पीकर बनाना
बाथरूम के लिए स्पीकर बनाना

सूची का हिस्सा:

  • एक बाथरूम प्रूफ स्पीकर
  • एक 2W एम्पलीफायर (12v पर काम कर रहा है)
  • रास्पबेरी पाई ज़ीरो (5v पर काम कर रहा है)
  • एक पिमोरोनी फाट डीएसी
  • एक एसडी कार्ड
  • एक चालू/बंद बटन
  • एक 12 वी पावर एडाप्टर + एक संगत प्लग
  • डीसी/डीसी स्टेप-डाउन (12v->5v)
  • एक बिजली का बक्सा
  • कुछ केबल

निर्माण काफी सीधा है।

इलेक्ट्रॉनिक पक्ष पर, इस ASCII आरेख का पालन करें।

  • डीसी प्लग ऑन / ऑफ बटन एम्पलीफायर
  • चालू/बंद बटन डीसी/डीसी स्टेप-डाउन रास्पबेरी पाई
  • रास्पबेरी पाई फाट डीएसी एम्पलीफायर स्पीकर

यांत्रिक पक्ष पर, बिजली के बक्से में आवश्यक सभी छेदों को काट लें, सब कुछ अंदर डाल दें और बस इतना ही।

इस तकनीक का उपयोग करके, आप अपने इच्छित सभी प्रकार के स्पीकर बना सकते हैं।

चरण 2: सॉफ्टवेयर पक्ष

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

स्टार्टर के लिए, आपको "अच्छे" प्लगइन्स के साथ Pi, PHAT DAC और GStreamer 1.0 पर रास्पियन लाइट स्थापित करना होगा। संगीत सर्वर के रूप में उपयोग किए जाने वाले कंप्यूटर पर, आपको उसी GStreamer की आवश्यकता होती है। मैं उन हिस्सों का विवरण नहीं दूंगा क्योंकि दूसरों ने मुझसे बेहतर किया है। आखिरी चीज की जरूरत है कि पाई और म्यूजिक सर्वर को केबल या वाईफाई द्वारा एक ही नेटवर्क से जोड़ा जाना है।

यह जांचने के लिए कि क्या GStreamer सही तरीके से स्थापित है, आप उन कमांड लाइनों का उपयोग कर सकते हैं।

स्पीकर पर:

$gst-launch-1.0 udpsrc port=5000 कैप्स='एप्लिकेशन/x-rtp, मीडिया=(स्ट्रिंग)ऑडियो, क्लॉक-रेट=(int)44100, एन्कोडिंग-नाम=(स्ट्रिंग)L16, एन्कोडिंग-पैराम्स=(स्ट्रिंग)1, चैनल = (इंट) 1, पेलोड = (इंट) 96'! आरटीपीएल16डीपे! ऑडियो कन्वर्ट! ऑटोऑडियोसिंक

पीसी पर:

$gst-launch-1.0 audiotestsrc! ऑडियो कन्वर्ट! ऑडियो/एक्स-कच्चा, प्रारूप = "(स्ट्रिंग) S16BE", लेआउट = "(स्ट्रिंग) इंटरलीव्ड", चैनल = 1, दर = ४४१००! आरटीपीएल16पे! udpsink होस्ट=RASPBERRYPI_IP पोर्ट=5000

"RASPBERRYPI_IP" के बजाय अच्छा IP पता डालने के बाद, आपको स्पीकर पर एक साइनसॉइडल ध्वनि सुननी चाहिए। यह ऐसा कुछ नहीं है जिसे आप लंबे समय तक सुनना पसंद करेंगे, इसलिए आवाज़ को ज़्यादा तेज़ न करें।

कुछ स्पष्टीकरण: पीसी "ऑडियोटेस्ट्सआरसी", "ऑडियोकॉनवर्ट! ऑडियो/एक्स-रॉ, फॉर्मेट="(स्ट्रिंग)एस16बीई", लेआउट="(स्ट्रिंग) इंटरलीव्ड", चैनल = 1, दर = 44100" कन्वर्ट का उपयोग करके साइनसॉइडल ध्वनि उत्पन्न करता है। "rtpL16pay" द्वारा समझे जाने वाले अच्छे प्रारूप में ध्वनि जो ऑडियो पैकेट बनाती है और अंत में "udpsink" UDP प्रोटोकॉल का उपयोग करके पैकेट भेजती है। स्पीकर पर, यह वही है लेकिन उल्टा है, "udpsrc" ऑडियो फ्लक्स को पुनर्प्राप्त करता है, "rtpL16depay" डी-पैकेट और "ऑडियोकॉन्वर्ट! ऑटोऑडियोसिंक" ध्वनि को स्वचालित साउंड कार्ड के प्रारूप से मेल खाने के लिए परिवर्तित करता है और निश्चित रूप से इसे बजाता है।

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

- हम एक नकली आउटपुट बनाते हैं

$pactl लोड-मॉड्यूल मॉड्यूल-नल-सिंक सिंक_नाम = मल्टीएचपी

- हम एक इनपुट को नकली आउटपुट से जोड़ते हैं (चयनित एप्लिकेशन (इनपुट) को चुप कराएं)

$pacmd सूची-सिंक (आउटपुट सूची)

$pacmd सूची-सिंक-इनपुट (इनपुट सूची)

$pacmd मूव-सिंक-इनपुट% इनपुट% आउटपुट (% इनपुट और% आउटपुट को संबंधित सूचियों में से एक से बदलें)

- हमने साउंड कार्ड को अधिकतम पर रखा है

$pactl सेट-सिंक-वॉल्यूम 0 100%

- हम पीसी पर नकली आउटपुट को पुनर्प्राप्त करने के तरीके का परीक्षण करते हैं (ध्वनि को पुनर्प्राप्त करें)

$gst-launch-1.0 pulsesrc device=multiHP.monitor ! ऑडियो कन्वर्ट! ऑटोऑडियोसिंक

आपके द्वारा चुने गए एप्लिकेशन की आवाज आपको फिर से सुननी चाहिए।

महान! अब अंतिम कमांड लाइन के लिए जाने का समय है। यहां 2 स्पीकर के मामले में कमांड लाइन दी गई है, जिसमें ध्वनि भी पीसी द्वारा बजायी जाती है।

प्रत्येक स्पीकर पर:

$gst-launch-1.0 udpsrc port=5000 कैप्स='एप्लिकेशन/x-rtp, मीडिया=(स्ट्रिंग)ऑडियो, क्लॉक-रेट=(int)44100, एन्कोडिंग-नाम=(स्ट्रिंग)L16, एन्कोडिंग-पैराम्स=(स्ट्रिंग)2, पेलोड=(int)96'! आरटीपीएल16डीपे! ऑडियो कन्वर्ट! ऑटोऑडियोसिंक

पीसी पर:

$gst-launch-1.0 pulsesrc device=multiHP.monitor ! ऑडियो कन्वर्ट! ऑडियो/एक्स-कच्चा, प्रारूप = "(स्ट्रिंग) S16BE", लेआउट = "(स्ट्रिंग) इंटरलीव्ड", चैनल = 2, दर = 44100! आरटीपीएल16पे! टी नाम = टी टी। ! पंक्ति ! udpsink host=%addrpi1 port=5000 t. ! पंक्ति ! udpsink host=%addrpi2 port=5000 t. ! पंक्ति ! ऑडियो कन्वर्ट! ऑटोऑडियोसिंक

चरण 3: निष्कर्ष

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

मुझे आशा है कि आप इस निर्देश को बेहतर बनाने का प्रयास करेंगे।

यदि आपको विवरण चाहिए तो प्रश्न पूछने में संकोच न करें।

अच्छा टिंकर!

सिफारिश की: