Satura rādītājs:

Atskaņojiet vienu un to pašu mūziku vairākās telpās: 3 soļi
Atskaņojiet vienu un to pašu mūziku vairākās telpās: 3 soļi

Video: Atskaņojiet vienu un to pašu mūziku vairākās telpās: 3 soļi

Video: Atskaņojiet vienu un to pašu mūziku vairākās telpās: 3 soļi
Video: Sharp WF-939 (1988 г.в.) самый последний настоящий sharp? 2024, Jūlijs
Anonim
Atskaņojiet vienu un to pašu mūziku vairākās telpās
Atskaņojiet vienu un to pašu mūziku vairākās telpās

Sveiki visiem, Es nezinu, kā jums, bet man patīk, ja visā manā dzīvoklī skan viena un tā pati mūzika, nepārslēdzot skaņu pārāk skaļi. Tāpēc pēc nelielas izpētes par šo problēmu es nolēmu izveidot vairākus skaļruņus, kas visi ir savienoti ar wifi ar to pašu mūzikas serveri, lai vienlaikus atskaņotu vienu un to pašu mūziku vairākās telpās un jo īpaši vannas istabā.

Sistēma ir balstīta uz GStreamer tehnoloģiju, kas ir dažas lieliskas programmatūras, piemēram, VLC, pamatā un skaļrunis ar wifi iespējām, izmantojot Raspberry Pi.

1. darbība: skaļruņa izveide vannas istabai

Skaļruņa veidošana vannas istabai
Skaļruņa veidošana vannas istabai
Skaļruņa veidošana vannas istabai
Skaļruņa veidošana vannas istabai
Skaļruņa veidošana vannas istabai
Skaļruņa veidošana vannas istabai

Daļu saraksts:

  • vannas istabas skaļrunis
  • 2W pastiprinātājs (darbojas ar 12V)
  • a Raspberry Pi Zero (strādā pie 5v)
  • un Pimoroni Phat DAC
  • SD karte
  • ON/OFF pogu
  • 12V strāvas adapteris + saderīgs kontaktdakša
  • DC/DC pazemināšana (12v-> 5v)
  • elektriskā kaste
  • daži kabeļi

Konstrukcija ir diezgan vienkārša.

Elektroniskajā pusē sekojiet šai ASCII diagrammai.

  • Līdzstrāvas spraudņa ON/OFF pogas pastiprinātājs
  • Ieslēgšanas/izslēgšanas poga DC/DC pazemināšana Raspberry Pi
  • Raspberry Pi Phat DAC pastiprinātāja skaļrunis

No mehāniskās puses izgrieziet visus elektrības kastē nepieciešamos caurumus, ielieciet visu iekšā un viss.

Izmantojot šo tehniku, jūs varat izveidot visu veidu skaļruņus.

2. solis: programmatūras puse

Visa programmatūras puse ir balstīta uz atvērtā pirmkoda multivides ietvaru GStreamer. Es izmantoju tikai Linux, bet tas pastāv dažādās OS, tāpēc es domāju, ka visu var pielāgot citai OS.

Sākumā jums ir jāinstalē Raspbian Lite uz Pi, PHAT DAC un GStreamer 1.0 ar "labajiem" spraudņiem. Datorā, ko izmanto kā mūzikas serveri, nepieciešams tas pats GStreamer. Es nedetalizēšu šīs daļas, jo citi to ir izdarījuši labāk nekā es. Pēdējā lieta, kas nepieciešama, ir tas, ka Pi un mūzikas serverim jābūt savienotam ar to pašu tīklu, izmantojot kabeli vai wifi.

Lai pārbaudītu, vai GStreamer ir pareizi instalēts, varat izmantot šīs komandrindas.

Par skaļruni:

$ gst-launch-1.0 udpsrc ports = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, kanāli = (int) 1, lietderīgā slodze = (int) 96 '! rtpL16depay! audio konvertēšana! autoaudosink

Datorā:

$ gst-launch-1.0 audiotestsrc! audio konvertēšana! audio/x-raw, formāts = "(string) S16BE", layout = "(string) interleaved", kanāli = 1, likme = 44100! rtpL16pay! udpsink resursdators = RASPBERRYPI_IP ports = 5000

Kad esat ievietojis labo IP adresi, nevis “RASPBERRYPI_IP”, skaļrunī vajadzētu dzirdēt sinusoidālu skaņu. Tas nav tas, ko jums patiks dzirdēt ilgu laiku, tāpēc nelieciet skaļumu pārāk skaļi.

Daži skaidrojumi: dators rada sinusoidālu skaņu, izmantojot "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanāli = 1, likme = 44100" convert skaņa labā formātā, ko saprot "rtpL16pay", kas izveido audio paketes un visbeidzot "udpsink" nosūta paketes, izmantojot UDP protokolu. Skaļrunī tas ir tas pats, bet apgriezts, "udpsrc" atgūst audio plūsmu, "rtpL16depay" de-packets un "audioconvert! Autoaudiosink" pārveido skaņu, lai tā atbilstu automātiskās skaņas kartes formātam, un, protams, to atskaņo.

Tātad, tagad, kad pamata lietas darbojas, ir pienācis laiks iet tālāk. Mērķis ir pārtvert lietojumprogrammas skaņu, lai to nosūtītu tīklā.

- Mēs izveidojam viltus izlaidi

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

- Mēs pievienojam ievadi viltus izejai (klusējiet izvēlēto lietojumprogrammu (ievadi))

$ pacmd list-sinks (izvades saraksts)

$ pacmd list-sink-inputs (ievades saraksts)

$ pacmd move-sink-input %input %output (aizstāt %input un %output ar vienu no atbilstošajiem sarakstiem)

- Mēs maksimāli ievietojām skaņas karti

$ pactl set-sink-volume 0 100%

- Mēs datorā pārbaudām veidu, kā atgūt viltus izvadi (atgūt skaņu)

$ gst-launch-1.0 pulsesrc ierīce = multiHP.monitor! audio konvertēšana! autoaudosink

Jums vajadzētu atkal dzirdēt izvēlētās programmas skaņu.

Lieliski! Tagad ir pienācis laiks doties uz pēdējām komandrindām. Šeit ir komandrindas 2 skaļruņu gadījumā ar skaņu, ko atskaņo arī dators.

Katrā skaļrunī:

$ gst-launch-1.0 udpsrc ports = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, kravnesība = (int) 96 '! rtpL16depay! audio konvertēšana! autoaudosink

Datorā:

$ gst-launch-1.0 pulsesrc ierīce = multiHP.monitor! audio konvertēšana! audio/x-raw, formāts = "(string) S16BE", layout = "(string) interleaved", kanāli = 2, likme = 44100! rtpL16pay! tee nosaukums = t t. ! rinda! udpsink resursdators =%addrpi1 ports = 5000 t. ! rinda! udpsink resursdators =%addrpi2 ports = 5000 t. ! rinda! audio konvertēšana! autoaudosink

3. solis: secinājums

Šī pamācība ir tikai pirmais solis, lai pabeigtu projektu. Tas bija tikai, lai izskaidrotu principu. Tagad jūs varat automatizēt, izveidojot skriptu Raspberry Pi sāknēšanas ierīcē un datorā. GStreamer komandu var pielāgot atkarībā no jūsu vajadzībām. Es personīgi mainīju savu iepriekšējo pamācību (JAUNS VECS RADIO), lai to izmantotu kā skaļruni. Lai uzlabotu šo daudzistabu skaņas sistēmu, ir jāveic bezgala daudz lietu. Jo īpaši visi skaļruņi nav sinhronizēti, tāpēc, mainoties no istabas uz citu, jums ir dažas atšķirības.

Es ceru, ka jūs mēģināsit uzlabot šo pamācību.

Ja jums nepieciešama informācija, nevilcinieties uzdot jautājumus.

Labs trāpītājs!

Ieteicams: