فهرست مطالب:

پخش موسیقی یکسان در چندین اتاق: 3 مرحله
پخش موسیقی یکسان در چندین اتاق: 3 مرحله

تصویری: پخش موسیقی یکسان در چندین اتاق: 3 مرحله

تصویری: پخش موسیقی یکسان در چندین اتاق: 3 مرحله
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
پخش موسیقی یکسان در چندین اتاق
پخش موسیقی یکسان در چندین اتاق

سلام به همه،

من در مورد شما اطلاعی ندارم اما دوست دارم در تمام آپارتمانم یک موسیقی یکسان داشته باشم بدون اینکه صدا را خیلی بلند کنم. بنابراین پس از کمی تحقیق در مورد این مشکل ، تصمیم گرفتم چندین بلندگو بسازم که همگی با وای فای به یک سرور موسیقی متصل شده اند تا بتوانند موسیقی یکسانی را همزمان در چندین اتاق و به ویژه در حمام پخش کنند.

این سیستم مبتنی بر فناوری GStreamer است که پایه برخی نرم افزارهای فوق العاده مانند VLC و بلندگوهایی با قابلیت wifi با استفاده از Raspberry Pi است.

مرحله 1: ساخت بلندگو برای حمام

ساخت بلندگو برای حمام
ساخت بلندگو برای حمام
ساخت بلندگو برای حمام
ساخت بلندگو برای حمام
ساخت بلندگو برای حمام
ساخت بلندگو برای حمام

لیست قسمت ها:

  • بلندگوی ضد حمام
  • تقویت کننده 2 وات (کار روی 12 ولت)
  • Raspberry Pi Zero (کار روی 5 ولت)
  • a Pimoroni Phat DAC
  • یک کارت SD
  • یک دکمه روشن/خاموش
  • یک آداپتور برق 12 ولت + یک پلاگین سازگار
  • کاهش DC/DC (12v-> 5v)
  • یک جعبه برقی
  • برخی از کابل ها

ساخت و ساز بسیار ساده است.

در قسمت الکترونیکی ، این نمودار ASCII را دنبال کنید.

  • تقویت کننده دکمه ON/OFF دوشاخه DC
  • دکمه ON/OFF DC/DC گام به گام Raspberry Pi
  • بلندگوی تقویت کننده Raspberry Pi Phat DAC

در قسمت مکانیکی ، تمام سوراخ های مورد نیاز در جعبه برق را بریده ، همه چیز را داخل آن قرار دهید و تمام.

با استفاده از این تکنیک ، می توانید انواع بلندگوهای مورد نظر خود را ایجاد کنید.

مرحله 2: قسمت نرم افزار

تمام طرف نرم افزار بر اساس چارچوب چند رسانه ای منبع باز ، GStreamer است. من فقط از لینوکس استفاده کردم اما در سیستم عامل های مختلف وجود دارد ، بنابراین تصور می کنم که همه آنها را می توان برای سیستم عامل های دیگر تطبیق داد.

برای شروع ، شما باید Raspbian Lite را روی Pi ، PHAT DAC و GStreamer 1.0 با افزونه های "خوب" نصب کنید. در رایانه ای که به عنوان سرور موسیقی استفاده می شود ، به همان GStreamer احتیاج دارید. من جزئیات آن قسمت ها را توضیح نمی دهم زیرا دیگران این کار را بهتر از من انجام داده اند. آخرین چیزی که لازم است این است که Pi و سرور موسیقی باید از طریق کابل یا wifi به یک شبکه متصل شوند.

برای بررسی اینکه آیا GStreamer به درستی نصب شده است ، می توانید از خطوط فرمان استفاده کنید.

روی بلندگو:

$ gst-laun-1.0 پورت udpsrc = 5000 caps = 'application/x-rtp ، رسانه = (string) صدا ، ساعت-سرعت = (int) 44100 ، encoding-name = (string) L16 ، encoding-params = (string) 1 ، کانال = (int) 1 ، بار = (int) 96 '! rtpL16 بازپرداخت! تبدیل صوتی! سینک خودکار

روی رایانه شخصی:

$ gst-launch-1.0 audiotestsrc! تبدیل صوتی! audio/x-raw، format = "(string) S16BE"، layout = "(string) interleaved"، channel = 1، rate = 44100! rtpL16pay! udpsink host = پورت RASPBERRYPI_IP = 5000

پس از قرار دادن آدرس IP خوب به جای "RASPBERRYPI_IP" ، باید یک صدای سینوسی روی بلندگو بشنوید. این چیزی نیست که دوست داشته باشید برای مدت طولانی بشنوید ، بنابراین صدا را زیاد بلند نکنید.

برخی توضیحات: کامپیوتر با استفاده از "audiotestsrc" ، "audioconvert! audio/x-raw، format =" (string) S16BE "، layout =" (string) interleaved "، کانال = 1 ، نرخ = 44100" تبدیل ، صدای سینوسی تولید می کند صدا با فرمت خوب توسط "rtpL16pay" که بسته های صوتی را ایجاد می کند درک می شود و در نهایت "udpsink" بسته ها را با استفاده از پروتکل UDP ارسال می کند. روی بلندگو ، یکسان اما معکوس است ، "udpsrc" شار صوتی را بازیابی می کند ، بسته های "rtpL16depay" و "audioconvert! autoaudiosink" صدا را با فرمت کارت صدای خودکار مطابقت می دهد و البته آن را پخش می کند.

بنابراین اکنون که موارد اولیه کار می کند ، وقت آن است که بیشتر برویم. هدف این است که صدای یک برنامه را بشنوید تا از طریق شبکه ارسال شود.

- ما یک خروجی جعلی ایجاد می کنیم

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

- یک ورودی را به خروجی جعلی متصل می کنیم (برنامه انتخاب شده (ورودی) را خاموش کنید)

$ pacmd list-sinks (لیست خروجی ها)

$ pacmd list-sink-input (لیست ورودی ها)

$ pacmd move-sink-input٪ ورودی٪ خروجی (جایگزین٪ ورودی و٪ خروجی با یکی از لیست های مربوطه)

- ما کارت صدا را در حداکثر قرار می دهیم

$ pactl set-sink-volume 0 100٪

- روش بازیابی خروجی جعلی (بازیابی صدا) را روی رایانه آزمایش می کنیم

$ gst-laun-1.0 دستگاه pulsesrc = multiHP.monitor! تبدیل صوتی! سینک خودکار

باید دوباره صدای برنامه ای را که انتخاب کرده اید بشنوید.

عالی! اکنون وقت آن است که به سراغ خطوط فرمان نهایی برویم. در اینجا خطوط فرمان در مورد 2 بلندگو با صدایی که توسط رایانه نیز پخش می شود ، آمده است.

روی هر بلندگو:

$ gst-laun-1.0 پورت udpsrc = 5000 caps = 'application/x-rtp ، رسانه = (string) صدا ، clock-rate = (int) 44100 ، encoding-name = (string) L16 ، encoding-params = (string) 2 ، بار = (int) 96 '! rtpL16 بازپرداخت! تبدیل صوتی! سینک خودکار

روی رایانه شخصی:

$ gst-launch-1.0 دستگاه pulsesrc = multiHP.monitor! تبدیل صوتی! audio/x-raw، format = "(string) S16BE"، layout = "(string) interleaved"، channel = 2، rate = 44100! rtpL16pay! نام tee = t t ! صف میزبان udpsink =٪ پورت addrpi1 = 5000 تن. ! صف میزبان udpsink =٪ پورت addrpi2 = 5000 تن. ! صف تبدیل صوتی! سینک خودکار

مرحله 3: نتیجه گیری

این دستورالعمل فقط اولین قدم برای یک پروژه کامل است. فقط برای توضیح اصل بود. اکنون می توانید با ایجاد اسکریپت روی بوت Raspberry Pi و رایانه شخصی خودکار کنید. بسته به نیاز خود می توانید دستور GStreamer را تنظیم کنید. من شخصاً دستورالعمل قبلی ام (BRAND NEW OLD RADIO) را تغییر دادم تا از آن به عنوان بلندگو استفاده کنم. بی نهایت کارها برای بهبود این سیستم صوتی چند اتاق وجود دارد. به طور خاص ، همه بلندگوها هماهنگ نیستند ، بنابراین هنگام تغییر از یک اتاق به اتاق دیگر ، تفاوت هایی با هم دارید.

امیدوارم سعی کنید این آموزش را بهبود بخشید.

در صورت نیاز به جزئیات ، از پرسیدن سوالات دریغ نکنید.

تینکر خوب!

توصیه شده: