Obsah:

Přehrávejte stejnou hudbu ve více místnostech: 3 kroky
Přehrávejte stejnou hudbu ve více místnostech: 3 kroky

Video: Přehrávejte stejnou hudbu ve více místnostech: 3 kroky

Video: Přehrávejte stejnou hudbu ve více místnostech: 3 kroky
Video: 3 DŮLEŽITÉ VĚCI CO BY SIS MĚL NASTAVIT VE SPOTIFY | Návod | Spostify / MOBIL 2024, Listopad
Anonim
Hrajte stejnou hudbu ve více místnostech
Hrajte stejnou hudbu ve více místnostech

Ahoj všichni, Nevím, jak vy, ale já mám rád stejnou hudbu v celém svém bytě, aniž bych zvuk příliš zesílil. Takže po trochu výzkumu tohoto problému jsem se rozhodl zkonstruovat několik reproduktorů, které jsou všechny připojeny přes wifi ke stejnému hudebnímu serveru, aby bylo možné hrát stejnou hudbu současně v několika místnostech a zejména v koupelně.

Systém je založen na technologii GStreamer, která je základem úžasného softwaru, jako je VLC, a na reproduktoru s funkcí wifi pomocí Raspberry Pi.

Krok 1: Sestavení reproduktoru do koupelny

Budování reproduktoru do koupelny
Budování reproduktoru do koupelny
Stavba reproduktoru do koupelny
Stavba reproduktoru do koupelny
Stavba reproduktoru do koupelny
Stavba reproduktoru do koupelny

Seznam součástí:

  • reproduktor odolný vůči koupelně
  • 2W zesilovač (pracující na 12v)
  • Raspberry Pi Zero (pracuje na 5v)
  • a Pimoroni Phat DAC
  • SD kartu
  • tlačítko ON/OFF
  • napájecí adaptér 12 V + kompatibilní zástrčka
  • a DC/DC step-down (12v-> 5v)
  • elektrická skříňka
  • nějaké kabely

Konstrukce je velmi jednoduchá.

Na elektronické straně se řiďte tímto ASCII diagramem.

  • Zesilovač tlačítka DC ON/OFF
  • Tlačítko ON/OFF DC/DC krok dolů Raspberry Pi
  • Reproduktor zesilovače Raspberry Pi Phat DAC

Na mechanické straně vyřízněte všechny potřebné otvory v elektrické krabici, vložte vše dovnitř a to je vše.

Pomocí této techniky můžete vytvořit všechny druhy reproduktorů, které chcete.

Krok 2: Softwarová stránka

Veškerá softwarová stránka je založena na open source multimediálním rámci GStreamer. Používal jsem pouze Linux, ale existuje na různých operačních systémech, takže si představuji, že vše lze přizpůsobit pro jiné OS.

Pro začátek musíte nainstalovat Raspbian Lite na Pi, PHAT DAC a GStreamer 1.0 s „dobrými“doplňky. Na počítači používaném jako hudební server potřebujete stejný GStreamer. Nebudu tyto části podrobně rozepisovat, protože ostatní to zvládli lépe než já. Poslední potřebná věc je, že Pi a hudební server musí být připojeny ke stejné síti kabelem nebo wifi.

Chcete -li otestovat, zda je GStreamer správně nainstalován, můžete použít tyto příkazové řádky.

Na reproduktoru:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, taktovací frekvence = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, kanály = (int) 1, užitečné zatížení = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink

Na PC:

$ gst-launch-1.0 audiotestsrc! audioconvert! audio/x-raw, format = "(řetězec) S16BE", rozložení = "(řetězec) prokládaný", kanály = 1, rychlost = 44100! rtpL16pay! hostitel hostitele = port RASPBERRYPI_IP = 5 000

Poté, co místo „RASPBERRYPI_IP“zadáte dobrou IP adresu, měli byste na reproduktoru slyšet sinusový zvuk. To není věc, kterou byste rádi slyšeli po dlouhou dobu, proto hlasitost příliš nezvyšujte.

Nějaké vysvětlení: PC produkuje sinusový zvuk pomocí převodu „audiotestsrc“, „audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanály = 1, rate = 44100" zvuk v dobrém formátu, kterému rozumí „rtpL16pay“, který vytváří zvukové pakety a nakonec „udpsink“odesílá pakety pomocí protokolu UDP. Na reproduktoru je to stejné, ale převrácené, „udpsrc“obnovuje zvukový tok, de-pakety „rtpL16depay“a „audioconvert! Autoaudiosink“převádí zvuk tak, aby odpovídal formátu automatické zvukové karty, a samozřejmě jej přehrává.

Takže teď, když základní věci fungují, je čas jít dál. Cílem je zachytit zvuk aplikace a odeslat ji prostřednictvím sítě.

- Vytváříme falešný výstup

$ pactl modul zatížení modulu-null-jímka jímka_název = více HP

- K falešnému výstupu připojíme vstup (umlčíme vybranou aplikaci (vstup))

$ pacmd list-sinks (seznam výstupů)

$ pacmd list-sink-entries (seznam vstupů)

$ pacmd move-sink-input %input %output (nahradit %input a %output jedním z odpovídajících seznamů)

- Zvukovou kartu jsme dali na maximum

$ pactl set-sink-volume 0 100%

- Testujeme na PC způsob, jak obnovit falešný výstup (obnovit zvuk)

$ gst-launch-1.0 pulsesrc zařízení = multiHP.monitor! audioconvert! autoaudiosink

Měli byste znovu slyšet zvuk aplikace, kterou jste vybrali.

Skvělý! Nyní je čas přejít na poslední příkazové řádky. Zde jsou příkazové řádky v případě 2 reproduktorů se zvukem, který hraje i PC.

Na každém reproduktoru:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, taktovací frekvence = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, užitečné zatížení = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink

Na PC:

$ gst-launch-1.0 pulsesrc zařízení = multiHP.monitor! audioconvert! audio/x-raw, format = "(řetězec) S16BE", rozložení = "(řetězec) prokládaný", kanály = 2, rychlost = 44100! rtpL16pay! tee name = t t. ! fronta! hostitel hostitele =%addrpi1 port = 5 000 t. ! fronta! hostitel udpsink =%port addrpi2 = 5000 t. ! fronta! audioconvert! autoaudiosink

Krok 3: Závěr

Tento instruktáž je jen prvním krokem k dokončení projektu. Šlo jen o vysvětlení principu. Nyní můžete automatizovat vytvořením skriptu při spuštění Raspberry Pi a na počítači. Příkaz GStreamer můžete přizpůsobit podle svých potřeb. Osobně jsem upravil svůj předchozí instruktáž (ZCELA NOVÉ STARÉ RÁDIO), abych jej mohl použít jako reproduktor. Existuje mnoho věcí, které je třeba udělat pro vylepšení tohoto vícepokojového zvukového systému. Zejména nejsou všechny reproduktory synchronizovány, takže při přechodu z místnosti do jiné máte určité variace.

Doufám, že se pokusíte tento instruktáž vylepšit.

Pokud potřebujete podrobnosti, neváhejte klást otázky.

Dobrý dráteník!

Doporučuje: