Mündəricat:

Eyni Musiqini Çox Otaqda Çalın: 3 Addım
Eyni Musiqini Çox Otaqda Çalın: 3 Addım

Video: Eyni Musiqini Çox Otaqda Çalın: 3 Addım

Video: Eyni Musiqini Çox Otaqda Çalın: 3 Addım
Video: Uzeyir Mehdizade Behruz Hesenli - Onuda Apar ( Yeni 2023 ) 2024, Noyabr
Anonim
Eyni Musiqini Çox Otaqda Çalın
Eyni Musiqini Çox Otaqda Çalın

Hər kəsə salam, Səni bilmirəm, amma səsini çox yüksək səsə çevirmədən bütün mənzildə eyni musiqini dinləməyi sevirəm. Bu problemlə əlaqədar bir az araşdırma apardıqdan sonra eyni musiqini eyni anda bir neçə otaqda və xüsusən hamamda çalmaq üçün hamısı wifi ilə eyni musiqi serverinə qoşulmuş bir neçə dinamik qurmağa qərar verdim.

Sistem, VLC kimi möhtəşəm bir proqramın əsasını təşkil edən GStreamer texnologiyasına və bir Raspberry Pi istifadə edərək wifi qabiliyyətinə malik dinamikə əsaslanır.

Addım 1: Hamam üçün Dinamik qurmaq

Hamam üçün Dinamik qurmaq
Hamam üçün Dinamik qurmaq
Hamam üçün Dinamik qurmaq
Hamam üçün Dinamik qurmaq
Hamam üçün Dinamik qurmaq
Hamam üçün Dinamik qurmaq

Parça siyahısı:

  • hamama davamlı dinamik
  • 2W gücləndirici (12v üzərində işləyir)
  • a Raspberry Pi Zero (5v üzərində işləyir)
  • bir Pimoroni Phat DAC
  • bir SD kart
  • ON/OFF düyməsi
  • 12v güc adapteri + uyğun bir fiş
  • DC/DC aşağı salınması (12v-> 5v)
  • elektrik qutusu
  • bəzi kabellər

Tikinti olduqca sadədir.

Elektron tərəfdən, bu ASCII diaqramını izləyin.

  • DC fişinin ON/OFF düyməsini gücləndirici
  • ON/OFF düyməsi DC/DC aşağı salınan Raspberry Pi
  • Raspberry Pi Phat DAC gücləndirici dinamik

Mexanik tərəfdən, elektrik qutusunda lazım olan bütün delikləri kəsin, hər şeyi içəriyə qoyun və hamısı budur.

Bu texnikadan istifadə edərək istədiyiniz hər cür dinamiklər yarada bilərsiniz.

Addım 2: Proqram tərəfi

Proqramın bütün tərəfi açıq mənbəli multimedia çərçivəsi GStreamer -ə əsaslanır. Yalnız Linux istifadə etdim, amma fərqli bir OS -də var, buna görə də hamısının digər OS üçün uyğunlaşdırıla biləcəyini düşünürəm.

Başlamaq üçün "yaxşı" plaginləri olan Pi, PHAT DAC və GStreamer 1.0 üzərində Raspbian Lite quraşdırmalısınız. Musiqi serveri olaraq istifadə olunan kompüterdə eyni GStreamerə ehtiyacınız var. Bu hissələri ətraflı izah etməyəcəyəm, çünki başqaları bunu məndən yaxşı etdi. Lazım olan son şey Pi və musiqi serverinin eyni şəbəkəyə kabel və ya wifi ilə bağlanmasıdır.

GStreamer -in düzgün qurulduğunu yoxlamaq üçün bu əmr satırlarından istifadə edə bilərsiniz.

Dinamik üzərində:

$ 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, kanallar = (int) 1, faydalı yük = (int) 96 '! rtpL16depay! audio konvertasiya! avtomatik səs -küy

PC -də:

$ gst-launch-1.0 audiotestsrc! audio konvertasiya! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanallar = 1, dərəcəsi = 44100! rtpL16pay! udpsink host = RASPBERRYPI_IP port = 5000

"RASPBERRYPI_IP" yerinə yaxşı bir IP ünvanı qoyduqdan sonra dinamikdə sinusoidal bir səs eşitməlisiniz. Uzun müddət eşitmək istədiyiniz bir şey deyil, buna görə də səsi çox yüksək qoymayın.

Bəzi izahatlar: kompüter "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanallar = 1, rate = 44100" çevirməklə sinusoidal səs çıxarır. səs paketlərini yaradan və nəhayət "udpsink" paketləri UDP protokolundan istifadə edərək göndərən "rtpL16pay" tərəfindən yaxşı başa düşülən səs. Dinamikdə eyni, lakin tərsdir, "udpsrc" səs axınını bərpa edir, "rtpL16depay" paketlərini çıxarır və "audioconvert! Autoaudiosink" səsi avtomatik səs kartının formatına uyğun olaraq çevirir və təbii ki, çalır.

İndi əsas şeylər işlədiyinə görə daha da irəli getmək vaxtıdır. Məqsəd, bir tətbiqin şəbəkə vasitəsilə göndərilməsi üçün onun səsini kəsməkdir.

- Biz saxta çıxış yaradırıq

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

- Bir girişi saxta çıxışa bağlayırıq (seçilmiş tətbiqi susdurun (giriş))

$ pacmd list-lavabolar (çıxış siyahısı)

$ pacmd siyahısı-sink-girişləri (giriş siyahısı)

$ pacmd Move-sink-input %input %output (%girişini və %çıxışını müvafiq siyahılardan biri ilə əvəz edin)

- Səs kartını maksimum qoyduq

$ pactl set-sink-volume 0 100%

- PC -də saxta çıxışı bərpa etməyin yolunu sınayırıq (səsi bərpa edin)

$ gst-launch-1.0 pulsesrc cihazı = multiHP.monitor! audio konvertasiya! avtomatik səs -küy

Seçdiyiniz tətbiqin səsini yenidən eşitməlisiniz.

Əla! İndi son əmr satırlarına keçməyin vaxtıdır. İşdə PC tərəfindən də səslənən 2 dinamikin vəziyyətindəki əmr satırları.

Hər Dinamikdə:

$ 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, faydalı yük = (int) 96 '! rtpL16depay! audio konvertasiya! avtomatik səs -küy

PC -də:

$ gst-launch-1.0 pulsesrc cihazı = multiHP.monitor! audio konvertasiya! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanallar = 2, dərəcəsi = 44100! rtpL16pay! tee adı = t t. ! növbə! udpsink host =%addrpi1 port = 5000 t. ! növbə! udpsink host =%addrpi2 port = 5000 t. ! növbə! audio konvertasiya! avtomatik səs -küy

Addım 3: Nəticə

Bu təlimatlı bir layihə üçün ilk addımdır. Yalnız prinsipi izah etmək lazım idi. İndi Raspberry Pi açılışında və PC -də bir az skript hazırlayaraq avtomatlaşdıra bilərsiniz. Ehtiyacınızdan asılı olaraq GStreamer əmrini uyğunlaşdıra bilərsiniz. Dinləyici olaraq istifadə etmək üçün əvvəlki təlimatımı (YENİ OLDUĞU RADİO) şəxsən dəyişdirdim. Bu çox otaqlı səs sistemini təkmilləşdirmək üçün sonsuz sayda işlər var. Xüsusilə, bütün dinamiklər sinxronizasiya edilmir, buna görə bir otaqdan digərinə keçərkən bəzi dəyişikliklər olur.

Ümidvaram ki, bu təlimatı daha da yaxşılaşdırmağa çalışacaqsınız.

Detallara ehtiyacınız varsa sual verməkdən çəkinməyin.

Yaxşı tinker!

Tövsiyə: