Sadržaj:

Reproducirajte istu glazbu u više soba: 3 koraka
Reproducirajte istu glazbu u više soba: 3 koraka

Video: Reproducirajte istu glazbu u više soba: 3 koraka

Video: Reproducirajte istu glazbu u više soba: 3 koraka
Video: Одна в городе_Рассказ_Слушать 2024, Srpanj
Anonim
Reproducirajte istu glazbu u više soba
Reproducirajte istu glazbu u više soba

Pozdrav svima, Ne znam za vas, ali volim imati istu glazbu 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 -jem na isti glazbeni poslužitelj kako bi se istovremeno reproducirala ista glazba u nekoliko soba, a posebno u kupaonici.

Sustav se temelji na GStreamer tehnologiji koja je osnova nekog izvrsnog softvera poput VLC -a i na zvučniku s mogućnošću WiFi -a koji koristi Raspberry Pi.

Korak 1: Izgradnja zvučnika za kupaonicu

Izgradnja zvučnika za kupaonicu
Izgradnja zvučnika za kupaonicu
Izgradnja zvučnika za kupaonicu
Izgradnja zvučnika za kupaonicu
Izgradnja zvučnika za kupaonicu
Izgradnja zvučnika za kupaonicu

Popis dijelova:

  • zvučnik za kupaonicu
  • pojačalo od 2 W (radi na 12V)
  • Raspberry Pi Zero (radi na 5V)
  • PAC -ov Pimoroni Phat
  • SD karticu
  • tipku za uključivanje/isključivanje
  • adapter za napajanje 12v + kompatibilni utikač
  • DC/DC step-down (12v-> 5v)
  • električna kutija
  • neki kabeli

Konstrukcija je prilično jednostavna.

S elektroničke strane slijedite ovaj ASCII dijagram.

  • Gumb za uključivanje/isključivanje DC utikača
  • Gumb za uključivanje/isključivanje DC/DC silazno Raspberry Pi
  • Raspberry Pi Phat DAC zvučničko pojačalo

S mehaničke strane izrežite sve potrebne rupe 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 temelji se na otvorenom multimedijskom 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 s "dobrim" dodacima. Na računalu koje se koristi kao glazbeni poslužitelj potreban vam je isti GStreamer. Neću detaljno opisivati te dijelove jer su drugi to učinili bolje od mene. Posljednje što je potrebno je da Pi i glazbeni poslužitelj moraju biti povezani na istu mrežu kabelom 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! audiokonverzija! autoaudio sudoper

Na računalu:

$ gst-launch-1.0 audiotestsrc! audiokonverzija! 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 glasnoću.

Neka objašnjenja: računalo 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.

- 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 (popis izlaza)

$ pacmd list-sink-inputs (popis ulaza)

$ pacmd move-sink-input %input %output (zamijenite %input i %output jednim od odgovarajućih popisa)

- Zvučnu smo karticu stavili na maksimum

$ pactl set-sink-volume 0 100%

- Testiramo na računalu način oporavka lažnog izlaza (oporavak zvuka)

$ gst-launch-1.0 pulsesrc uređaj = multiHP.monitor! audiokonverzija! autoaudio sudoper

Trebali biste ponovno čuti zvuk aplikacije koju ste odabrali.

Sjajno! Sada je vrijeme za posljednje naredbene retke. Ovdje su naredbene linije u slučaju 2 zvučnika sa zvukom koji reproducira i računalo.

O svakom govorniku:

$ 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! audiokonverzija! autoaudio sudoper

Na računalu:

$ gst-launch-1.0 pulsesrc uređaj = multiHP.monitor! audiokonverzija! 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! audiokonverzija! autoaudio sudoper

Korak 3: Zaključak

Ovo uputstvo samo je prvi korak do potpunog projekta. Trebalo je samo objasniti princip. Sada se možete automatizirati tako da napravite neku skriptu na pokretačkom sustavu Raspberry Pi i na računalu. Naredbu GStreamer možete prilagoditi ovisno o svojim potrebama. Osobno sam izmijenio svoj prethodni instruktor (NOVI STARI RADIO) kako bih ga koristio kao zvučnik. Postoji beskonačan broj stvari koje treba učiniti kako bi se poboljšao ovaj zvučni sustav 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 ovu uputu.

Ne ustručavajte se postavljati pitanja ako trebate detalje.

Dobar tinker!

Preporučeni: