Բովանդակություն:

Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում ՝ 3 քայլ
Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում ՝ 3 քայլ

Video: Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում ՝ 3 քայլ

Video: Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում ՝ 3 քայլ
Video: 3 օր 550 տարվա պատմություն ունեցող ճապոնական բուդդայական տաճարում | Կակուրինբո, Կուոնջի տաճար | ASMR 2024, Հուլիսի
Anonim
Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում
Նվագեք նույն երաժշտությունը բազմաթիվ սենյակներում

Բարեւ բոլորին, Ես չգիտեմ ձեր մասին, բայց ես սիրում եմ նույն երաժշտությունը ունենալ իմ ամբողջ բնակարանում ՝ առանց ձայնը չափազանց բարձր բարձրացնելու: Այս խնդրի վերաբերյալ մի փոքր հետազոտությունից հետո ես որոշեցի կառուցել մի քանի բարձրախոս, որոնք բոլորը WiFi- ով միացված են նույն երաժշտական սերվերին, որպեսզի միևնույն սենյակում միաժամանակ նվագարկեն մի քանի սենյակներում և, մասնավորապես, լոգարանում:

Համակարգը հիմնված է GStreamer տեխնոլոգիայի վրա, որը հիմք է հանդիսանում որոշ հիանալի ծրագրաշարի, ինչպիսին է VLC- ն և wifi հնարավորությամբ բարձրախոսով ՝ օգտագործելով Raspberry Pi:

Քայլ 1. Լոգարանի համար խոսնակ կառուցելը

Լոգարանի համար բարձրախոս կառուցելը
Լոգարանի համար բարձրախոս կառուցելը
Լոգարանի համար բարձրախոս կառուցելը
Լոգարանի համար բարձրախոս կառուցելը
Լոգարանի համար բարձրախոս կառուցելը
Լոգարանի համար բարձրախոս կառուցելը

Մասերի ցուցակ.

  • լոգարանի ապացույց բարձրախոս
  • 2 Վ ուժեղացուցիչ (աշխատում է 12 վ լարման վրա)
  • Raspberry Pi Zero (աշխատում է 5 վ -ով)
  • a Pimoroni Phat DAC
  • SD քարտ
  • ON/OFF կոճակ
  • 12 վ լարման ադապտեր + համատեղելի վարդակից
  • DC/DC իջեցում (12v-> 5v)
  • էլեկտրական տուփ
  • որոշ մալուխներ

Շինարարությունը բավականին պարզ է:

Էլեկտրոնային մասում հետևեք այս ASCII գծապատկերին:

  • DC վարդակից ON/OFF կոճակի ուժեղացուցիչ
  • ON/OFF կոճակ DC/DC իջեցնող Raspberry Pi
  • Raspberry Pi Phat DAC ուժեղացուցիչ բարձրախոս

Մեխանիկական կողմից, կտրեք էլեկտրական տուփի մեջ անհրաժեշտ բոլոր անցքերը, ամեն ինչ դրեք ներսում և վերջ:

Օգտագործելով այս տեխնիկան, կարող եք ստեղծել ձեր ուզած բոլոր տեսակի բարձրախոսները:

Քայլ 2: Softwareրագրաշարի կողմը

Theրագրային ապահովման ամբողջ կողմը հիմնված է բաց կոդով մուլտիմեդիա շրջանակի ՝ GStreamer- ի վրա: Ես օգտագործում էի միայն Linux- ը, բայց այն գոյություն ունի տարբեր OS- ներում, ուստի ես պատկերացնում եմ, որ բոլորը կարող են հարմարվել այլ OS- ի համար:

Սկսելու համար, դուք պետք է տեղադրեք Raspbian Lite- ը Pi- ի, PHAT DAC- ի և GStreamer 1.0- ի վրա `« լավ »հավելումներով: Որպես երաժշտական սերվեր օգտագործվող համակարգչում ձեզ հարկավոր է նույն GStreamer- ը: Ես չեմ մանրամասնի այդ հատվածները, քանի որ ուրիշները դա արել են ինձանից լավ: Վերջին բանը, որ անհրաժեշտ է, այն է, որ Pi- ն և երաժշտական սերվերը պետք է միացված լինեն նույն ցանցին մալուխով կամ wifi- ով:

GStreamer- ի ճիշտ տեղադրման ստուգման համար կարող եք օգտագործել այդ հրամանների տողերը:

Բանախոսի վրա.

$ gst-laun-1.0 udpsrc նավահանգիստ = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, ալիքներ = (int) 1, բեռնվածություն = (int) 96 '! rtpL16 մարում! audioconvert! ավտոուուդիոսինք

ԱՀ -ում.

$ gst-launch-1.0 audiotestsrc! audioconvert! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channel = 1, rate = 44100! rtpL16pay! udpsink հյուրընկալող = RASPBERRYPI_IP նավահանգիստ = 5000

«RASPBERRYPI_IP» - ի փոխարեն լավ IP հասցեն դնելուց հետո բարձրախոսի վրա պետք է լսեք սինուսոիդային ձայն: Դա այն չէ, ինչ երկար ժամանակ կցանկանայիք լսել, ուստի ձայնը մի բարձրացրեք:

Որոշ բացատրություն. Համակարգիչը արտադրում է սինուսոիդային ձայն ՝ օգտագործելով «audiotestsrc», «audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channel = 1, rate = 44100" convert «rtpL16pay» - ով հասկանալի լավ ձևաչափով ձայնը, որը ստեղծում է աուդիո փաթեթները և, ի վերջո, «udpsink» - ը փաթեթներն ուղարկում է UDP արձանագրության միջոցով: Բարձրախոսի վրա այն նույնն է, բայց շրջված է, «udpsrc»-ն վերականգնում է ձայնային հոսքը, «rtpL16depay» ապափաթեթները և «audioconvert! Autoaudiosink»-ը ձայնը փոխակերպում է ավտոմատ ձայնային քարտի ձևաչափին և, իհարկե, նվագում է այն:

Այսպիսով, հիմա, երբ հիմնական իրերն աշխատում են, ժամանակն է ավելի առաջ գնալու: Նպատակն է `ընդհատել հավելվածի ձայնը` այն ցանցով ուղարկելու համար:

- Մենք ստեղծում ենք կեղծ ելք

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

- Մենք մուտքը միացնում ենք կեղծ ելքին (լռեցրեք ընտրված ծրագիրը (մուտքագրումը))

$ pacmd ցուցակ-լվացարաններ (ելքերի ցուցակ)

$ pacmd ցուցակ-լվացարան-մուտքեր (մուտքերի ցուցակ)

$ pacmd move-sink-input %մուտքագրում %ելք (փոխարինել %մուտքագրումը և %ելքը համապատասխան ցուցակներից մեկով)

- Մենք ձայնային քարտը դնում ենք առավելագույնի վրա

$ pactl set-sink-volume 0 100%

- Մենք համակարգչի վրա փորձարկում ենք կեղծ ելքը վերականգնելու (ձայնը վերականգնելու) եղանակը:

$ gst-launch-1.0 իմպուլսային սարք = multiHP.monitor! audioconvert! ավտոալիզատոր

Դուք կրկին պետք է լսեք ձեր ընտրած հավելվածի ձայնը:

Հիանալի! Այժմ ժամանակն է գնալ վերջին հրամանի տողերին: Ահա հրամանի տողերը 2 բարձրախոսի դեպքում, որի ձայնը նույնպես հնչում է համակարգչի կողմից:

Յուրաքանչյուր խոսնակի վրա.

$ gst-launch-1.0 udpsrc նավահանգիստ = 5000 caps = 'application/x-rtp, media = (string) audio, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, բեռնվածություն = (int) 96 '! rtpL16 մարում! audioconvert! ավտոալիզատոր

ԱՀ -ում.

$ gst-launch-1.0 իմպուլսային սարք = multiHP.monitor! audioconvert! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channel = 2, rate = 44100! rtpL16pay! թեյի անուն = t t. ! հերթ udpsink հյուրընկալող =%addrpi1 նավահանգիստ = 5000 տ. ! հերթ udpsink հյուրընկալող =%addrpi2 նավահանգիստ = 5000 տ. ! հերթ audioconvert! ավտոուուդիոսինք

Քայլ 3: Եզրակացություն

Այս խրատը միայն առաջին քայլն է ամբողջական ծրագրի իրականացմանը: Դա միայն սկզբունքը բացատրելու համար էր: Այժմ կարող եք ավտոմատացնել ՝ որոշ սցենար պատրաստելով Raspberry Pi բեռնախցիկում և համակարգչում: Դուք կարող եք հարմարեցնել GStreamer հրամանը ՝ կախված ձեր կարիքներից: Ես անձամբ փոփոխեցի իմ նախկին հրահանգվողը (ՄԵAND ՆՈՐ ՀԻՆ ՌԱԴԻՈ) `այն որպես խոսնակ օգտագործելու համար: Կա անսահմանափակ քանակությամբ բաներ, որոնք պետք է կատարելագործեն այս բազմ սենյակ ունեցող ձայնային համակարգը: Մասնավորապես, բոլոր բարձրախոսները սինխրոնացված չեն, այնպես որ դուք որոշակի տատանումներ ունեք, երբ սենյակից մյուսն եք անցնում:

Հուսով եմ, որ դուք կփորձեք կատարելագործել այս ուսանելիը:

Մանրամասների անհրաժեշտության դեպքում մի հապաղեք հարցեր տալ:

Լավ ջինջ!

Խորհուրդ ենք տալիս: