Turinys:
- 1 žingsnis: pastatykite garsiakalbį vonios kambariui
- 2 žingsnis: programinės įrangos pusė
- 3 žingsnis: Išvada
Video: Leiskite tą pačią muziką keliuose kambariuose: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Sveiki visi, Nežinau, kaip jums, bet man patinka, kad visame bute skamba ta pati muzika, per daug neskambinant. Taigi, šiek tiek ištyręs šią problemą, nusprendžiau pastatyti kelis garsiakalbius, prijungtus prie „Wi -Fi“prie to paties muzikos serverio, kad vienu metu būtų galima leisti tą pačią muziką keliuose kambariuose, ypač vonios kambaryje.
Sistema pagrįsta „GStreamer“technologija, kuri yra nuostabios programinės įrangos, tokios kaip VLC, pagrindas ir garsiakalbis su „Wi -Fi“galimybe naudojant „Raspberry Pi“.
1 žingsnis: pastatykite garsiakalbį vonios kambariui
Dalių sąrašas:
- vonios kambariui atsparus garsiakalbis
- 2 W stiprintuvas (veikia 12V)
- „Raspberry Pi Zero“(veikia 5v)
- ir Pimoroni Phat DAC
- SD kortelę
- mygtuką ON/OFF
- 12 V maitinimo adapteris + suderinamas kištukas
- DC/DC mažinimas (12v-> 5v)
- elektros dėžutė
- kai kurie kabeliai
Konstrukcija yra gana paprasta.
Elektroninėje pusėje sekite šią ASCII diagramą.
- DC kištuko įjungimo/išjungimo mygtuko stiprintuvas
- ĮJUNGIMO/IŠJUNGIMO mygtukas DC/DC žemyn Raspberry Pi
- Raspberry Pi Phat DAC stiprintuvo garsiakalbis
Iš mechaninės pusės išpjaukite visas reikalingas skyles elektros dėžutėje, padėkite viską į vidų ir viskas.
Naudodami šią techniką galite sukurti visų norimų garsiakalbių.
2 žingsnis: programinės įrangos pusė
Visa programinės įrangos pusė yra pagrįsta atvirojo kodo daugialypės terpės sistema „GStreamer“. Aš naudojau tik „Linux“, tačiau ji egzistuoja skirtingose OS, todėl įsivaizduoju, kad visa tai galima pritaikyti kitai OS.
Norėdami pradėti, turite įdiegti „Raspbian Lite“„Pi“, „PHAT DAC“ir „GStreamer 1.0“su „gerais“papildiniais. Kompiuteryje, naudojamame kaip muzikos serveris, jums reikia to paties „GStreamer“. Aš nedetalizuosiu tų dalių, nes kiti tai padarė geriau nei aš. Paskutinis dalykas, kurio reikia, yra tai, kad „Pi“ir muzikos serveris turi būti prijungti prie to paties tinklo kabeliu arba „Wi -Fi“.
Norėdami patikrinti, ar „GStreamer“yra tinkamai įdiegtas, galite naudoti šias komandų eilutes.
Ant garsiakalbio:
$ 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, kanalai = (int) 1, naudingoji apkrova = (int) 96 '! rtpL16depay! garso konvertavimas! automatinis garsiakalbis
Kompiuteryje:
$ gst-launch-1.0 audiotestsrc! garso konvertavimas! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanalai = 1, norma = 44100! rtpL16pay! udpsink host = RASPBERRYPI_IP prievadas = 5000
Įvedę gerą IP adresą vietoj „RASPBERRYPI_IP“, garsiakalbyje turėtumėte išgirsti sinusinį garsą. Tai nėra kažkas, ko jums patinka girdėti ilgą laiką, todėl nespauskite garsumo per garsiai.
Keletas paaiškinimų: kompiuteris sukuria sinusinį garsą naudodami „audiotestsrc“, „audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channels = 1, rate = 44100" convert Garsas tinkamu formatu, suprantamu „rtpL16pay“, sukuriančiu garso paketus ir galiausiai „udpsink“siunčia paketus naudodami UDP protokolą. Garsiakalbyje jis yra tas pats, bet apverstas, „udpsrc“atkuria garso srautą, „rtpL16depay“paketai ir „audioconvert! Autoaudiosink“konvertuoja garsą į automatinės garso plokštės formatą ir, žinoma, jį atkuria.
Taigi dabar, kai pagrindiniai dalykai veikia, atėjo laikas eiti toliau. Tikslas yra perimti programos garsą, kad jis būtų išsiųstas per tinklą.
- Mes sukuriame netikrą produkciją
$ pactl load-module module-null-sink sink_name = multiHP
- Mes prijungiame įvestį prie netikros išvesties (nutildykite pasirinktą programą (įvestį))
$ pacmd list-kriauklės (išvesties sąrašas)
$ pacmd list-sink-inputs (įvesties sąrašas)
$ pacmd move-sink-input %input %output (pakeiskite %įvestį ir %išvestį vienu iš atitinkamų sąrašų)
- Įdėjome garso plokštę maksimaliai
$ pactl set-sink-volume 0 100%
- Mes išbandome kompiuterį, kaip atkurti suklastotą išvestį (atkurti garsą)
$ gst-launch-1.0 impulsinis įrenginys = multiHP.monitor! garso konvertavimas! automatinis garsiakalbis
Turėtumėte vėl išgirsti pasirinktos programos garsą.
Puiku! Dabar atėjo laikas eiti į paskutines komandų eilutes. Čia yra komandų eilutės, jei yra 2 garsiakalbiai, kurių garsas taip pat atkuriamas kompiuteriu.
Ant kiekvieno garsiakalbio:
$ 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, naudingoji apkrova = (int) 96 '! rtpL16depay! garso konvertavimas! automatinis garsiakalbis
Kompiuteryje:
$ gst-launch-1.0 impulsinis įrenginys = multiHP.monitor! garso konvertavimas! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanalai = 2, norma = 44100! rtpL16pay! tee pavadinimas = t t. ! eilė ! udpsink host =%addrpi1 prievadas = 5000 t. ! eilė ! udpsink host =%addrpi2 prievadas = 5000 t. ! eilė ! garso konvertavimas! automatinis garsiakalbis
3 žingsnis: Išvada
Ši pamoka yra tik pirmas žingsnis į užbaigtą projektą. Tai buvo tik paaiškinti principą. Dabar galite automatizuoti sukurdami scenarijų „Raspberry Pi“įkrovoje ir kompiuteryje. „GStreamer“komandą galite pritaikyti pagal savo poreikius. Aš asmeniškai pakeičiau savo ankstesnį nurodymą (NAUJAS SENAS RADIJAS), kad galėčiau jį naudoti kaip garsiakalbį. Norint pagerinti šią kelių kambarių garso sistemą, reikia padaryti begalę dalykų. Visų pirma, visi garsiakalbiai nėra sinchronizuoti, todėl jūs turite tam tikrų skirtumų, kai keičiate kambarį į kitą.
Tikiuosi, kad pabandysite patobulinti šią pamoką.
Jei reikia išsamesnės informacijos, nedvejodami užduokite klausimus.
Geras meistras!
Rekomenduojamas:
Leiskite vaizdo įrašą naudodami ESP32: 10 žingsnių (su nuotraukomis)
Leisti vaizdo įrašą su ESP32: ši instrukcija rodo kažką apie vaizdo ir garso atkūrimą naudojant ESP32
Leiskite kartu išspręsti „Fitbit Charge 2“įkrovą. Eilutės ekrane .: 3 žingsniai
Kartu sutvarkykite „Fitbit Charge 2“. Eilutės ekrane .: Taigi, nusipirkęs pirmąjį „Fitbit“, maždaug 13 tvirtinimo taškų pradėjau rodyti ekraną. Kasdien kitas pasirodydavo kartais daugiau nei vieną kartą per dieną. Aš labai gerai pasirūpinau savo „Fitbit“, maniau, ir nežinojau, kodėl tai prasidėjo. kartą
Leiskite dainas (MP3) naudodami „Arduino“naudodami PWM garsiakalbyje arba „Flyback Transformer“: 6 žingsniai (su paveikslėliais)
Leiskite dainas (MP3) naudodami „Arduino“naudodami PWM garsiakalbyje arba „Flyback Transformer“: Sveiki, vaikinai, tai yra mano pirmasis pamokomas dalykas, tikiuosi, kad jums tai patiks !! Iš esmės šiame projekte naudojau nuoseklųjį ryšį tarp mano „Arduino“ir nešiojamojo kompiuterio, perduoti muzikos duomenis iš nešiojamojo kompiuterio į „Arduino“. Ir naudojant „Arduino TIMERS t
Leiskite muziką naudodami „Arduino“!: 5 žingsniai (su paveikslėliais)
Groti muziką su „Arduino“!: Šioje instrukcijoje parodysiu, kaip aš groju muziką naudodamas „Arduino UNO“ir SD kortelės modulį. Mes naudosime SPI ryšį. Pradėkime
Leiskite vaizdo įrašus atgal naudodami „Quicktime Player“: 5 žingsniai
Groti vaizdo įrašus atgal naudojant „Quicktime Player“: tai yra pats nuostabiausias šimtmečio triukas. Šis instrukcinis rodo paprastą būdą, kaip atkurti vaizdo įrašus atgal neatsisiunčiant gudrių programų (jei neturite greito laiko, jums to reikės.) daryti su projektu, bet man reikėjo