Sisällysluettelo:

Toista samaa musiikkia useissa huoneissa: 3 vaihetta
Toista samaa musiikkia useissa huoneissa: 3 vaihetta

Video: Toista samaa musiikkia useissa huoneissa: 3 vaihetta

Video: Toista samaa musiikkia useissa huoneissa: 3 vaihetta
Video: MITEN TYTÖT KÄY SALILLA | SKETSI 2024, Marraskuu
Anonim
Toista samaa musiikkia useissa huoneissa
Toista samaa musiikkia useissa huoneissa

Hei kaikki, En tiedä sinusta, mutta haluan kuunnella samaa musiikkia kaikkialla asunnossani kääntämättä ääntä liian kovaksi. Joten hieman tämän ongelman tutkimuksen jälkeen päätin rakentaa useita kaiuttimia, jotka kaikki on yhdistetty wifi: llä samaan musiikkipalvelimeen, jotta voimme toistaa samaa musiikkia samanaikaisesti useissa huoneissa ja erityisesti kylpyhuoneessa.

Järjestelmä perustuu GStreamer -tekniikkaan, joka on joidenkin mahtavien ohjelmistojen, kuten VLC: n perusta, ja kaiuttimessa, jossa on wifi -yhteys Raspberry Pi: n avulla.

Vaihe 1: Kaiuttimen rakentaminen kylpyhuoneeseen

Kaiuttimen rakentaminen kylpyhuoneeseen
Kaiuttimen rakentaminen kylpyhuoneeseen
Kaiuttimen rakentaminen kylpyhuoneeseen
Kaiuttimen rakentaminen kylpyhuoneeseen
Kaiuttimen rakentaminen kylpyhuoneeseen
Kaiuttimen rakentaminen kylpyhuoneeseen

Osa lista:

  • kylpyhuoneen kestävä kaiutin
  • 2W vahvistin (toimii 12V)
  • Raspberry Pi Zero (toimii 5 V: n kanssa)
  • ja Pimoroni Phat DAC
  • SD -kortti
  • ON/OFF -painiketta
  • 12 voltin verkkolaite + yhteensopiva pistoke
  • tasavirta/tasavirta (12v-> 5v)
  • sähkölaatikko
  • joitakin kaapeleita

Rakenne on melko suoraviivainen.

Seuraa sähköisellä puolella tätä ASCII -kaaviota.

  • DC -pistokkeen ON/OFF -vahvistin
  • ON/OFF-painike DC/DC alennus Raspberry Pi
  • Raspberry Pi Phat DAC -vahvistinkaiutin

Leikkaa mekaanisella puolella kaikki tarvittavat reiät sähkökoteloon, laita kaikki sisälle ja siinä kaikki.

Tällä tekniikalla voit luoda kaikenlaisia kaiuttimia.

Vaihe 2: Ohjelmistopuoli

Kaikki ohjelmistopuoli perustuu avoimen lähdekoodin multimediakehykseen, GStreameriin. Käytin vain Linuxia, mutta se on olemassa eri käyttöjärjestelmissä, joten kuvittelen, että kaikki voidaan mukauttaa muihin käyttöjärjestelmiin.

Aluksi sinun on asennettava Raspbian Lite Pi, PHAT DAC ja GStreamer 1.0 "hyvillä" laajennuksilla. Musiikkipalvelimena käytetyssä tietokoneessa tarvitset saman GStreamerin. En tarkenna näitä osia, koska muut ovat tehneet tämän paremmin kuin minä. Viimeinen asia on, että Pi ja musiikkipalvelin on yhdistettävä samaan verkkoon kaapelilla tai wifi -yhteydellä.

Voit testata, onko GStreamer asennettu oikein, käyttämällä näitä komentorivejä.

Kaiuttimessa:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (merkkijono) 1, kanavat = (int) 1, hyötykuorma = (int) 96 '! rtpL16depay! äänimuunnos! automaattinen ääni

Tietokoneessa:

$ gst-launch-1.0 audiotestsrc! äänimuunnos! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanavat = 1, rate = 44100! rtpL16pay! udpsink -isäntä = RASPBERRYPI_IP -portti = 5000

Kun olet asettanut hyvän IP -osoitteen "RASPBERRYPI_IP" -kohdan sijaan, kaiuttimesta pitäisi kuulua sinimuotoinen ääni. Tätä et halua kuulla pitkään, joten älä aseta äänenvoimakkuutta liian kovalle.

Selitys: tietokone tuottaa sinimuotoisen äänen käyttämällä "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanavat = 1, rate = 44100" convert ääni hyvässä muodossa, jonka "rtpL16pay" ymmärtää ja joka luo äänipaketit ja lopulta "udpsink" lähettää paketit UDP -protokollaa käyttäen. Kaiuttimessa se on sama mutta käänteinen, "udpsrc" palauttaa äänivirran, "rtpL16depay" -paketit ja "audioconvert! Autoaudiosink" muuntaa äänen vastaamaan automaattisen äänikortin muotoa ja tietysti toistaa sen.

Joten nyt kun perusasiat toimivat, on aika mennä pidemmälle. Tavoitteena on siepata sovelluksen ääni, jotta se voidaan lähettää verkon kautta.

- Luomme väärennetyn tuloksen

$ pactl load-module module-null-sink sink_name = multiHP

- Yhdistämme tulon fake -lähtöön (hiljennä valittu sovellus (tulo))

$ pacmd list-nieluja (lähdeluettelo)

$ pacmd list-sink-inputs (tulolista)

$ pacmd move-sink-input %input %output (korvaa %input ja %output jollakin vastaavista luetteloista)

- Laitamme äänikortin maksimiin

$ pactl set-sink-volume 0 100%

- Testaamme PC: llä keinon palauttaa väärennetty ulostulo (palauttaa äänen)

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! äänimuunnos! automaattinen ääni

Sinun pitäisi kuulla uudelleen valitsemasi sovelluksen ääni.

Loistava! Nyt on aika siirtyä viimeisille komentoriveille. Tässä on komentorivit, kun kyseessä on 2 kaiutinta, joiden ääni kuuluu myös tietokoneella.

Jokaisessa kaiuttimessa:

$ gst-launch-1.0 udpsrc port = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (merkkijono) 2, hyötykuorma = (int) 96 '! rtpL16depay! äänimuunnos! automaattinen ääni

Tietokoneessa:

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! äänimuunnos! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanavat = 2, rate = 44100! rtpL16pay! tee nimi = t t. ! jono! udpsink -isäntä =%addrpi1 -portti = 5000 t. ! jono! udpsink -isäntä =%addrpi2 -portti = 5000 t. ! jono! äänimuunnos! automaattinen ääni

Vaihe 3: Johtopäätös

Tämä ohje on vain ensimmäinen askel täydelliseen projektiin. Se oli vain selittää periaate. Nyt voit automatisoida tekemällä komentosarjan Raspberry Pi -käynnistykseen ja tietokoneeseen. Voit mukauttaa GStreamer -komentoa tarpeen mukaan. Muutin henkilökohtaisesti aikaisempaa ohjeistustani (UUSI VANHA RADIO) käyttääkseni sitä kaiuttimena. Tämän monihuoneäänijärjestelmän parantamiseksi on tehtävä äärettömän paljon asioita. Erityisesti kaikki kaiuttimet eivät ole synkronoituja, joten sinulla on jonkin verran vaihtelua, kun vaihdat huoneesta toiseen.

Toivon, että yrität parantaa tätä ohjeistusta.

Älä epäröi kysyä kysymyksiä, jos tarvitset yksityiskohtia.

Hyvä näppärä!

Suositeltava: