Isi kandungan:

Mainkan Muzik yang Sama di Beberapa Bilik: 3 Langkah
Mainkan Muzik yang Sama di Beberapa Bilik: 3 Langkah

Video: Mainkan Muzik yang Sama di Beberapa Bilik: 3 Langkah

Video: Mainkan Muzik yang Sama di Beberapa Bilik: 3 Langkah
Video: FILDABEAT AUDISI GURU PIANO?!🤯 2024, November
Anonim
Mainkan Muzik yang Sama di Beberapa Bilik
Mainkan Muzik yang Sama di Beberapa Bilik

Hai semua, Saya tidak tahu mengenai anda tetapi saya suka mempunyai muzik yang sama di seluruh apartmen saya tanpa mengeluarkan suara yang terlalu kuat. Oleh itu, setelah meneliti sedikit masalah ini, saya memutuskan untuk membina beberapa pembesar suara yang semuanya dihubungkan dengan wifi ke pelayan muzik yang sama untuk memainkan muzik yang sama secara serentak di beberapa bilik dan khususnya di bilik mandi.

Sistem ini didasarkan pada teknologi GStreamer yang merupakan asas beberapa perisian hebat seperti VLC dan pada pembesar suara dengan kemampuan wifi menggunakan Raspberry Pi.

Langkah 1: Membangunkan Pembesar Suara untuk Bilik Mandi

Membina Pembesar Suara untuk Bilik Mandi
Membina Pembesar Suara untuk Bilik Mandi
Membina Pembesar Suara untuk Bilik Mandi
Membina Pembesar Suara untuk Bilik Mandi
Membina Pembesar Suara untuk Bilik Mandi
Membina Pembesar Suara untuk Bilik Mandi

Senarai bahagian:

  • pembesar suara kalis air
  • penguat 2W (berfungsi pada 12v)
  • Raspberry Pi Zero (berfungsi pada 5v)
  • a Pimoroni Phat DAC
  • kad SD
  • butang ON / OFF
  • penyesuai kuasa 12v + palam yang serasi
  • penurunan DC / DC (12v-> 5v)
  • kotak elektrik
  • beberapa kabel

Pembinaannya cukup mudah.

Dari sisi elektronik, ikuti rajah ASCII ini.

  • Penguat butang ON / OFF plug DC
  • Butang ON / OFF Raspberry Pi DC / DC step-down
  • Pembesar suara Raspberry Pi Phat DAC

Di bahagian mekanikal, potong semua lubang yang diperlukan di dalam kotak elektrik, masukkan semua ke dalam dan itu sahaja.

Dengan menggunakan teknik ini, anda boleh membuat semua jenis pembesar suara yang anda mahukan.

Langkah 2: Bahagian Perisian

Semua bahagian perisian berdasarkan kerangka multimedia sumber terbuka, GStreamer. Saya hanya menggunakan Linux tetapi terdapat pada OS yang berbeza, jadi saya membayangkan bahawa semua boleh disesuaikan untuk OS lain.

Untuk pemula, anda harus memasang Raspbian Lite pada Pi, PHAT DAC dan GStreamer 1.0 dengan pemalam "baik". Pada komputer yang digunakan sebagai pelayan muzik, anda memerlukan GStreamer yang sama. Saya tidak akan memperincikan bahagian-bahagian itu kerana yang lain telah melakukan ini lebih baik daripada saya. Perkara terakhir yang diperlukan ialah Pi dan pelayan muzik harus disambungkan ke rangkaian yang sama dengan kabel atau wifi.

Untuk menguji apakah GStreamer dipasang dengan betul, anda boleh menggunakan baris perintah tersebut.

Pada pembesar suara:

$ 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, saluran = (int) 1, muatan = (int) 96 '! rtpL16depay! penukaran audio! pautan automatik

Di PC:

$ gst-pelancaran-1.0 audiotestsrc! penukaran audio! audio / x-raw, format = "(string) S16BE", layout = "(string) interleaved", saluran = 1, kadar = 44100! rtpL16pembayaran! hos udpsink = port RASPBERRYPI_IP = 5000

Selepas anda meletakkan alamat IP yang baik dan bukannya "RASPBERRYPI_IP", anda akan mendengar bunyi sinusoidal pada pembesar suara. Itu bukan sesuatu yang anda ingin dengar dalam jangka masa yang lama, jadi jangan terlalu kuat.

Beberapa penjelasan: PC menghasilkan bunyi sinusoidal menggunakan "audiotestsrc", "audioconvert! Audio / x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", saluran = 1, rate = 44100" convert suara dalam format yang baik difahami oleh "rtpL16pay" yang membuat paket audio dan akhirnya "udpsink" menghantar paket menggunakan protokol UDP. Pada pembesar suara, ia sama tetapi terbalik, "udpsrc" memulihkan fluks audio, de-paket "rtpL16depay" dan "audioconvert! Autoaudiosink" menukar suara agar sepadan dengan format kad suara automatik dan tentu saja memainkannya.

Oleh kerana sekarang perkara asas berfungsi, sudah waktunya untuk melangkah lebih jauh. Tujuannya adalah untuk memintas suara aplikasi untuk menghantarnya melalui rangkaian.

- Kami membuat output palsu

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

- Kami menyambungkan input ke output palsu (membungkam aplikasi yang dipilih (input))

$ pacmd list-sinks (senarai output)

$ pacmd list-sink-inputs (senarai input)

$ pacmd move-sink-input% input% output (ganti% input dan% output dengan salah satu senarai yang sesuai)

- Kami meletakkan kad suara maksimum

$ pactl set-sink-volume 0 100%

- Kami menguji pada PC cara untuk mendapatkan semula output palsu (pulihkan suara)

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! penukaran audio! pautan automatik

Anda harus mendengar lagi bunyi aplikasi yang telah anda pilih.

Hebat! Kini tiba masanya untuk mencari baris perintah terakhir. Berikut adalah baris arahan untuk 2 pembesar suara dengan suara yang juga dimainkan oleh PC.

Pada setiap Penceramah:

$ 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, muatan = (int) 96 '! rtpL16depay! penukaran audio! pautan automatik

Di PC:

$ gst-launch-1.0 pulsesrc device = multiHP.monitor! penukaran audio! audio / x-raw, format = "(string) S16BE", layout = "(string) interleaved", saluran = 2, kadar = 44100! rtpL16pembayaran! nama tee = t t. ! beratur! hos udpsink =% addrpi1 port = 5000 t. ! beratur! hos udpsink =% addrpi2 port = 5000 t. ! beratur! penukaran audio! pautan automatik

Langkah 3: Kesimpulannya

Instruksional ini hanyalah langkah pertama untuk menyelesaikan projek. Itu hanya untuk menjelaskan prinsipnya. Sekarang anda boleh automatik dengan membuat beberapa skrip pada boot Raspberry Pi dan di PC. Anda boleh menyesuaikan perintah GStreamer bergantung pada keperluan anda. Saya secara peribadi mengubah arahan saya sebelumnya (RADIO LAMA BARU BARU) untuk menggunakannya sebagai pembesar suara. Terdapat banyak perkara yang perlu dilakukan untuk memperbaiki sistem bunyi berbilang bilik ini. Khususnya, semua pembesar suara tidak diselaraskan, jadi anda mempunyai beberapa variasi ketika anda menukar dari ruangan ke ruangan yang lain.

Saya harap anda akan mencuba dan memperbaik pengajaran ini.

Jangan teragak-agak untuk mengemukakan soalan sekiranya anda memerlukan perincian.

Tinker baik!

Disyorkan: