Kazalo:

Predvajajte isto glasbo v več sobah: 3 koraki
Predvajajte isto glasbo v več sobah: 3 koraki

Video: Predvajajte isto glasbo v več sobah: 3 koraki

Video: Predvajajte isto glasbo v več sobah: 3 koraki
Video: Стабилизация биохимических показателей крови. Большой восстановительный рефлекторный каскад 2024, November
Anonim
Predvajajte isto glasbo v več sobah
Predvajajte isto glasbo v več sobah

Zdravo vsi, Ne vem za vas, ampak rada imam isto glasbo po vsem stanovanju, ne da bi zvok preglasila. Zato sem se po nekaj raziskavah o tej težavi odločil zgraditi več zvočnikov, ki so vsi povezani z wifi na isti glasbeni strežnik, da bi istočasno predvajali isto glasbo v več prostorih in zlasti v kopalnici.

Sistem temelji na tehnologiji GStreamer, ki je osnova neke super programske opreme, kot je VLC, in zvočnikov z možnostjo wifi z uporabo Raspberry Pi.

1. korak: Izdelava zvočnika za kopalnico

Izdelava zvočnika za kopalnico
Izdelava zvočnika za kopalnico
Izdelava zvočnika za kopalnico
Izdelava zvočnika za kopalnico
Izdelava zvočnika za kopalnico
Izdelava zvočnika za kopalnico

Seznam delov:

  • zvočnik za kopalnico
  • 2W ojačevalnik (deluje na 12V)
  • Raspberry Pi Zero (deluje na 5V)
  • DAC za Pimoroni Phat
  • kartico SD
  • gumb ON/OFF
  • 12v napajalnik + združljiv vtič
  • DC/DC korak navzdol (12v-> 5v)
  • električna škatla
  • nekaj kablov

Konstrukcija je precej enostavna.

Na elektronski strani sledite temu diagramu ASCII.

  • Gumb za vklop/izklop DC vtiča
  • Gumb za vklop/izklop DC/DC padajoči Raspberry Pi
  • Ojačevalni zvočnik Raspberry Pi Phat DAC

Na mehanski strani izrežite vse potrebne luknje v električni omarici, vse postavite v notranjost in to je vse.

S to tehniko lahko ustvarite vse vrste zvočnikov, ki jih želite.

2. korak: Programska stran

Vsa programska stran temelji na odprtokodnem multimedijskem okviru GStreamer. Uporabil sem samo Linux, vendar obstaja v različnih operacijskih sistemih, zato si predstavljam, da je vse mogoče prilagoditi za druge operacijske sisteme.

Za začetek morate namestiti Raspbian Lite na Pi, PHAT DAC in GStreamer 1.0 z vtičniki "good". V računalniku, ki se uporablja kot glasbeni strežnik, potrebujete isti GStreamer. Teh delov ne bom podrobno opisoval, ker so drugi to naredili bolje od mene. Zadnja stvar, ki jo potrebujete, je, da morata biti Pi in glasbeni strežnik povezana v isto omrežje s kablom ali wifi.

Če želite preveriti, ali je GStreamer pravilno nameščen, lahko uporabite te ukazne vrstice.

Na zvočniku:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, urna hitrost = (int) 44100, encoding-name = (niz) L16, encoding-params = (niz) 1, kanali = (int) 1, koristna obremenitev = (int) 96 '! rtpL16depay! zvočno pretvorbo! avtoavto umivalnik

Na osebnem računalniku:

$ gst-launch-1.0 audiotestsrc! zvočno pretvorbo! avdio/x-raw, format = "(niz) S16BE", postavitev = "(niz) prepleten", kanali = 1, hitrost = 44100! rtpL16pay! udpsink gostitelj = vrata RASPBERRYPI_IP = 5000

Ko namesto "RASPBERRYPI_IP" vnesete dober naslov IP, bi morali na zvočniku slišati sinusni zvok. To še dolgo ne boste slišali, zato glasnosti ne postavljajte preglasno.

Nekaj razlage: računalnik proizvaja sinusni zvok z uporabo "audiotestsrc", "avdiokonvertiranje! Avdio/x-raw, format =" (niz) S16BE ", postavitev =" (niz) prepleteno ", kanali = 1, hitrost = 44100" pretvori zvok v dobrem formatu, ki ga razume "rtpL16pay", ki ustvari zvočne pakete in na koncu "udpsink" pošlje pakete po protokolu UDP. Na zvočniku je enako, a obrnjeno, "udpsrc" obnovi avdio tok, "rtpL16depay" razpakira in "audioconvert! Autoaudiosink" pretvori zvok tako, da ustreza formatu samodejne zvočne kartice in jo seveda predvaja.

Zdaj, ko osnovne stvari delujejo, je čas, da gremo dlje. Cilj je prestreči zvok aplikacije in jo poslati po omrežju.

- Ustvarjamo ponaredek

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

- Priključimo vhod na ponarejen izhod (utišamo izbrano aplikacijo (vhod))

$ pacmd list-sinks (seznam izhodov)

$ pacmd list-sink-inputs (vhodni seznam)

$ pacmd move-sink-input %input %output (nadomestite %input in %output z enim od ustreznih seznamov)

- Zvočno kartico smo postavili na maksimum

$ pactl set-sink-volume 0 100%

- Na računalniku preizkusimo, kako obnoviti ponarejen izhod (obnoviti zvok)

$ gst-launch-1.0 pulsesrc naprava = multiHP.monitor! zvočno pretvorbo! avtoavto umivalnik

Ponovno bi morali slišati zvok aplikacije, ki ste jo izbrali.

Super! Zdaj je čas za končne ukazne vrstice. Tu so ukazne vrstice v primeru 2 zvočnikov z zvokom, ki ga predvaja tudi računalnik.

O vsakem govorniku:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, urna hitrost = (int) 44100, encoding-name = (niz) L16, encoding-params = (niz) 2, koristna obremenitev = (int) 96 '! rtpL16depay! zvočno pretvorbo! avtoavto umivalnik

Na osebnem računalniku:

$ gst-launch-1.0 pulsesrc naprava = multiHP.monitor! zvočno pretvorbo! avdio/x-raw, format = "(niz) S16BE", postavitev = "(niz) prepleten", kanali = 2, hitrost = 44100! rtpL16pay! ime tee = t t. ! čakalna vrsta! udpsink gostitelj =%addrpi1 port = 5000 t. ! čakalna vrsta! udpsink gostitelj =%addrpi2 vrata = 5000 t. ! čakalna vrsta! zvočno pretvorbo! avtoavto umivalnik

3. korak: Zaključek

To navodilo je le prvi korak do popolnega projekta. Samo pojasniti načelo. Zdaj lahko avtomatizirate tako, da naredite nekaj skripta v zagonu Raspberry Pi in v računalniku. Ukaz GStreamer lahko prilagodite glede na vaše potrebe. Osebno sem spremenil svoj prejšnji pouk (BRAND NEW OLD RADIO), da bi ga uporabil kot zvočnik. Za izboljšanje tega večsobnega zvočnega sistema je treba narediti neskončno veliko stvari. Zlasti vsi zvočniki niso sinhronizirani, zato se pri prehodu iz sobe v drugo razlikujete.

Upam, da boste poskusili izboljšati to navodilo.

Če potrebujete podrobnosti, ne oklevajte in postavljajte vprašanja.

Dober žrtev!

Priporočena: