Obsah:

Hrajte rovnakú hudbu vo viacerých miestnostiach: 3 kroky
Hrajte rovnakú hudbu vo viacerých miestnostiach: 3 kroky

Video: Hrajte rovnakú hudbu vo viacerých miestnostiach: 3 kroky

Video: Hrajte rovnakú hudbu vo viacerých miestnostiach: 3 kroky
Video: Высокая плотность 2022 2024, Júl
Anonim
Hrajte rovnakú hudbu vo viacerých miestnostiach
Hrajte rovnakú hudbu vo viacerých miestnostiach

Ahoj všetci, Neviem ako vy, ale ja mám rád rovnakú hudbu v celom svojom byte bez toho, aby som zvuk príliš nahlas. Po troche výskumu tohto problému som sa rozhodol zostrojiť niekoľko reproduktorov, ktoré sú všetky pripojené prostredníctvom Wi -Fi k rovnakému hudobnému serveru, aby bolo možné hrať rovnakú hudbu súčasne vo viacerých miestnostiach a najmä v kúpeľni.

Systém je založený na technológii GStreamer, ktorá je základom úžasného softvéru, ako je VLC, a na reproduktoroch s možnosťou pripojenia Wi -Fi pomocou Raspberry Pi.

Krok 1: Zostavenie reproduktora do kúpeľne

Stavba reproduktora do kúpeľne
Stavba reproduktora do kúpeľne
Stavba reproduktora do kúpeľne
Stavba reproduktora do kúpeľne
Stavba reproduktora do kúpeľne
Stavba reproduktora do kúpeľne

Zoznam dielov:

  • reproduktor odolný voči kúpeľni
  • 2W zosilňovač (pracujúci na 12 V)
  • Raspberry Pi Zero (funguje na 5v)
  • a Pimoroni Phat DAC
  • SD kartu
  • tlačidlo ON/OFF
  • napájací adaptér 12 V + kompatibilná zástrčka
  • zníženie DC/DC (12 V-> 5 V)
  • elektrická skrinka
  • nejaké káble

Konštrukcia je veľmi jednoduchá.

Na elektronickej strane sa riaďte týmto diagramom ASCII.

  • Zosilňovač s tlačidlom ON/OFF na DC konektore
  • Tlačidlo ON/OFF Zníženie výkonu DC/DC Raspberry Pi
  • Reproduktor zosilňovača DAC Raspberry Pi Phat

Po mechanickej stránke vyrežte všetky potrebné otvory v elektrickej skrinke, vložte všetko dovnútra a to je všetko.

Pomocou tejto techniky môžete vytvoriť všetky druhy reproduktorov, ktoré chcete.

Krok 2: Softvérová stránka

Celá softvérová stránka je založená na open source multimediálnom rámci, GStreamer. Používal som iba Linux, ale existuje na rôznych OS, takže si myslím, že všetky je možné prispôsobiť iným OS.

Na začiatok musíte nainštalovať Raspbian Lite na Pi, PHAT DAC a GStreamer 1.0 pomocou „dobrých“doplnkov. Na počítači používanom ako hudobný server potrebujete rovnaký nástroj GStreamer. Tieto časti nebudem rozpisovať, pretože ostatní to urobili lepšie ako ja. Posledná potrebná vec je, že Pi a hudobný server musia byť pripojené k rovnakej sieti káblom alebo wifi.

Na otestovanie, či je GStreamer správne nainštalovaný, môžete použiť tieto príkazové riadky.

Na reproduktore:

$ 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, kanály = (int) 1, užitočné zaťaženie = (int) 96 '! rtpL16platiť! audiokonvertovať! autoaudiosink

Na počítači:

$ gst-launch-1.0 audiotestsrc! audiokonvertovať! audio/x-raw, formát = "(reťazec) S16BE", rozloženie = "(reťazec) prekladaný", kanály = 1, rýchlosť = 44100! rtpL16pay! hostiteľ udpsink = port RASPBERRYPI_IP = 5 000

Keď namiesto „RASPBERRYPI_IP“zadáte dobrú IP adresu, mali by ste z reproduktora počuť sínusový zvuk. Nie je to niečo, čo by ste chceli dlho počuť, preto nedávajte príliš hlasitosť.

Určité vysvetlenie: počítač produkuje sínusový zvuk pomocou prevodu „audiotestsrc“, „audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channels = 1, rate = 44100" zvuk v dobrom formáte, ktorému rozumie „rtpL16pay“, ktorý vytvára zvukové pakety a nakoniec „udpsink“odosiela pakety pomocou protokolu UDP. Na reproduktore je to rovnaké, ale prevrátené, „udpsrc“obnovuje zvukový tok, de-pakety „rtpL16depay“a „audioconvert! Autoaudiosink“prevádzajú zvuk tak, aby zodpovedal formátu automatickej zvukovej karty, a samozrejme ho prehráva.

Teraz, keď základné veci fungujú, je načase ísť ďalej. Cieľom je zachytiť zvuk aplikácie a odoslať ju prostredníctvom siete.

- Vytvárame falošný výstup

$ pactl modul zavádzacieho modulu-null-jímka sink_name = multiHP

- K falošnému výstupu pripájame vstup (stíšenie vybranej aplikácie (vstupu))

$ pacmd list-sinks (zoznam výstupov)

$ pacmd list-sink-entries (zoznam vstupov)

$ pacmd move-sink-input %input %output (nahraďte %input a %output jedným zo zodpovedajúcich zoznamov)

- Zvukovú kartu sme dali na maximum

$ pactl set-sink-volume 0 100%

- Na počítači testujeme spôsob, ako obnoviť falošný výstup (obnoviť zvuk)

$ gst-launch-1.0 pulsesrc zariadenie = multiHP.monitor! audiokonvertovať! autoaudiosink

Mali by ste znova počuť zvuk aplikácie, ktorú ste vybrali.

Skvelé! Teraz je čas prejsť na posledné príkazové riadky. Tu sú príkazové riadky v prípade 2 reproduktorov so zvukom, ktorý prehráva aj počítač.

Na každom reproduktore:

$ 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, užitočné zaťaženie = (int) 96 '! rtpL16platiť! audiokonvertovať! autoaudiosink

Na počítači:

$ gst-launch-1.0 pulsesrc zariadenie = multiHP.monitor! audiokonvertovať! audio/x-raw, formát = "(reťazec) S16BE", rozloženie = "(reťazec) prekladaný", kanály = 2, rýchlosť = 44100! rtpL16pay! meno odpaliska = t t. ! rad! hostiteľ udpsink =%port addrpi1 = 5 000 t. ! rad! hostiteľ udpsink =%port addrpi2 = 5 000 t. ! rad! audiokonvertovať! autoaudiosink

Krok 3: Záver

Tento návod je len prvým krokom k dokončeniu projektu. Cieľom bolo iba vysvetliť princíp. Teraz môžete automatizovať vykonaním skriptu pri štarte Raspberry Pi a na počítači. Príkaz GStreamer môžete prispôsobiť svojej potrebe. Osobne som upravil svoj predchádzajúci návod (ZCELA NOVÉ STARÉ RÁDIO), aby som ho používal ako reproduktor. Existuje mnoho vecí, ktoré je potrebné urobiť pre zlepšenie tohto viacpriestorového zvukového systému. Najmä všetky reproduktory nie sú synchronizované, takže pri prechode z miestnosti do druhej máte určité variácie.

Dúfam, že sa pokúsite vylepšiť tento návod.

Ak potrebujete podrobnosti, neváhajte sa opýtať.

Dobrý drotár!

Odporúča: