2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06
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
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:
Odstráňte pozadie viacerých obrázkov pomocou Photoshopu 2020: 5 krokov
Odstránenie pozadia z viacerých obrázkov pomocou Photoshopu 2020: Odstránenie pozadia z obrázku je teraz veľmi jednoduché! Takto môžete pomocou programu Adobe Photoshop 2020 odstrániť pozadie viacerých (dávkových) obrázkov pomocou jednoduchého skriptu
Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)
Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a vášho Raspberry Pi: Tento návod ukazuje, ako ovládať viac pinov GPIO na vašom RaspberryPi tak, aby napájali 4 LED diódy. Tiež vás zavedie do parametrov a podmienených príkazov v Pythone. Náš predchádzajúci návod na používanie pinov GPIO vášho Raspberry Pi na
Použitie viac ako 4 motorov - stohovanie viacerých motorových štítov: 3 kroky
Použitie viac ako 4 motorov - stohovanie viacerých motorových štítov: inštruovateľné vibrotaktilné senzorické substitučné a augmentačné zariadenie (https: //www.instructables.com/id/Vibrotactile-Sens …) ukazuje spôsob, ako vytvoriť zariadenie, ktoré prekladá senzorické vstup do vibračných podnetov. Tieto vibračné podnety sú
Pripojenie viacerých tlačidiel k jednému kolíku na Arduino: 4 kroky
Pripojenie viacerých tlačidiel k jednému kolíku na Arduino: Ahoj všetci, keď vaše projekty Arduino prerastú blikajúce diódy LED, môžete sa ocitnúť v núdzi o ďalšie piny. Ukážem vám trik, ktorý môžete použiť tam, kde môžete mať viac tlačidiel, všetky pripojené k rovnakému analógovému kolíku
Svetlo reagujúce na hudbu -- Ako vytvoriť super jednoduché svetlo reagujúce na hudbu a urobiť z neho príjemného stolného počítača: 5 krokov (s obrázkami)
Svetlo reagujúce na hudbu || Ako vytvoriť super jednoduché svetlo reagujúce na hudbu na vytvorenie príjemnej pracovnej plochy .: Hej, chlapci, dnes postavíme veľmi zaujímavý projekt. Dnes budeme stavať svetlo reagujúce na hudbu. LED dióda zmení svoj jas podľa basy, čo je v skutočnosti nízkofrekvenčný zvukový signál. Postavenie je veľmi jednoduché. Budeme