Sisukord:

Esitage sama muusikat mitmes toas: 3 sammu
Esitage sama muusikat mitmes toas: 3 sammu

Video: Esitage sama muusikat mitmes toas: 3 sammu

Video: Esitage sama muusikat mitmes toas: 3 sammu
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Esitage sama muusikat mitmes toas
Esitage sama muusikat mitmes toas

Tere kõigile, Ma ei tea, kuidas teil on, aga mulle meeldib, kui kogu mu korteris kõlab sama muusika, ilma et heli oleks liiga valju. Nii et pärast selle probleemi uurimist otsustasin ehitada mitu kõlarit, mis kõik on ühendatud WiFi -ga sama muusikaserveriga, et mängida sama muusikat samaaegselt mitmes toas ja eriti vannitoas.

Süsteem põhineb GStreameri tehnoloogial, mis on aluseks mõnele vingele tarkvarale, nagu VLC, ja kõlarile, millel on WiFi -ühendus Raspberry Pi abil.

Samm: ehitage vannitoa jaoks kõlar

Vannitoa jaoks kõlari ehitamine
Vannitoa jaoks kõlari ehitamine
Vannitoa jaoks kõlari ehitamine
Vannitoa jaoks kõlari ehitamine
Vannitoa jaoks kõlari ehitamine
Vannitoa jaoks kõlari ehitamine

Osade loend:

  • vannitoakindel kõlar
  • 2W võimendi (töötab 12v)
  • a Raspberry Pi Zero (töötab 5v peal)
  • a Pimoroni Phat DAC
  • SD -kaart
  • ON/OFF nuppu
  • 12 V toiteadapter + ühilduv pistik
  • alalisvoolu/alalisvoolu vähendamine (12v-> 5v)
  • elektrikarp
  • mõned kaablid

Ehitus on üsna lihtne.

Elektroonilisel poolel järgige seda ASCII diagrammi.

  • DC pistiku ON/OFF nuppvõimendi
  • ON/OFF nupp DC/DC alandab Raspberry Pi
  • Raspberry Pi Phat DAC võimendi kõlar

Mehaanilisest küljest lõigake kõik elektrikarbis vajalikud augud, pange kõik sisse ja kõik.

Selle tehnika abil saate luua igasuguseid kõlareid, mida soovite.

2. samm: tarkvara pool

Kogu tarkvara pool põhineb avatud lähtekoodiga multimeediaraamistikul GStreamer. Kasutasin ainult Linuxit, kuid see on olemas erinevates operatsioonisüsteemides, seega kujutan ette, et kõiki saab kohandada teiste OS -ide jaoks.

Alustuseks peate installima Raspbian Lite'i Pi, PHAT DAC ja GStreamer 1.0 koos "heade" pistikprogrammidega. Muusikaserverina kasutatavas arvutis on teil vaja sama GStreamerit. Ma ei täpsusta neid osi, sest teised on seda paremini teinud kui mina. Viimane vajalik asi on see, et Pi ja muusikaserver peavad olema kaabli või wifi kaudu ühendatud sama võrguga.

Selleks, et kontrollida, kas GStreamer on õigesti installitud, saate neid käsureasid kasutada.

Kõlari kohta:

$ 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, kanalid = (int) 1, kasulik koormus = (int) 96 '! rtpL16depay! heli teisendamine! autoaudiosink

Arvutis:

$ gst-launch-1.0 audiotestsrc! heli teisendamine! audio/x-raw, formaat = "(string) S16BE", layout = "(string) interleaved", kanalid = 1, määr = 44100! rtpL16pay! udpsink host = RASPBERRYPI_IP port = 5000

Pärast hea IP -aadressi sisestamist "RASPBERRYPI_IP" asemel peaksite kõlarist kuulma sinusoidaalset heli. Seda ei meeldi teile pikka aega kuulda, nii et ärge pange helitugevust liiga valjuks.

Mõned selgitused: arvuti tekitab sinusoidaalse heli, kasutades "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanalid = 1, rate = 44100" convert heli heas vormingus, mida mõistab "rtpL16pay", mis loob helipaketid ja lõpuks saadab "udpsink" paketid UDP protokolli abil. Kõlaril on see sama, kuid tagurpidi, "udpsrc" taastab helivoo, "rtpL16depay" pakettide tühistamine ja "audioconvert! Autoaudiosink" teisendab heli automaatse helikaardi vormingule vastavaks ja loomulikult mängib seda.

Nüüd, kui põhilised asjad toimivad, on aeg minna kaugemale. Eesmärk on rakenduse heli pealtkuulamine, et see võrgu kaudu saata.

- Loome võltsväljundi

$ pactl load-moodul moodul-null-valamu valamu_nimi = multiHP

- Me ühendame sisendi võltsväljundiga (vaigistage valitud rakendus (sisend))

$ pacmd list-valamud (väljundite loend)

$ pacmd list-valamu-sisendid (sisendite loend)

$ pacmd move-sink-input %input %output (asenda %sisend ja %väljund ühe vastava loendiga)

- Panime helikaardi maksimaalselt

$ pactl set-valamu-maht 0 100%

- Testime arvutis võltsväljundi taastamise viisi (heli taastamist)

$ gst-launch-1.0 impulssrc seade = multiHP.monitor! heli teisendamine! autoaudiosink

Peaksite uuesti valima valitud rakenduse heli.

Suurepärane! Nüüd on aeg minna käsureale. Siin on käsuread 2 kõlari puhul, mille heli mängib ka arvuti.

Iga kõlari kohta:

$ 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, kasulik koormus = (int) 96 '! rtpL16depay! heli teisendamine! autoaudiosink

Arvutis:

$ gst-launch-1.0 impulssrc seade = multiHP.monitor! heli teisendamine! audio/x-raw, formaat = "(string) S16BE", layout = "(string) interleaved", kanalid = 2, määr = 44100! rtpL16pay! tee nimi = t t. ! järjekorda! udpsink host =%addrpi1 port = 5000 t. ! järjekorda! udpsink host =%addrpi2 port = 5000 t. ! järjekorda! heli teisendamine! autoaudiosink

3. samm: järeldus

See juhend on alles esimene samm täieliku projekti saavutamiseks. See oli ainult põhimõtte selgitamine. Nüüd saate automatiseerida, tehes mõne skripti Raspberry Pi alglaadimisel ja arvutis. GStreameri käsku saate kohandada vastavalt oma vajadustele. Muutsin isiklikult oma eelmist juhendit (UUS UUS VANA RAADIO), et seda kõlarina kasutada. Selle mitmetoalise helisüsteemi täiustamiseks tuleb teha lõpmata palju asju. Eelkõige ei ole kõik kõlarid sünkroonitud, nii et teil on mõnest variatsioonist ruumi vahetamisel.

Loodan, et proovite seda juhendit täiustada.

Kui vajate üksikasju, ärge kartke küsimusi esitada.

Hea näpistaja!

Soovitan: