সুচিপত্র:

একাধিক কক্ষে একই সঙ্গীত চালান: 3 টি ধাপ
একাধিক কক্ষে একই সঙ্গীত চালান: 3 টি ধাপ
Anonim
একাধিক রুমে একই সঙ্গীত চালান
একাধিক রুমে একই সঙ্গীত চালান

সবাই কেমন আছেন, আমি আপনার সম্পর্কে জানি না কিন্তু আমি খুব জোরে শব্দ না করে আমার সমস্ত অ্যাপার্টমেন্ট জুড়ে একই সঙ্গীত পছন্দ করি। তাই এই সমস্যাটি সম্পর্কে কিছুটা গবেষণার পর, আমি একই রুমে এবং বিশেষ করে বাথরুমে একই সঙ্গীত বাজানোর জন্য একই সঙ্গীত সার্ভারে ওয়াইফাই দ্বারা সংযুক্ত বেশ কয়েকটি স্পিকার তৈরির সিদ্ধান্ত নিয়েছি।

সিস্টেমটি GStreamer প্রযুক্তির উপর ভিত্তি করে তৈরি করা হয়েছে যা VLC এর মত কিছু অসাধারণ সফটওয়্যারের ভিত্তি এবং রাস্পবেরি পাই ব্যবহার করে ওয়াইফাই সক্ষমতার স্পিকারে।

ধাপ 1: বাথরুমের জন্য একটি স্পিকার তৈরি করা

বাথরুমের জন্য স্পিকার তৈরি করা
বাথরুমের জন্য স্পিকার তৈরি করা
বাথরুমের জন্য স্পিকার তৈরি করা
বাথরুমের জন্য স্পিকার তৈরি করা
বাথরুমের জন্য স্পিকার তৈরি করা
বাথরুমের জন্য স্পিকার তৈরি করা

অংশ তালিকা:

  • বাথরুম প্রুফ স্পিকার
  • একটি 2W পরিবর্ধক (12v কাজ)
  • একটি রাস্পবেরি পাই জিরো (5v এ কাজ করা)
  • a Pimoroni Phat DAC
  • একটি এসডি কার্ড
  • একটি চালু/বন্ধ বোতাম
  • একটি 12v পাওয়ার অ্যাডাপ্টার + একটি সামঞ্জস্যপূর্ণ প্লাগ
  • একটি ডিসি/ডিসি স্টেপ ডাউন (12v-> 5v)
  • একটি বৈদ্যুতিক বাক্স
  • কিছু তার

নির্মাণ বেশ সহজবোধ্য।

ইলেকট্রনিক দিকে, এই ASCII ডায়াগ্রামটি অনুসরণ করুন।

  • ডিসি প্লাগ চালু/বন্ধ বোতাম পরিবর্ধক
  • অন/অফ বাটন ডিসি/ডিসি স্টেপ-ডাউন রাস্পবেরি পাই
  • রাস্পবেরি পাই ফ্যাট ডিএসি পরিবর্ধক স্পিকার

যান্ত্রিক দিকে, বৈদ্যুতিক বাক্সে প্রয়োজনীয় সমস্ত ছিদ্রগুলি কেটে ফেলুন, সবকিছু ভিতরে রাখুন এবং এটাই।

এই কৌশল ব্যবহার করে, আপনি আপনার পছন্দ মত সব ধরনের স্পিকার তৈরি করতে পারেন।

ধাপ 2: সফটওয়্যার সাইড

সমস্ত সফটওয়্যারের দিক ওপেন সোর্স মাল্টিমিডিয়া ফ্রেমওয়ার্ক, GStreamer- এর উপর ভিত্তি করে। আমি কেবল লিনাক্স ব্যবহার করেছি কিন্তু এটি বিভিন্ন ওএসে বিদ্যমান, তাই আমি কল্পনা করি যে সমস্ত অন্যান্য অপারেটিং সিস্টেমের জন্য অভিযোজিত হতে পারে।

শুরুর জন্য, আপনাকে "ভাল" প্লাগইনগুলির সাথে Pi, PHAT DAC এবং GStreamer 1.0 তে Raspbian Lite ইনস্টল করতে হবে। সঙ্গীত সার্ভার হিসাবে ব্যবহৃত কম্পিউটারে, আপনার একই GStreamer প্রয়োজন। আমি সেই অংশগুলোর বিস্তারিত বলব না কারণ অন্যরা আমার চেয়ে ভালো করেছে। শেষ জিনিসটি প্রয়োজন যে পাই এবং মিউজিক সার্ভারকে কেবল বা ওয়াইফাই দ্বারা একই নেটওয়ার্কের সাথে সংযুক্ত করতে হবে।

GStreamer সঠিকভাবে ইনস্টল করা আছে কিনা তা পরীক্ষা করার জন্য, আপনি সেই কমান্ড লাইনগুলি ব্যবহার করতে পারেন।

স্পিকারে:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, চ্যানেল = (int) 1, পেলোড = (int) 96 '! rtpL16depay! অডিও কনভার্ট! অটো অডিওসিংক

পিসিতে:

$ gst-launch-1.0 audiotestsrc! অডিও কনভার্ট! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", চ্যানেল = 1, রেট = 44100! rtpL16pay! udpsink হোস্ট = RASPBERRYPI_IP পোর্ট = 5000

আপনি "RASPBERRYPI_IP" এর পরিবর্তে ভাল আইপি ঠিকানা দেওয়ার পরে, আপনার স্পিকারে একটি সাইনোসয়েডাল শব্দ শুনতে হবে। এটি এমন কিছু নয় যা আপনি দীর্ঘদিন শুনতে পছন্দ করবেন, তাই ভলিউমটি খুব জোরে রাখবেন না।

কিছু ব্যাখ্যা: পিসি "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channels = 1, rate = 44100" convert ব্যবহার করে sinusoidal শব্দ উৎপন্ন করে "rtpL16pay" দ্বারা বোঝা ভাল ফরম্যাটে শব্দ যা অডিও প্যাকেট তৈরি করে এবং অবশেষে "udpsink" UDP প্রোটোকল ব্যবহার করে প্যাকেট পাঠায়। স্পিকারে, এটি একই কিন্তু উল্টো, "udpsrc" অডিও ফ্লাক্স পুনরুদ্ধার করে, "rtpL16depay" ডি-প্যাকেট এবং "audioconvert! Autoaudiosink" শব্দটিকে স্বয়ংক্রিয় সাউন্ড কার্ডের ফর্ম্যাটের সাথে মিলিয়ে রূপান্তর করে এবং অবশ্যই এটি চালায়।

তাই এখন যেহেতু মৌলিক জিনিসগুলি কাজ করে, এখন আরও এগিয়ে যাওয়ার সময়। লক্ষ্য হল একটি অ্যাপ্লিকেশনের শব্দকে নেটওয়ার্কের মাধ্যমে পাঠানোর জন্য এটিকে আটকানো।

- আমরা একটি জাল আউটপুট তৈরি করি

$ pactl load-module module-null-sink sink_name = multiHP

- আমরা একটি ইনপুটকে জাল আউটপুটের সাথে সংযুক্ত করি (নির্বাচিত অ্যাপ্লিকেশনটি নীরব করুন (ইনপুট))

$ pacmd তালিকা-সিঙ্ক (আউটপুট তালিকা)

$ pacmd list-sink-inputs (ইনপুট তালিকা)

$ pacmd move-sink-input %input %output (সংশ্লিষ্ট তালিকাগুলির মধ্যে %ইনপুট এবং %আউটপুট প্রতিস্থাপন করুন)

- আমরা সর্বাধিক সাউন্ড কার্ড রাখি

$ pactl set-sink-volume 0 100%

- আমরা পিসিতে নকল আউটপুট পুনরুদ্ধারের উপায় পরীক্ষা করি (শব্দ পুনরুদ্ধার)

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! অডিও কনভার্ট! অটো অডিওসিংক

আপনার নির্বাচিত অ্যাপ্লিকেশনের শব্দটি আবার শুনতে হবে।

দারুণ! এখন চূড়ান্ত কমান্ড লাইনগুলিতে যাওয়ার সময়। এখানে 2 টি স্পিকারের ক্ষেত্রে কমান্ড লাইন রয়েছে যা পিসি দ্বারাও বাজানো হয়।

প্রতিটি স্পিকারে:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, পেলোড = (int) 96 '! rtpL16depay! অডিও কনভার্ট! অটো অডিওসিংক

পিসিতে:

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! অডিও কনভার্ট! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", চ্যানেল = 2, হার = 44100! rtpL16pay! টি নাম = t t। ! কিউ ! udpsink হোস্ট =%addrpi1 পোর্ট = 5000 টি। ! কিউ ! udpsink হোস্ট =%addrpi2 পোর্ট = 5000 টি। ! কিউ ! অডিও কনভার্ট! অটো অডিওসিংক

ধাপ 3: উপসংহার

এই নির্দেশযোগ্য একটি সম্পূর্ণ প্রকল্পের প্রথম ধাপ। এটা শুধু নীতি ব্যাখ্যা করার জন্য ছিল। এখন আপনি রাস্পবেরি পাই বুট এবং পিসিতে কিছু স্ক্রিপ্ট তৈরি করে স্বয়ংক্রিয় করতে পারেন। আপনি আপনার প্রয়োজনের উপর নির্ভর করে GStreamer কমান্ড মানিয়ে নিতে পারেন। আমি ব্যক্তিগতভাবে আমার আগের নির্দেশনা (ব্র্যান্ড নিউ ওল্ড রেডিও) পরিবর্তন করেছি যাতে এটি একটি স্পিকার হিসাবে ব্যবহার করতে পারে। এই মাল্টি-রুম সাউন্ড সিস্টেম উন্নত করার জন্য অসীম সংখ্যক কাজ করতে হবে। বিশেষ করে, সমস্ত স্পিকার সিঙ্ক্রোনাইজ করা হয় না, তাই যখন আপনি একটি রুম থেকে অন্য রুমে পরিবর্তন করেন তখন আপনার কিছু ভিন্নতা থাকে।

আমি আশা করি আপনি এই নির্দেশযোগ্য চেষ্টা করবেন এবং উন্নত করবেন।

আপনার বিস্তারিত প্রয়োজন হলে প্রশ্ন করতে দ্বিধা করবেন না।

ভাল টিঙ্কার!

প্রস্তাবিত: