Съдържание:
Видео: Пускайте една и съща музика в няколко стаи: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Здравейте всички, Не знам за вас, но обичам да имам една и съща музика в целия си апартамент, без да превръщам звука твърде силно. Затова след малко проучване на този проблем реших да конструирам няколко високоговорителя, всички свързани чрез wifi към един и същ музикален сървър, за да възпроизвеждам една и съща музика едновременно в няколко стаи и по -специално в банята.
Системата се основава на технологията GStreamer, която е в основата на страхотен софтуер като VLC и на високоговорител с възможност за wifi, използващ Raspberry Pi.
Стъпка 1: Изграждане на високоговорител за банята
Списък на частите:
- високоговорител за баня
- 2W усилвател (работи на 12v)
- Raspberry Pi Zero (работи на 5v)
- DAC Pimoroni Phat
- SD карта
- бутон ON/OFF
- 12v захранващ адаптер + съвместим щепсел
- DC/DC стъпка надолу (12v-> 5v)
- електрическа кутия
- някои кабели
Конструкцията е доста проста.
От електронна страна следвайте тази ASCII диаграма.
- Усилвател с бутон за включване/изключване на DC щепсел
- Бутон ON/OFF DC/DC стъпка надолу Raspberry Pi
- Raspberry Pi Phat DAC усилвател високоговорител
От механична страна изрежете всички необходими отвори в електрическата кутия, поставете всичко вътре и това е всичко.
Използвайки тази техника, можете да създавате всички видове високоговорители, които искате.
Стъпка 2: Софтуерна страна
Цялата софтуерна страна се основава на мултимедийната рамка с отворен код, GStreamer. Използвах само Linux, но той съществува на различна операционна система, така че си представям, че всичко може да се адаптира за друга операционна система.
За начало трябва да инсталирате Raspbian Lite на Pi, PHAT DAC и GStreamer 1.0 с „добрите“плъгини. На компютъра, използван като музикален сървър, имате нужда от същия GStreamer. Няма да детайлизирам тези части, защото други са направили това по -добре от мен. Последното необходимо нещо е, че Pi и музикалният сървър трябва да бъдат свързани към една и съща мрежа чрез кабел или wifi.
За да проверите дали GStreamer е правилно инсталиран, можете да използвате тези командни редове.
На високоговорителя:
$ gst-launch-1.0 udpsrc порт = 5000 caps = 'application/x-rtp, media = (низ) аудио, тактова честота = (int) 44100, encoding-name = (низ) L16, encoding-params = (низ) 1, канали = (int) 1, полезен товар = (int) 96 '! rtpL16depay! аудиоконвертиране! автомивка
На компютъра:
$ gst-launch-1.0 audiotestsrc! аудиоконвертиране! аудио/x-raw, формат = "(низ) S16BE", оформление = "(низ) преплетени", канали = 1, скорост = 44100! rtpL16pay! udpsink хост = RASPBERRYPI_IP порт = 5000
След като поставите добрия IP адрес вместо „RASPBERRYPI_IP“, трябва да чуете синусоидален звук върху високоговорителя. Това не е нещо, което ще обичате да чувате дълго време, така че не поставяйте силата на звука твърде силно.
Някои обяснения: компютърът произвежда синусоидален звук, използвайки "audiotestsrc", "аудиоконвертиране! Аудио/x-raw, формат =" (низ) S16BE ", оформление =" (низ) преплетени ", канали = 1, скорост = 44100" конвертиране звукът в добрия формат, разбираем от "rtpL16pay", който създава аудио пакетите и накрая "udpsink" изпраща пакетите, използвайки UDP протокола. На високоговорителя той е същият, но обърнат, "udpsrc" възстановява аудио потока, "rtpL16depay" депакети и "audioconvert! Autoaudiosink" преобразува звука, за да съответства на формата на автоматичната звукова карта и, разбира се, го възпроизвежда.
Така че сега, когато основните неща работят, е време да отидем по -нататък. Целта е да се прихване звука на приложение, за да се изпрати през мрежата.
- Създаваме фалшив изход
$ pactl load-module module-null-sink sink_name = multiHP
- Свързваме вход към фалшивия изход (заглушаване на избраното приложение (вход))
$ pacmd списък-мивки (изходен списък)
$ pacmd list-sink-inputs (списък с входове)
$ 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 = (низ) аудио, тактова честота = (int) 44100, encoding-name = (низ) L16, encoding-params = (низ) 2, полезен товар = (int) 96 '! rtpL16depay! аудиоконвертиране! автомивка
На компютъра:
$ gst-launch-1.0 pulsesrc устройство = multiHP.monitor! аудиоконвертиране! аудио/x-raw, формат = "(низ) S16BE", оформление = "(низ) преплетени", канали = 2, скорост = 44100! rtpL16pay! име на тениска = t t. ! опашка ! udpsink хост =%addrpi1 порт = 5000 t. ! опашка ! udpsink хост =%addrpi2 порт = 5000 t. ! опашка ! аудиоконвертиране! автомивка
Стъпка 3: Заключение
Тази инструкция е само първата стъпка към завършен проект. Това беше само обяснение на принципа. Сега можете да автоматизирате, като направите скрипт при зареждане на Raspberry Pi и на компютъра. Можете да адаптирате командата GStreamer в зависимост от вашите нужди. Аз лично модифицирах предишния си инструктор (НОВО СТАРО РАДИО), за да го използвам като говорител. Има безкрайно много неща, които трябва да се направят, за да се подобри тази озвучителна система с няколко стаи. По -специално, всички високоговорители не са синхронизирани, така че имате някои вариации, когато преминавате от стая в друга.
Надявам се, че ще опитате да подобрите тази инструкция.
Не се колебайте да задавате въпроси, ако имате нужда от подробности.
Добър калайджия!
Препоръчано:
Общи стаи в канап със захарна куба: 11 стъпки
Общи стаи в канап с Sugarcube: Здравейте и добре дошли в моя урок за изграждане на Wumpus Hunt в Twine with Sugarcube! Twine е много прост инструмент, предназначен за създаване на текстови приключенски игри! Любимият ми малък братовчед е избрал да направи игра с Twine за своя старши проект
Направи си сам Аудио в няколко стаи: 15 стъпки
Направи си сам Аудио в няколко стаи: Хей! всички Моето име е Стив. Днес ще ви покажа как да направите Wifi аудио стриймър, използващ много по-малко части и е по-добър от хром хвърляния аудио и можете да го използвате като настройка за няколко стаи и той може да свърже до 10 високоговорителя Щракнете тук, за да видите
Пускайте песни с Arduino, използвайки ADC към PWM на Flyback трансформатор или високоговорител: 4 стъпки
Пускайте песни с Arduino, използвайки ADC към PWM на Flyback Transformer или високоговорител: Здравейте момчета, Това е втората част от другата ми инструкция (това беше много трудно). По принцип в този проект използвах ADC и ТАЙМЕРИ на моя Arduino, за да преобразуване на аудио сигнал в PWM сигнал. Това е много по -лесно от предишния ми Instructa
Пускайте музика с Arduino!: 5 стъпки (със снимки)
Пускайте музика с Arduino !: В тази инструкция ще ви покажа как пускам музика с помощта на Arduino UNO и модул SD карта. Ще използваме SPI комуникация. Нека започнем
Микрорегулируем документ (не)-Камера за класни стаи с "недостатъчно ресурси": 10 стъпки
Микрорегулируем документ (не)-Камера за класни стаи с "недостатъчни ресурси": Здравейте приятели и колеги преподаватели, казвам се Амир Фидай и съм учител по математика. Две неща, които трябва да изясним, преди да продължим по-нататък, аз не съм инженер и това е просто прототип на опит за осигуряване на учител в клиент с недостатъчни ресурси