INHOUDSOPGAWE:
Video: Speel dieselfde musiek in verskeie kamers: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Haai almal, Ek weet nie van jou nie, maar ek hou daarvan om dieselfde musiek in my hele woonstel te hê sonder om die geluid te hard te draai. Na 'n bietjie navorsing oor hierdie probleem, het ek besluit om verskeie luidsprekers te bou wat almal via wifi verbind is met dieselfde musiekbediener om dieselfde musiek gelyktydig in verskillende kamers en veral in die badkamer te speel.
Die stelsel is gebaseer op die GStreamer -tegnologie, wat die basis is van wonderlike sagteware soos VLC en luidsprekers met wifi -vermoëns met behulp van 'n Raspberry Pi.
Stap 1: Bou 'n luidspreker vir die badkamer
Deellys:
- 'n badkamer bewys luidspreker
- 'n 2W versterker (werk op 12v)
- 'n Framboos Pi Zero (werk op 5v)
- 'n Pimoroni Phat DAC
- 'n SD -kaart
- 'n AAN/UIT -knoppie
- 'n 12V -kragadapter + 'n versoenbare prop
- 'n DC/DC-afskakeling (12v-> 5v)
- 'n elektriese boks
- 'n paar kabels
Die konstruksie is redelik eenvoudig.
Aan die elektroniese kant, volg hierdie ASCII -diagram.
- DC -aansluiting AAN/UIT -knoppie versterker
- AAN/UIT-knoppie DC/DC trap-af Raspberry Pi
- Framboos Pi Phat DAC versterker luidspreker
Aan die meganiese kant, sny al die gate wat in die elektriese boks benodig word, sit alles binne en dit is alles.
Deur hierdie tegniek te gebruik, kan u allerhande luidsprekers skep.
Stap 2: Die sagteware -kant
Al die sagtewarekant is gebaseer op die open source multimedia raamwerk, GStreamer. Ek het slegs Linux gebruik, maar dit bestaan op verskillende bedryfstelsels, so ek verbeel my dat almal vir ander bedryfstelsels aangepas kan word.
Om mee te begin, moet u Raspbian Lite op die Pi, die PHAT DAC en die GStreamer 1.0 installeer met die 'goeie' inproppe. Op die rekenaar wat as die musiekbediener gebruik word, benodig u dieselfde GStreamer. Ek sal nie die dele in detail beskryf nie, omdat ander dit beter as ek gedoen het. Die laaste ding wat nodig is, is dat die Pi en die musiekbediener met dieselfde netwerk via kabel of wifi verbind moet word.
Om te toets of GStreamer korrek geïnstalleer is, kan u die opdragreëls gebruik.
Op die spreker:
$ gst-launch-1.0 udpsrc poort = 5000 caps = 'application/x-rtp, media = (string) klank, kloksnelheid = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, kanale = (int) 1, loonvrag = (int) 96 '! rtpL16 betaal! klankomskakeling! outo -oudiosink
Op die rekenaar:
$ gst-launch-1.0 oudiotoetse! klankomskakeling! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channel = 1, rate = 44100! rtpL16 betaal! udpsink -gasheer = RASPBERRYPI_IP -poort = 5000
Nadat u die goeie IP -adres in plaas van "RASPBERRYPI_IP" geplaas het, moet u 'n sinusvormige geluid op die luidspreker hoor. Dit is nie iets wat u lank sal hoor nie, dus moenie die volume te hard sit nie.
Enkele verduideliking: die rekenaar produseer die sinusvormige klank met behulp van "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channel = 1, rate = 44100" convert die klank in die goeie formaat verstaan deur "rtpL16pay" wat die klankpakkies skep en uiteindelik "udpsink" die pakkies stuur met behulp van die UDP -protokol. Op die luidspreker is dit dieselfde, maar omgekeerd, "udpsrc" herstel die klankvloei, "rtpL16depay" de-pakkies en "audioconvert! Autoaudiosink" skakel die klank om in die formaat van die outomatiese klankkaart en speel dit natuurlik.
Noudat die basiese dinge werk, is dit tyd om verder te gaan. Die doel is om die geluid van 'n toepassing te onderskep om dit deur die netwerk te stuur.
- Ons skep 'n vals uitvoer
$ pactl load-module module-null-sink sink_name = multiHP
- Ons koppel 'n inset aan die valse uitvoer (stil die geselekteerde toepassing (invoer))
$ pacmd list-sink (uitsetlys)
$ pacmd list-sink-insette (insetlys)
$ pacmd move-sink-input %input %output (vervang %input en %output deur een van die ooreenstemmende lyste)
- Ons stel die klankkaart maksimum
$ pactl set-sink-volume 0 100%
- Ons toets op die rekenaar hoe om die valse uitset te herstel (herstel die geluid)
$ gst-launch-1.0 pulsesrc-toestel = multiHP.monitor! klankomskakeling! outo -oudiosink
U moet weer die geluid van die gekose toepassing hoor.
Puik! Nou is dit tyd om na die laaste opdragreëls te gaan. Hier is die opdraglyne in die geval van 2 luidsprekers, met die klank wat ook deur die rekenaar gespeel word.
Op elke sprekers:
$ gst-launch-1.0 udpsrc-poort = 5000 caps = 'application/x-rtp, media = (string) klank, kloksnelheid = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, loonvrag = (int) 96 '! rtpL16 betaal! klankomskakeling! outo -oudiosink
Op die rekenaar:
$ gst-launch-1.0 pulsesrc-toestel = multiHP.monitor! klankomskakeling! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channel = 2, rate = 44100! rtpL16 betaal! tee naam = t t. ! tou! udpsink gasheer =%addrpi1 poort = 5000 t. ! tou! udpsink -gasheer =%addrpi2 -poort = 5000 t. ! tou! klankomskakeling! outo -oudiosink
Stap 3: Gevolgtrekking
Hierdie instruksies is slegs die eerste stap na 'n volledige projek. Dit was slegs om die beginsel te verduidelik. Nou kan u outomatiseer deur 'n script op die Raspberry Pi -opstart en op die rekenaar te maak. U kan die GStreamer -opdrag aanpas, afhangende van u behoefte. Ek het my vorige instruksies (SPLINTERNUWE OU RADIO) persoonlik aangepas om dit as spreker te gebruik. Daar is 'n oneindige aantal dinge om te doen om hierdie klankstelsel met meer kamers te verbeter. In die besonder is alle luidsprekers nie gesinchroniseer nie, dus u het 'n mate van variasie wanneer u van kamer na kamer verander.
Ek hoop dat u hierdie instruksies sal probeer verbeter.
Moenie twyfel om vrae te stel as u besonderhede benodig nie.
Goeie tinker!
Aanbeveel:
Tutoriaal: Hoe Arduino verskeie dieselfde adresapparate beheer deur TCA9548A I2C -multiplexer te gebruik: 3 stappe
Tutoriaal: Hoe Arduino verskeie dieselfde adres toestelle beheer deur TCA9548A I2C Multiplexer te gebruik: Beskrywing: Die TCA9548A I2C Multiplexer -module is in staat om toestelle met dieselfde I2C -adres (tot 8 dieselfde adres I2C) wat aan een mikrobeheerder gekoppel is, aan te sluit. Die multiplexer dien as 'n poortwagter en stuur die opdragte na die geselekteerde stel
Arduino -beheer van verskeie P.I.R -sensor op dieselfde bord: 3 stappe
Arduino -beheer van veelvuldige PIR -sensor op dieselfde bord: vandag sal ek u vertel hoe u verskeie PIR -sensors met 'n enkele Arduino Bord kan koppel, hier het ek ook 'n 4 -kanaals relaismodule gebruik vir ekstra funksionaliteit. (OF jy kan soveel as wat jy jou arduin gebruik, gebruik
Albums met NFC -etikette om Spotify -musiek outomaties op Chromecast te speel: 5 stappe
Albums met NFC -etikette om Spotify -musiek outomaties op Chromecast te speel: Hierdie projek het begin met die idee om 'n album -collage van my mees gespeelde kunstenaars op Spotify te maak. Na 'n bietjie met die Spotify API in Python gespeel het, het ek gedink dat dit lekker sou wees om hierdie albumdeksels aan hul Spotify URI's te koppel en die
Greatest Holdies: Ek het 'n ou telefoon gekap om die beste musiek te speel: 13 stappe (met foto's)
Greatest Holdies: Ek het 'n ou telefoon gekap om die beste musiek te speel: https: //youtu.be/Ma4QnfQ7DxoWell … Ek is redelik seker dat u nie 'n telefoon wil hê wat net musiek hou nie … daar is talle ander opwindende projekte wat u kan maak met hierdie baie basiese hack van hierdie geredelik beskikbare " lessenaar " telefone
Speel musiek met Arduino !: 5 stappe (met foto's)
Speel musiek met Arduino !: In hierdie instruksies sal ek jou wys hoe ek musiek speel met 'n Arduino UNO en 'n SD -kaartmodule. Ons sal die SPI -kommunikasie gebruik. Kom aan die gang