Სარჩევი:
ვიდეო: ითამაშეთ იგივე მუსიკა მრავალ ოთახში: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
Გამარჯობა ყველას, მე არ ვიცი შენ შესახებ, მაგრამ მე მიყვარს ერთი და იგივე მუსიკა მთელ ჩემს ბინაში ისე, რომ ხმა არ გამოვიღო ძალიან ხმამაღლა. ამ პრობლემის შესახებ მცირედი კვლევის შემდეგ, მე გადავწყვიტე ავაშენო რამდენიმე დინამიკი, რომლებიც ყველა wifi- ით არის დაკავშირებული ერთსა და იმავე მუსიკალურ სერვერზე, რათა ერთსა და იმავე მუსიკას ერთდროულად ვუკრავ რამდენიმე ოთახში და კერძოდ აბაზანაში.
სისტემა დაფუძნებულია GStreamer ტექნოლოგიაზე, რომელიც არის ისეთი გასაოცარი პროგრამული უზრუნველყოფის საფუძველი, როგორიცაა VLC და სპიკერი wifi შესაძლებლობებით Raspberry Pi- ს გამოყენებით.
ნაბიჯი 1: სპიკერის შექმნა აბაზანისთვის
Სიის ნაწილი:
- აბაზანის დამცავი სპიკერი
- 2W გამაძლიერებელი (მუშაობს 12 ვ -ზე)
- Raspberry Pi Zero (მუშაობს 5 ვ -ზე)
- Pimoroni Phat DAC
- SD ბარათი
- ჩართვის/გამორთვის ღილაკი
- 12 ვ კვების დენის ადაპტერი + თავსებადი შტეფსელი
- DC/DC ნაბიჯი ქვემოთ (12v-> 5v)
- ელექტრო ყუთი
- ზოგიერთი კაბელი
მშენებლობა საკმაოდ მარტივია.
ელექტრონულ მხარეს მიჰყევით ამ ASCII დიაგრამას.
- DC დანამატის ჩართვის/გამორთვის ღილაკის გამაძლიერებელი
- ჩართვის/გამორთვის ღილაკი DC/DC ქვევით Raspberry Pi
- Raspberry Pi Phat DAC გამაძლიერებელი სპიკერი
მექანიკურ მხარეს, გაჭერით ელექტრული ყუთში საჭირო ყველა ხვრელი, მოათავსეთ ყველაფერი შიგნით და ეს ყველაფერი.
ამ ტექნიკის გამოყენებით თქვენ შეგიძლიათ შექმნათ თქვენთვის სასურველი ყველა სახის დინამიკი.
ნაბიჯი 2: პროგრამული მხარე
ყველა პროგრამული მხარე ემყარება ღია კოდის მულტიმედიურ ჩარჩოს, GStreamer. მე ვიყენებდი მხოლოდ Linux– ს, მაგრამ ის არსებობს სხვადასხვა OS– ზე, ასე რომ, მე წარმომიდგენია, რომ ყველაფერი შეიძლება ადაპტირებული იყოს სხვა OS– სთვის.
დასაწყისისთვის, თქვენ უნდა დააინსტალიროთ Raspbian Lite Pi– ზე, PHAT DAC– ზე და GStreamer 1.0– ზე „კარგი“მოდულებით. კომპიუტერზე, რომელიც გამოიყენება როგორც მუსიკალური სერვერი, გჭირდებათ იგივე GStreamer. მე არ დავაკონკრეტებ იმ ნაწილებს, რადგან სხვებმა ეს ჩემზე უკეთ გააკეთეს. ბოლო რაც საჭიროა არის ის, რომ Pi და მუსიკალური სერვერი უნდა იყოს დაკავშირებული იმავე ქსელთან კაბელით ან wifi– ით.
იმისათვის, რომ შეამოწმოთ არის თუ არა GStreamer სწორად დაინსტალირებული, შეგიძლიათ გამოიყენოთ ეს ბრძანების ხაზები.
სპიკერზე:
$ gst-launch-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 გადასახადი! აუდიოკონვერტირება! ავტოაუდიოსინკი
კომპიუტერზე:
$ gst-launch-1.0 audiotestsrc! აუდიოკონვერტირება! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", არხები = 1, განაკვეთი = 44100! rtpL16pay! udpsink მასპინძელი = RASPBERRYPI_IP პორტი = 5000
მას შემდეგ რაც დააყენებთ კარგ IP მისამართს "RASPBERRYPI_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 %input %output (შეცვალეთ %input და %output ერთი შესაბამისი სიით)
- ჩვენ ხმის კარტს ვაყენებთ მაქსიმუმზე
$ pactl set-sink-volume 0 100%
- ჩვენ ვამოწმებთ კომპიუტერზე ყალბი გამომუშავების აღდგენის გზას (ხმის აღდგენა)
$ gst-launch-1.0 pulsesrc მოწყობილობა = multiHP.monitor! აუდიოკონვერტირება! ავტოაუდიოსინკი
თქვენ კვლავ უნდა მოისმინოთ არჩეული პროგრამის ხმა.
დიდი! ახლა დროა წავიდეთ საბოლოო ბრძანების ხაზებზე. აქ არის ბრძანების სტრიქონი 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 გადასახადი! აუდიოკონვერტირება! ავტოაუდიოსინკი
კომპიუტერზე:
$ gst-launch-1.0 pulsesrc მოწყობილობა = multiHP.monitor! აუდიოკონვერტირება! audio/x-raw, format = "(string) S16BE", layout = "(string) interleaved", არხები = 2, განაკვეთი = 44100! rtpL16pay! ჩაის სახელი = t t. ! რიგი! udpsink მასპინძელი =%addrpi1 პორტი = 5000 ტ. ! რიგი! udpsink მასპინძელი =%addrpi2 პორტი = 5000 ტ. ! რიგი! აუდიოკონვერტირება! ავტოაუდიოსინკი
ნაბიჯი 3: დასკვნა
ეს ინსტრუქცია მხოლოდ პირველი ნაბიჯია პროექტის დასრულებისთვის. ეს იყო მხოლოდ პრინციპის ახსნა. ახლა თქვენ შეგიძლიათ ავტომატიზირება გაუკეთოთ სკრიპტს Raspberry Pi ჩატვირთვისას და კომპიუტერზე. თქვენ შეგიძლიათ შეცვალოთ GStreamer ბრძანება თქვენი საჭიროებიდან გამომდინარე. მე პირადად შევცვალე ჩემი წინა ინსტრუქცია (ახალი ძველი ძველი რადიო), რათა გამოვიყენო ის როგორც სპიკერი. უსასრულო რაოდენობაა გასაკეთებელი ამ მრავალ ოთახიანი ხმის სისტემის გასაუმჯობესებლად. კერძოდ, ყველა დინამიკი არ არის სინქრონიზებული, ასე რომ თქვენ გაქვთ გარკვეული ცვალებადობა როდესაც გადადიხართ ოთახიდან მეორეში.
ვიმედოვნებ, რომ თქვენ შეეცდებით გააუმჯობესოთ ეს სასწავლო.
ნუ დააყოვნებთ კითხვების დასმას, თუ გჭირდებათ დეტალები.
კარგი მეკარე!
გირჩევთ:
შეიტყვეთ, როდესაც ვინმე შემოვიდა ოთახში რადარის სენსორის გამოყენებით Xyc-wb-dc: 7 ნაბიჯი
გაარკვიეთ როდის შემოვიდა ვინმე ოთახში რადარის სენსორის გამოყენებით Xyc-wb-dc: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა გავარკვიოთ როდის შემოვიდა ვინმე ოთახში RTC მოდულის, სარადარო სენსორის xyc-wb-dc, OLED ეკრანი და arduino გამოყენებით. უყურეთ სადემონსტრაციო ვიდეო
გაარკვიეთ, როდესაც ვინმე შემოვიდა ოთახში: 7 ნაბიჯი
გაარკვიეთ როდის შემოვიდა ვინმე ოთახში: ამ სამეურვეოში ჩვენ ვისწავლით თუ როგორ უნდა გავარკვიოთ როდის შემოვიდა ვინმე ოთახში RTC მოდულის, PIR სენსორის, OLED დისპლეის და არდუინოს გამოყენებით. უყურეთ სადემონსტრაციო ვიდეოს
როგორ გავხადოთ მუსიკა რეაქტიული WS2812B LED- ები მრავალ ნიმუშით: 4 ნაბიჯი
როგორ გავხადოთ მუსიკა რეაქტიული WS2812B LED- ები მრავალ ნიმუშით: WS2812, WS2812B არის ინტელექტუალურად კონტროლირებადი LED სინათლის წყარო. მას აქვს ჩამონტაჟებული საკონტროლო ჩიპი და აქვს 4 ქინძისთავები. V+, V-, Din & Dout. ამ LED- ების გასაკონტროლებლად ჩვენ გვსურს გამოვიყენოთ MCU, როგორიცაა Arduino, PIC ან Rasberry pie. მე გამოვიყენე Arduino UNO ამ პროექტისთვის
მუსიკა რეაქტიული სინათლე -- როგორ გავხადოთ სუპერ მარტივი მუსიკა რეაქტიული შუქი დესკტოპის გასაოცარი გასაკეთებლად .: 5 ნაბიჯი (სურათებით)
მუსიკა რეაქტიული სინათლე || როგორ გავხადოთ სუპერ მარტივი მუსიკა რეაქტიული შუქი დესკტოპის გასაუმჯობესებლად. ჰეი, რა ხდება ბიჭებო, დღეს ჩვენ ავაშენებთ ძალიან საინტერესო პროექტს. დღეს ჩვენ ვაშენებთ მუსიკალურ რეაქტიულ შუქს. Led შეცვლის მის სიკაშკაშეს ბასი, რომელიც რეალურად დაბალი სიხშირის აუდიო სიგნალია. აშენება ძალიან მარტივია. ჩვენ
როგორ დავამატოთ ზარის მელოდიები და სარეზერვო ვიდეო Verizon Vx8500– ზე (იგივე შოკოლადი) უფასოდ: 8 ნაბიჯი
როგორ დავამატოთ ზარის მელოდიები და სარეზერვო ვიდეოები Verizon Vx8500– ზე (იგივე შოკოლადი) უფასოდ: ეს გაჩვენებთ თუ როგორ უნდა ავაშენოთ დამუხტვის/მონაცემთა კაბელი vx8500– ისთვის (იგივე შოკოლადი) და როგორ გამოვიყენოთ კაბელი ზარის მელოდიების ასატვირთად და შეძენილი სარეზერვო ასლისთვის. vcast ვიდეოები. პასუხისმგებლობის შეზღუდვის განაცხადი: მე არ ვარ პასუხისმგებელი იმ ქმედებებზე, ვინც კითხულობს ამ გვერდს