Sadržaj:
Video: Reproducirajte istu muziku u više soba: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Zdravo svima, Ne znam za vas, ali volim imati istu muziku po cijelom stanu, a da ne pojačavam glas. Stoga sam nakon malo istraživanja o ovom problemu odlučio izgraditi nekoliko zvučnika koji su svi povezani WiFi mrežom na isti muzički server kako bi se istovremeno reproducirala ista muzika u nekoliko soba, a posebno u kupaonici.
Sistem je zasnovan na GStreamer tehnologiji koja je osnova nekog sjajnog softvera kao što je VLC i na zvučniku s mogućnošću wifi koji koristi Raspberry Pi.
Korak 1: Izgradnja zvučnika za kupaonicu
Lista dijelova:
- zvučnik za kupatilo
- pojačalo od 2 W (radi na 12V)
- Raspberry Pi Zero (radi na 5V)
- a DAC za Pimoroni Phat
- SD karticu
- dugme za uključivanje/isključivanje
- adapter za napajanje 12v + kompatibilni utikač
- DC/DC step-down (12v-> 5v)
- električna kutija
- neki kablovi
Konstrukcija je prilično jednostavna.
Na elektronskoj strani slijedite ovaj ASCII dijagram.
- Pojačalo sa dugmetom ON/OFF sa utikačem
- Dugme za uključivanje/isključivanje DC/DC postepeno spuštanje Raspberry Pi
- Raspberry Pi Phat DAC zvučničko pojačalo
Na mehaničkoj strani izrežite sve rupe potrebne u električnoj kutiji, stavite sve unutra i to je sve.
Pomoću ove tehnike možete stvoriti sve vrste zvučnika koje želite.
Korak 2: Sa strane softvera
Sva softverska strana zasnovana je na otvorenom multimedijalnom okviru, GStreamer. Koristio sam samo Linux, ali postoji na različitim OS -ima, pa pretpostavljam da se sve može prilagoditi za druge OS.
Za početak, morate instalirati Raspbian Lite na Pi, PHAT DAC i GStreamer 1.0 sa "dobrim" dodacima. Na računaru koji se koristi kao muzički server potreban vam je isti GStreamer. Neću detaljno opisivati te dijelove jer su drugi to učinili bolje od mene. Posljednja stvar koja je potrebna je da Pi i muzički server moraju biti povezani na istu mrežu kablom ili wifi -jem.
Da biste provjerili je li GStreamer ispravno instaliran, možete koristiti te naredbene retke.
Na zvučniku:
$ 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, kanali = (int) 1, korisni teret = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink
Na računaru:
$ gst-launch-1.0 audiotestsrc! audioconvert! audio/x-raw, format = "(niz) S16BE", izgled = "(niz) isprepleten", kanali = 1, brzina = 44100! rtpL16pay! udpsink host = RASPBERRYPI_IP port = 5000
Nakon što postavite dobru IP adresu umjesto "RASPBERRYPI_IP", trebali biste čuti zvuk sinusoida na zvučniku. To nije nešto što ćete dugo voljeti čuti, stoga nemojte pojačati zvuk previše.
Neka objašnjenja: PC proizvodi sinusni zvuk koristeći "audiotestsrc", "audiokonvertiranje! Audio/x-raw, format =" (niz) S16BE ", izgled =" (niz) isprepleten ", kanali = 1, brzina = 44100" pretvori zvuk u dobrom formatu koji razumije "rtpL16pay" koji stvara audio pakete i na kraju "udpsink" šalje pakete koristeći UDP protokol. Na zvučniku je isti, ali obrnut, "udpsrc" obnavlja audio tok, "rtpL16depay" raspakira i "audiokonvertiraj! Autoaudiosink" pretvara zvuk u format automatske zvučne kartice i naravno reproducira ga.
Dakle, sada kada osnovne stvari funkcioniraju, vrijeme je da idemo dalje. Cilj je presresti zvuk aplikacije kako bi se poslao putem mreže.
- Mi stvaramo lažni ispis
$ pactl load-module module-null-sink sink_name = multiHP
- Priključujemo ulaz na lažni izlaz (utišajte odabranu aplikaciju (ulaz))
$ pacmd list-sink (lista izlaza)
$ pacmd list-sink-inputs (lista ulaza)
$ pacmd move-sink-input %input %output (zamijenite %input i %output jednom od odgovarajućih lista)
- Zvučnu smo karticu postavili na maksimum
$ pactl set-sink-volume 0 100%
- Testiramo na računaru način oporavka lažnog izlaza (oporavak zvuka)
$ gst-launch-1.0 pulsesrc uređaj = multiHP.monitor! audioconvert! autoaudiosink
Ponovo biste trebali čuti zvuk aplikacije koju ste odabrali.
Odlično! Sada je vrijeme za konačne naredbene retke. Evo naredbenih linija u slučaju 2 zvučnika sa zvukom koji reproducira i računalo.
Na svakom zvučniku:
$ 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, korisni teret = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink
Na računaru:
$ gst-launch-1.0 pulsesrc uređaj = multiHP.monitor! audioconvert! audio/x-raw, format = "(niz) S16BE", izgled = "(niz) isprepleten", kanali = 2, brzina = 44100! rtpL16pay! ime tee = t t. ! red! udpsink host =%addrpi1 port = 5000 t. ! red! udpsink host =%addrpi2 port = 5000 t. ! red! audioconvert! autoaudiosink
Korak 3: Zaključak
Ovo uputstvo je samo prvi korak do potpunog projekta. Samo je trebalo objasniti princip. Sada možete automatizirati tako što ćete napraviti neku skriptu na pokretačkom sistemu Raspberry Pi i na računaru. Naredbu GStreamer možete prilagoditi ovisno o vašim potrebama. Lično sam izmenio svoj prethodni instruktor (NOVI STARI RADIO) da bih ga koristio kao zvučnik. Postoji beskonačan broj stvari koje treba učiniti kako biste poboljšali ovaj zvučni sistem s više soba. Konkretno, svi zvučnici nisu sinkronizirani, pa imate neke varijacije pri prelasku iz sobe u drugu.
Nadam se da ćete pokušati poboljšati ovo uputstvo.
Ne ustručavajte se postavljati pitanja ako su vam potrebni detalji.
Good tinker!
Preporučuje se:
Reproducirajte video zapis sa ESP32: 10 koraka (sa slikama)
Reproducirajte video zapis s ESP32: Ove upute pokazuju nešto o reprodukciji videa i zvuka s ESP32
Uzgoj više salate na manje prostora ili Uzgoj salate u svemiru, (više ili manje) .: 10 koraka
Uzgoj više salate na manje prostora ili … Uzgoj salate u svemiru, (više ili manje) .: Ovo je profesionalna prijava na takmičenje Growing Beyond Earth, Maker, predano putem Instructables. Nisam mogao biti više uzbuđen što dizajniram za proizvodnju svemirskih biljaka i objavljujem svoj prvi Instructable. Za početak, takmičenje nas je zamolilo da
Korištenje više od 4 motora - slaganje više štitnika motora: 3 koraka
Korištenje više od 4 motora - slaganje višestrukih štitova motora: Vibrotaktilni senzorski uređaj za zamjenu i povećanje senzora (https: //www.instructables.com/id/Vibrotactile-Sens …) pokazuje način kako izgraditi uređaj koji prevodi senzorni unos u vibracione stimulanse. Ti vibracijski stimulansi su p
Kako napraviti LED muziku WS2812B reaktivnu sa više šara: 4 koraka
Kako napraviti LED muziku koja reaguje na muziku WS2812B sa više šablona: WS2812, WS2812B je inteligentno kontrolisan LED izvor svetlosti. ima ugrađeni kontrolni čip i ima 4 pina. V+, V-, Din & Dout.Za kontrolu ovih LED dioda želimo koristiti MCU poput Arduino, PIC ili Rasberry pie. Koristio sam Arduino UNO za ovaj projekt
Reproducirajte muziku s Arduinom!: 5 koraka (sa slikama)
Reproducirajte glazbu s Arduinom !: U ovom uputstvu pokazat ću vam kako reproduciram glazbu koristeći Arduino UNO i modul SD kartice. Koristit ćemo SPI komunikaciju. Počnimo