Mundarija:
Video: Xuddi shu musiqani bir nechta xonalarda ijro eting: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Hammaga salom, Men siz haqingizda bilmayman, lekin men butun kvartiramda bir xil musiqani eshitishni yoqtiraman, lekin ovozni balandlatib yubormayman. Bu muammoni biroz o'rganib chiqqach, men bir vaqtning o'zida bir nechta xonalarda, xususan, hammomda bir xil musiqani ijro etish uchun bir xil musiqa serveriga wifi orqali ulangan bir nechta dinamiklarni o'rnatishga qaror qildim.
Tizim GStreamer texnologiyasiga asoslangan bo'lib, u VLC kabi ajoyib dasturiy ta'minot va Raspberry Pi yordamida wifi -ga ega dinamikga asoslangan.
1 -qadam: Hammom uchun karnay qurish
Qismlar ro'yxati:
- hammomga chidamli dinamik
- 2 Vt kuchaytirgich (12 V da ishlaydi)
- a Raspberry Pi Zero (5v da ishlaydi)
- Pimoroni Phat DAC
- SD -karta
- ON/OFF tugmasi
- 12V quvvat adapteri + mos keladigan vilka
- DC/DC pasayishi (12v-> 5v)
- elektr qutisi
- ba'zi kabellar
Qurilish juda oddiy.
Elektron tomondan, ushbu ASCII diagrammasini bajaring.
- DC vilkasini yoqish/o'chirish tugmasi kuchaytirgichi
- ON/OFF tugmasi DC/DC Raspberry Pi-ni pasaytiradi
- Raspberry Pi Phat DAC kuchaytirgich dinamik
Mexanik tomondan, elektr qutisiga kerak bo'lgan barcha teshiklarni kesib oling, hamma narsani ichkariga soling va hammasi shu.
Ushbu texnikadan foydalanib, siz xohlagan dinamiklarni yaratishingiz mumkin.
2 -qadam: dasturiy ta'minot tomoni
Dasturning barcha tomonlari ochiq manbali multimediya GStreamer asosiga asoslangan. Men faqat Linuxdan foydalanardim, lekin u har xil OSda mavjud, shuning uchun hammasini boshqa OS uchun moslashtirish mumkin deb o'ylayman.
Boshlash uchun siz Raspbian Lite -ni Pi, PHAT DAC va GStreamer 1.0 -ni "yaxshi" plaginlari bilan o'rnatishingiz kerak. Musiqa serveri sifatida ishlatiladigan kompyuterda sizga bir xil GStreamer kerak. Men bu qismlarni batafsil aytmayman, chunki boshqalar buni mendan yaxshiroq qilishgan. Oxirgi narsa - Pi va musiqa serveri bitta tarmoqqa kabel yoki Wi -Fi orqali ulanishi kerak.
GStreamer to'g'ri o'rnatilganligini tekshirish uchun siz buyruq satrlaridan foydalanishingiz mumkin.
Karnayda:
$ 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, kanallar = (int) 1, foydali yuk = (int) 96 '! rtpL16depay! audio konvertatsiya! avtomatik ovoz
Kompyuterda:
$ gst-launch-1.0 audiotestsrc! audio konvertatsiya! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanallar = 1, tezlik = 44100! rtpL16pay! udpsink hosti = RASPBERRYPI_IP porti = 5000
"RASPBERRYPI_IP" o'rniga yaxshi IP -manzil qo'yganingizdan so'ng, karnayda sinusoidal ovoz eshitiladi. Bu sizni uzoq vaqt eshitishni yoqtirmaydi, shuning uchun ovoz balandligini balandlatmang.
Ba'zi tushuntirishlar: kompyuter sinusoidal ovozni "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", kanallar = 1, tezlik = 44100" konvertatsiya qilish yordamida ishlab chiqaradi. "rtpL16pay" tushunadigan yaxshi formatdagi ovoz, bu audio paketlarni yaratadi va nihoyat "udpsink" paketlarni UDP protokoli yordamida yuboradi. Dinamikda xuddi shunday, lekin teskari, "udpsrc" audio oqimini tiklaydi, "rtpL16depay" paketlarini o'chiradi va "audio konvert! Autoaudiosink" ovozni avtomatik ovoz kartasi formatiga moslashtiradi va albatta o'ynaydi.
Shunday qilib, endi asosiy narsalar ishlayotganda, oldinga borish vaqti keldi. Maqsad - tarmoq orqali yuborish uchun ilovaning ovozini ushlab qolish.
- Biz soxta chiqishni yaratamiz
$ pactl load-module module-null-sink sink_name = multiHP
- Biz kirishni soxta chiqishga ulaymiz (tanlangan ilovaning ovozini o'chiring)
$ pacmd list-lavabolar (chiqishlar ro'yxati)
$ pacmd list-sink-inputs (kirish ro'yxati)
$ pacmd move-sink-input %input %output (%kirish va %chiqishni mos keladigan ro'yxatlardan biriga almashtiring)
- Biz ovoz kartasini maksimal darajada qo'yamiz
$ pactl set-sink-volume 0 100%
- Biz kompyuterda soxta chiqishni tiklash usulini sinab ko'ramiz (ovozni tiklash)
$ gst-launch-1.0 pulsesrc qurilma = multiHP.monitor! audio konvertatsiya! avtomatik ovoz
Siz tanlagan ilovaning ovozini qayta eshitishingiz kerak.
Ajoyib! Endi oxirgi buyruq satrlariga o'tish vaqti keldi. Mana buyruq satrlari, 2 ta karnay bo'lsa, ovozi ham kompyuter o'ynaydi.
Har bir ma'ruzachida:
$ 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, yuk = (int) 96 '! rtpL16depay! audio konvertatsiya! avtomatik ovoz
Kompyuterda:
$ gst-launch-1.0 pulsesrc qurilma = multiHP.monitor! audio konvertatsiya! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", kanallar = 2, tezlik = 44100! rtpL16pay! tee nomi = t t. ! navbat! udpsink host =%addrpi1 port = 5000 t. ! navbat! udpsink host =%addrpi2 port = 5000 t. ! navbat! audio konvertatsiya! avtomatik ovoz
3 -qadam: Xulosa
Bu ko'rsatma to'liq loyihaga faqat birinchi qadamdir. Bu faqat printsipni tushuntirish edi. Endi siz Raspberry Pi yuklash qurilmasida va kompyuterda skript yozib, avtomatlashtirishingiz mumkin. Siz ehtiyojingizga qarab GStreamer buyrug'ini moslashtira olasiz. Men shaxsan oldingi ko'rsatmalarni (BRAND NEW OLD RADIO) dinamik sifatida ishlatish uchun o'zgartirdim. Bu ko'p xonali ovoz tizimini yaxshilash uchun cheksiz ko'p ishlar qilish kerak. Xususan, barcha karnaylar sinxronlanmaydi, shuning uchun siz xonadan boshqasiga o'tishda sizda biroz farq bor.
Umid qilamanki, siz ushbu ko'rsatmalarni yaxshilashga harakat qilasiz.
Agar sizga tafsilotlar kerak bo'lsa, savol berishdan tortinmang.
Yaxshi ta'zimchi!
Tavsiya:
Kayfiyat dinamikasi- Atrof muhit haroratiga qarab kayfiyatli musiqani ijro etadigan kuchli dinamik: 9 qadam
Kayfiyat dinamikasi- Atrof-muhit haroratiga qarab kayfiyatli musiqa ijro etiladigan kuchli dinamik: Salom! MCT Howest Kortrijkdagi maktab loyihasi uchun men kayfiyat karnayini yaratdim, bu sensorli, sensorli, LCD va WS2812b aqlli Bluetooth dinamikli qurilma. Karnay haroratga qarab fon musiqasini ijro etadi, lekin
Gapirish Arduino - Hech qanday modulsiz Arduino bilan MP3 ijro etish - PC fayllari yordamida Arduino -dan Mp3 faylini ijro etish: 6 qadam
Gapirish Arduino | Hech qanday modulsiz Arduino bilan MP3 ijro etish | PC faylini ishlatib, Arduino -dan Mp3 faylini ijro etish: Bu erda biz audio faylni ishlatmasdan mp3 faylini arduino -da qanday ijro etishni bilib olamiz, bu erda biz Arduino uchun 8 -gigagertsli chastotali 16 -bitli PCM -ni o'ynaydigan PCM kutubxonasidan foydalanamiz
Eng zo'r xoldinglar: Men eng zo'r musiqani ijro etish uchun eski telefonni buzdim: 13 qadam (rasmlar bilan)
Eng zo'r xoldinglar: Men eng zo'r musiqani ijro etish uchun eski telefonni buzdim: https: //youtu.be/Ma4QnfQ7DxoWell … Ishonchim komilki, siz shunchaki musiqani ushlab turadigan telefonni xohlamaysiz … Lekin "Ish stoli" ning eng oddiy hacki bilan boshqa ko'plab qiziqarli loyihalarni amalga oshirish mumkin. telefonlar.
Step motor yordamida qo'shiqlarni ijro eting !!: 11 qadam (rasmlar bilan)
Bosqichli dvigatel yordamida qo'shiqlar ijro eting !!: Bu loyiha oddiy motorli interfeysni loyihalashdan iborat bo'lib, u qadam dvigateli bilan ikki xil usulda ishlashga imkon beradi. Birinchi interfeys step motorining yo'nalishi va tezligini boshqaradi. oddiy GUI, bu
Bir nechta mikrokontroldan bir nechta LEDni qanday chiqarish mumkin: 6 qadam (rasmlar bilan)
Bir nechta mikroto'lqinli pinlardan qanday qilib ko'p LEDlarni haydash mumkin: Ko'pgina mikrokontrolderlarning uch holatida (+V, GND yoki "yuqori impedansli") mavjudligidan foydalanib, siz N pinli N*(N-1) LEDlarni boshqarishingiz mumkin. Shunday qilib, PIC12Fxxx yoki ATtiny11 kabi 8pinli mikrokontroller beshta mavjud 20 ta LEDni boshqarishi mumkin