Obsah:
Video: Přehrávejte stejnou hudbu ve více místnostech: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
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
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:
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: 3 kroky
Výukový program: Jak Arduino ovládá více zařízení se stejnou adresou pomocí multiplexeru TCA9548A I2C: Popis: Modul multiplexeru TCA9548A I2C umožňuje připojení zařízení se stejnou adresou I2C (až 8 stejných adres I2C) připojených k jednomu mikrokontroléru. Multiplexer funguje jako strážce brány a přenáší příkazy do vybrané sady
Použití více než 4 motorů - skládání více štítů motoru: 3 kroky
Použití více než 4 motorů - stohování více motorových štítů: Instruktabilní vibrotaktilní senzorické substituční a augmentační zařízení (https: //www.instructables.com/id/Vibrotactile-Sens …) ukazuje způsob, jak vytvořit zařízení, které překládá senzorické vstup do vibračních podnětů. Tyto vibrační podněty jsou
Jak vytvořit LED diody WS2812B reagující na hudbu s více vzory: 4 kroky
Jak vytvořit hudebně reaktivní LED WS2812B s více vzory: WS2812, WS2812B je inteligentně ovládaný světelný zdroj LED. má vestavěný řídicí čip a má 4 piny. V+, V-, Din & Dout. Pro ovládání těchto LED chceme použít MCU jako Arduino, PIC nebo Rasberry pie. Pro tento projekt jsem použil Arduino UNO
Přehrávejte hudbu s Arduinem!: 5 kroků (s obrázky)
Přehrávejte hudbu s Arduino !: V tomto návodu vám ukážu, jak hraji hudbu pomocí modulu Arduino UNO a SD karty. Použijeme komunikaci SPI. Začněme
Světlo reagující na hudbu -- Jak vytvořit super jednoduché světlo reagující na hudbu, které udělá z počítače příjemného člověka: 5 kroků (s obrázky)
Světlo reagující na hudbu || Jak vytvořit super jednoduché světlo reagující na hudbu pro vytvoření přitažlivého počítače: Hej, co lidi, dnes postavíme velmi zajímavý projekt. Dnes budeme stavět světlo reagující na hudbu. LED změní svůj jas podle basy, což je ve skutečnosti nízkofrekvenční zvukový signál. Stavba je velmi jednoduchá. Budeme