Агуулгын хүснэгт:

Ижил хөгжмийг олон өрөөнд тоглуулаарай: 3 алхам
Ижил хөгжмийг олон өрөөнд тоглуулаарай: 3 алхам

Видео: Ижил хөгжмийг олон өрөөнд тоглуулаарай: 3 алхам

Видео: Ижил хөгжмийг олон өрөөнд тоглуулаарай: 3 алхам
Видео: О чём молчат ПРОФЕССИОНАЛЫ AUDIO ГДЕ МУЗЫКА А подкаст с @foveonyc 2024, Долдугаар сарын
Anonim
Ижил хөгжмийг олон өрөөнд тоглуул
Ижил хөгжмийг олон өрөөнд тоглуул

Бүгдээрээ сайн уу, Би чиний тухай мэдэхгүй ч би дуугаа хэт чанга дуугаргахгүйгээр бүх байшиндаа ижил хөгжим сонсох дуртай. Энэ асуудлын талаар бага зэрэг судалсны дараа би ижил хөгжмийг хэд хэдэн өрөөнд, ялангуяа угаалгын өрөөнд нэгэн зэрэг тоглуулахын тулд нэг хөгжмийн серверт wifi -аар холбогдсон хэд хэдэн чанга яригч бүтээхээр шийдсэн юм.

Энэхүү систем нь VLC гэх мэт гайхалтай програм хангамжийн үндэс суурь болох GStreamer технологид суурилсан бөгөөд Raspberry Pi ашиглан wifi сүлжээ бүхий чанга яригч дээр суурилсан болно.

Алхам 1: Угаалгын өрөөнд чанга яригч барих

Угаалгын өрөөнд чанга яригч барих
Угаалгын өрөөнд чанга яригч барих
Угаалгын өрөөнд чанга яригч барих
Угаалгын өрөөнд чанга яригч барих
Угаалгын өрөөнд чанга яригч барих
Угаалгын өрөөнд чанга яригч барих

Хэсгийн жагсаалт:

  • угаалгын өрөөний хамгаалалттай чанга яригч
  • 2W өсгөгч (12V дээр ажилладаг)
  • a Raspberry Pi Zero (5v дээр ажилладаг)
  • нь 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 дээр суурилдаг. Би зөвхөн Линукс ашигладаг байсан, гэхдээ энэ нь өөр өөр OS дээр байдаг тул бүгдийг бусад үйлдлийн системд тохируулж болно гэж бодож байна.

Эхлэхийн тулд та Raspbian Lite -ийг Pi, PHAT DAC, GStreamer 1.0 дээр "сайн" залгаасуудаар суулгах хэрэгтэй. Хөгжмийн сервер болгон ашигладаг компьютер дээр танд ижил GStreamer хэрэгтэй болно. Бусад хүмүүс үүнийг надаас илүү сайн хийсэн тул би эдгээр хэсгүүдийг нарийвчлан тайлбарлахгүй. Хамгийн сүүлд хэрэгтэй зүйл бол Pi болон хөгжмийн серверийг кабель эсвэл wifi ашиглан нэг сүлжээнд холбох ёстой.

GStreamer -ийг зөв суулгасан эсэхийг шалгахын тулд та эдгээр командын мөрүүдийг ашиглаж болно.

Илтгэгч дээр:

$ 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, суваг = (int) 1, ачаалал = (int) 96 '! rtpL16depay! аудио хөрвүүлэх! авто аудио холбогч

PC дээр:

$ gst-launch-1.0 audiotestsrc! аудио хөрвүүлэх! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", сувгууд = 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" convert ашиглан синусоид дууг гаргадаг. "rtpL16pay" ойлгодог сайн форматтай дуу нь аудио пакетуудыг үүсгэдэг бөгөөд эцэст нь "udpsink" пакетуудыг UDP протокол ашиглан илгээдэг. Чанга яригч дээр яг адилхан боловч урвуу байрлалтай "udpsrc" нь аудионы урсгалыг сэргээдэг, "rtpL16depay" де-пакет, "аудио хөрвүүл! Autoaudiosink" нь дууг автомат дууны картын форматтай нийцүүлэн хөрвүүлдэг бөгөөд мэдээж тоглодог.

Тиймээс үндсэн зүйлүүд ажиллаж байгаа тул цаашаа явах цаг болжээ. Зорилго нь сүлжээгээр дамжуулахын тулд програмын дууг таслах явдал юм.

- Бид хуурамч гаралт үүсгэдэг

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

- Бид оролтыг хуурамч гаралт руу холбодог (сонгосон програмыг чимээгүй болгох (оролт))

$ pacmd жагсаалт-угаалтуур (гаралтын жагсаалт)

$ pacmd жагсаалт-угаалтуур-оролт (оролтын жагсаалт)

$ pacmd move-sink-input %input %output (%оролт ба %гаралтыг харгалзах жагсаалтаар орлуулах)

- Бид дууны картыг дээд тал нь тавьдаг

$ pactl угаалтуур-эзэлхүүн 0 100%

- Бид хуурамч гаралтыг хэрхэн сэргээх аргыг компьютер дээр туршиж үздэг (дууг сэргээх)

$ gst-launch-1.0 pulsesrc төхөөрөмж = multiHP.monitor! аудио хөрвүүлэх! авто аудио холбогч

Та сонгосон програмынхаа дууг дахин сонсох ёстой.

Агуу их! Одоо эцсийн командын мөрүүдийг ашиглах цаг болжээ. Компьютер тоглодог дуутай 2 чанга яригчийн командын мөрүүдийг энд оруулав.

Илтгэгч бүр дээр:

$ 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, ачаалал = (int) 96 '! rtpL16depay! аудио хөрвүүлэх! авто аудио холбогч

PC дээр:

$ gst-launch-1.0 pulsesrc төхөөрөмж = multiHP.monitor! аудио хөрвүүлэх! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", сувгууд = 2, rate = 44100! rtpL16pay! tee нэр = t t. ! дараалал! udpsink хост =%addrpi1 порт = 5000 т. ! дараалал! udpsink хост =%addrpi2 порт = 5000 т. ! дараалал! аудио хөрвүүлэх! авто аудио холбогч

Алхам 3: Дүгнэлт

Энэхүү зааварчилгаа нь төслийг бүрэн гүйцэд хийх эхний алхам юм. Энэ бол зөвхөн зарчмыг тайлбарлах явдал байв. Одоо та Raspberry Pi ачаалах болон компьютер дээр скрипт хийж автоматжуулах боломжтой. Та GStreamer командыг өөрийн хэрэгцээнд нийцүүлэн өөрчилж болно. Би чанга яригч болгон ашиглахын тулд өмнөх зааварчилгаа (ЦОО ШИНЭ Хуучин РАДИО) -оо өөрчилсөн. Энэхүү олон өрөөтэй дууны системийг сайжруулахын тулд хязгааргүй олон зүйл хийх шаардлагатай байна. Ялангуяа бүх чанга яригч нь синхрончлогдоогүй тул өрөөнөөс нөгөөд шилжих үед танд өөр өөр өөрчлөлт гардаг.

Та энэ сургамжийг сайжруулахыг хичээх болно гэж найдаж байна.

Хэрэв танд дэлгэрэнгүй мэдээлэл хэрэгтэй бол асуулт асуухаас бүү эргэлзээрэй.

Сайн тоглогч!

Зөвлөмж болгож буй: