Мазмуну:
Video: Ошол эле музыканы бир нече бөлмөлөрдө ойнотуңуз: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Салам баарына, Мен сиз жөнүндө билбейм, бирок мен үнүмдү өтө катуу бурбастан, бүт батиримде бирдей музыканын болушун жакшы көрөм. Ошентип, бул көйгөйдү бир аз изилдеп чыккандан кийин, мен ошол эле музыканы бир эле учурда бир нече бөлмөлөрдө, атап айтканда ваннада ойноо үчүн, бир эле музыкалык серверге wifi аркылуу туташкан бир нече спикерлерди курууну чечтим.
Система GStreamer технологиясына негизделген, ал VLC сыяктуу укмуштуудай программалык камсыздоонун негизи жана Raspberry Pi аркылуу wifi мүмкүнчүлүгү бар спикерге негизделген.
1 -кадам: Мончо үчүн спикерди куруу
Тетиктер тизмеси:
- ваннага каршы спикер
- 2W күчөткүч (12v иштейт)
- a Raspberry Pi Zero (5vде иштөө)
- a Pimoroni Phat DAC
- SD карта
- ON/OFF баскычы
- 12v кубат адаптери + туура келген сайгыч
- DC/DC төмөндөтүү (12v-> 5v)
- электр кутуча
- кээ бир кабелдер
Курулуш абдан жөнөкөй.
Электрондук тарапта, бул ASCII диаграммасын аткарыңыз.
- DC плагин ON/OFF баскычынын күчөткүчү
- ON/OFF баскычы DC/DC баскычын түшүрүү Raspberry Pi
- Raspberry Pi Phat DAC күчөткүчүнүн спикери
Механикалык жагында, электр кутусуна керектүү болгон тешиктерди кесип, ичине баарын салып койсоңуз болот.
Бул техниканы колдонуу менен сиз каалаган спикерлерди түзө аласыз.
2 -кадам: Программалык камсыздоо жагы
Программалык камсыздоонун бардык тарабы ачык булак мультимедиялык алкакка негизделген, GStreamer. Мен Linuxту гана колдонгом, бирок ал ар кандай ОСте бар, ошондуктан баарын башка ОСко ылайыкташтырса болот деп ойлойм.
Баштоо үчүн, сиз "жакшы" плагиндер менен Pi, PHAT DAC жана GStreamer 1.0ге Raspbian Lite орнотушуңуз керек. Музыкалык сервер катары колдонулган компьютерде сизге ошол эле GStreamer керек. Мен ал бөлүктөрдү деталдаштырбайм, анткени башкалар муну менден жакшы жасашты. Акыркы нерсе - Pi жана музыкалык сервер кабелдик же wifi аркылуу бир тармакка туташуусу керек.
GStreamer туура орнотулгандыгын текшерүү үчүн, сиз ошол буйрук саптарын колдоно аласыз.
Баяндамачы жөнүндө:
$ gst-launch-1.0 udpsrc порт = 5000 caps = 'application/x-rtp, media = (string) аудио, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 1, каналдар = (int) 1, пайдалуу жүк = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink
ЖКда:
$ gst-launch-1.0 audiotestsrc! audioconvert! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channels = 1, rate = 44100! rtpL16pay! udpsink хост = RASPBERRYPI_IP порт = 5000
"RASPBERRYPI_IP" ордуна жакшы IP дарегин койгондон кийин, динамиктен синусоидалуу үндү угушуңуз керек. Бул көптөн бери угууну жактыра турган нерсе эмес, андыктан үнүн катуу чыгарбаңыз.
Кээ бир түшүндүрмө: ЖК "audiotestsrc", "audioconvert! Audio/x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channels = 1, rate = 44100" convertus аркылуу синусоидалдык үндү чыгарат. "rtpL16pay" түшүнгөн жакшы форматтагы үн аудио пакеттерди түзөт жана акыры "udpsink" пакеттерди UDP протоколу аркылуу жөнөтөт. Динамикте бул бирдей, бирок тескери, "udpsrc" аудио агымын калыбына келтирет, "rtpL16depay" де-пакеттери жана "audioconvert! Autoaudiosink" үндү автоматтык үн картасынын форматына дал келет жана албетте ойнойт.
Ошентип, азыр негизги нерселер иштеп жаткандыктан, андан ары кетүү керек. Максат - бул тармак аркылуу жөнөтүү үчүн колдонмонун үнүн кармоо.
- Биз жасалма чыгарууну түзөбүз
$ pactl load-module module-null-sinkink_name = multiHP
- Биз киргизүүнү жасалма чыгууга туташтырабыз (тандалган тиркемени өчүрүү (киргизүү))
$ pacmd list-lavabo (чыгаруу тизмеси)
$ pacmd list-sink-inputs (киргизүүлөр тизмеси)
$ pacmd move-sink-input %input %output (%киргизүүнү жана %outputту тиешелүү тизмелердин бирине алмаштырыңыз)
- Биз үн картасын максимумга коебуз
$ pactl set-sink-volume 0 100%
- Биз ЖКда жасалма чыгарууну калыбына келтирүү жолун текшеребиз (үндү калыбына келтирүү)
$ gst-launch-1.0 pulsesrc device = multiHP.monitor! audioconvert! autoaudiosink
Сиз тандаган колдонмонун үнүн кайра угушуңуз керек.
Абдан жакшы! Эми акыркы буйрук саптарына өтүү убактысы келди. Бул жерде буйрук саптары 2 спикердин үнү менен ЖК да ойнойт.
Ар бир спикер боюнча:
$ gst-launch-1.0 udpsrc порт = 5000 caps = 'application/x-rtp, media = (string) аудио, clock-rate = (int) 44100, encoding-name = (string) L16, encoding-params = (string) 2, пайдалуу жүк = (int) 96 '! rtpL16depay! audioconvert! autoaudiosink
ЖКда:
$ gst-launch-1.0 pulsesrc device = multiHP.monitor! audioconvert! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", channels = 2, rate = 44100! rtpL16pay! tee name = t t. ! кезек! udpsink хост =%addrpi1 порт = 5000 т. ! кезек! udpsink хост =%addrpi2 порт = 5000 т. ! кезек! audioconvert! autoaudiosink
3 -кадам: Жыйынтык
Бул көрсөтмө толук долбоордун биринчи кадамы. Бул принципти түшүндүрүү үчүн гана болгон. Эми сиз Raspberry Pi жүктөөдө жана ЖКда сценарий жасап, автоматташтыра аласыз. Сиз GStreamer буйругун муктаждыгыңызга жараша өзгөртө аласыз. Мен жеке өзүмдүн мурунку көрсөтмөмдү (BRAND NEW OLD RADIO) спикер катары колдонуу үчүн өзгөрттүм. Бул көп бөлмөлүү үн системасын өркүндөтүү үчүн чексиз нерселер бар. Тактап айтканда, бардык динамиктер шайкештештирилбейт, андыктан бөлмөдөн башка бөлмөгө которулганда сизде кандайдыр бир өзгөрүүлөр болот.
Мен бул нускаманы жакшыртууга аракет кыласыз деп үмүттөнөм.
Чоо -жайын билүү үчүн суроолорду берүүдөн тартынбаңыз.
Жакшы создор!
Сунушталууда:
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: 6 кадам (сүрөттөр менен)
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: Бул үйрөткүчтө мен сизге бир эле аналогдук кирүүчү пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окууну көрсөтөм
Бир нече баскычтарды Arduinoдогу бир пинге туташтыруу: 4 кадам
Бир нече баскычтарды Arduino'догу бир пинге туташтыруу: Саламатсыздарбы, Arduino долбоорлоруңузда жаркыраган светодиоддору ашып кеткенде, сиз өзүңүзгө кошумча казыктарга муктаж болуп калышыңыз мүмкүн. Мен сизге бир кнопканы көрсөтөм, анда сиз бир эле баскычка ээ боло аласыз, бардыгы бир эле аналогдук пинге туташкан
Fusion 360 бир нече денени бир STL файлы катары экспорттоо: 5 кадам
Fusion 360 бир нече денени бир STL файлы катары экспорттоо: Мен биринчи жолу Fusion 360 колдоно баштаганымда, менин эң жакшы көргөн өзгөчөлүктөрүмдүн бири 3D моделинен 3D басып чыгарууга өтүү болгон. Башка эч кандай программалык камсыздоо жумшак иштөө процессин камсыз кылган эмес. Эгерде сиздин модельде бир гана дене бар болсо, муну жасоо абдан жөнөкөй. Бирок
Бир жолу колдонулуучу камераны кайра колдонуп, планетаны сактаңыз! жана бир нече Quid сактоо: 4 кадам
Бир жолу колдонулуучу камераны кайра колдонуп, планетаны сактаңыз! and Save a Few Quid: Жакында мен жергиликтүү фото дүкөнүмө (jessops) түшүп, бир нече жолу колдонулган бир жолу колдонулуучу камераларды алдым, анткени алар шок адамдар үчүн абдан кызыктуу экенин билесиз. Жөн эле сураңыз, алар беришет. Мен дагы ойлодум, ээ, бул компаниялар камераларды кайра алышат, коет
Бир нече жарым -жартылай фокусталган бир толук фокусталган сүрөттү кантип түзүү керек: 4 кадам
Бир нече жарым -жартылай фокусталган бир сүрөттү кантип түзүү керек: Мен Helicon Focus программасын колдонууну сунуштайм. Windows жана Mac версиялары d-Stidio сайтында жеткиликтүү.Бул программа тайыз тереңдик көйгөйүн чечүү үчүн макрофотография, микрофотография жана гиперфокалдык пейзаж сүрөтү үчүн иштелип чыккан