Оглавление:
Видео: Слушайте одну и ту же музыку в нескольких комнатах: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Всем привет, Не знаю, как вы, но мне нравится, когда во всей квартире звучит одна и та же музыка, но не слишком громко. Поэтому после небольшого исследования этой проблемы я решил сконструировать несколько динамиков, подключенных через Wi-Fi к одному и тому же музыкальному серверу, чтобы воспроизводить одну и ту же музыку одновременно в нескольких комнатах и, в частности, в ванной комнате.
Система основана на технологии GStreamer, которая является основой такого замечательного программного обеспечения, как VLC, и динамика с возможностью Wi-Fi с использованием Raspberry Pi.
Шаг 1. Создание динамика для ванной
Список запчастей:
- динамик для ванной
- усилитель 2Вт (работает от 12в)
- Raspberry Pi Zero (работает от 5 В)
- ЦАП Pimoroni Phat
- SD-карта
- кнопка ВКЛ / ВЫКЛ
- адаптер питания 12 В + совместимый штекер
- понижающий DC / DC (12 В -> 5 В)
- электрическая коробка
- некоторые кабели
Конструкция довольно проста.
Что касается электронной части, следуйте этой схеме ASCII.
- Штекер постоянного тока Кнопка включения / выключения усилителя
- Кнопка включения / выключения DC / DC понижающий Raspberry Pi
- Динамик усилителя ЦАП Raspberry Pi Phat
С механической стороны прорежьте все необходимые отверстия в электрической коробке, поместите все внутрь и все.
Используя эту технику, вы можете создавать любые колонки, какие захотите.
Шаг 2: программное обеспечение
Вся программная часть основана на мультимедийном фреймворке с открытым исходным кодом GStreamer. Я использовал только Linux, но он существует в другой ОС, поэтому я думаю, что все можно адаптировать для других ОС.
Для начала вам необходимо установить Raspbian Lite на Pi, PHAT DAC и GStreamer 1.0 с «хорошими» плагинами. На компьютере, который используется в качестве музыкального сервера, вам понадобится тот же GStreamer. Я не буду подробно описывать эти части, потому что другие сделали это лучше меня. Последнее, что нужно, - это подключить Pi и музыкальный сервер к одной сети с помощью кабеля или Wi-Fi.
Чтобы проверить, правильно ли установлен 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 = (строка) 1, каналы = (int) 1, полезная нагрузка = (int) 96 '! rtpL16depay! аудиоконвертировать! автозвук
На ПК:
$ gst-launch-1.0 audiotestsrc! аудиоконвертировать! audio / x-raw, format = "(строка) S16BE", layout = "(строка) с чередованием", каналы = 1, rate = 44100! rtpL16pay! udpsink host = RASPBERRYPI_IP порт = 5000
После того, как вы укажете правильный IP-адрес вместо «RASPBERRYPI_IP», вы должны услышать синусоидальный звук в динамике. Это не то, что вы хотели бы услышать в течение длительного времени, поэтому не устанавливайте слишком громкий звук.
Некоторое объяснение: ПК воспроизводит синусоидальный звук, используя "audiotestsrc", "audioconvert! Audio / x-raw, format =" (string) S16BE ", layout =" (string) interleaved ", channels = 1, rate = 44100" convert звук в хорошем формате, понятном «rtpL16pay», который создает аудиопакеты и, наконец, «udpsink» отправляет пакеты, используя протокол UDP. На динамике он такой же, но в инвертированном виде: udpsrc восстанавливает аудиопоток, депакет «rtpL16depay», а «audioconvert! Autoaudiosink» преобразует звук в формат, соответствующий формату автоматической звуковой карты, и, конечно же, воспроизводит его.
Итак, теперь, когда основные вещи работают, пора двигаться дальше. Цель состоит в том, чтобы перехватить звук приложения, чтобы отправить его по сети.
- Создаем фейковый вывод
$ pactl load-module модуль-нуль-приемник имя_приемника = multiHP
- Подключаем вход к фейковому выходу (отключение выбранного приложения (входа))
$ pacmd list -inks (список выходов)
$ pacmd список-приемник-входы (список входов)
$ pacmd move -ink-input% input% output (замените% input и% output одним из соответствующих списков)
- Ставим звуковую карту на максимум
$ pactl набор-мойка-объем 0 100%
- Тестируем на ПК способ восстановления фейкового вывода (восстановление звука)
$ gst-launch-1.0 pulsesrc device = 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 = (строка) 2, полезная нагрузка = (int) 96 '! rtpL16depay! аудиоконвертировать! автозвук
На ПК:
$ gst-launch-1.0 pulsesrc device = multiHP.monitor! аудиоконвертировать! audio / x-raw, format = "(строка) S16BE", layout = "(строка) с чередованием", каналы = 2, rate = 44100! rtpL16pay! имя тройника = t t. ! очередь ! udpsink host =% addrpi1 порт = 5000 т. ! очередь ! udpsink host =% addrpi2 порт = 5000 т. ! очередь ! аудиоконвертировать! автозвук
Шаг 3: Заключение
Это руководство - лишь первый шаг к завершенному проекту. Это было только для объяснения принципа. Теперь вы можете автоматизировать, создав скрипт при загрузке Raspberry Pi и на ПК. Вы можете адаптировать команду GStreamer в зависимости от ваших потребностей. Я лично модифицировал свой предыдущий инструктаж (СОВЕРШЕННО НОВОЕ СТАРЫЕ РАДИО), чтобы использовать его в качестве динамика. Есть бесконечное множество вещей, которые нужно сделать, чтобы улучшить эту многокомнатную звуковую систему. В частности, все динамики не синхронизированы, поэтому при переходе из комнаты в комнату возможны некоторые отклонения.
Я надеюсь, что вы постараетесь улучшить это руководство.
Не стесняйтесь задавать вопросы, если вам нужны подробности.
Хороший повозник!
Рекомендуемые:
Подключение нескольких PZEM 004T к модулю Nodemcu: 3 шага
Подключение нескольких модулей PZEM 004T с модулем Nodemcu: требуется наличие нескольких модулей PZEM 004T в некоторых проектах, таких как система обнаружения кражи питания или система мониторинга энергии, поэтому здесь я предоставил код Nodemcu и подключение 3 модулей PZEM 004T с Nodemcu. Если у вас есть какие-либо вопросы затем к
Подключение нескольких мониторов к ноутбуку: 3 шага
Подключение нескольких мониторов к ноутбуку: Необходимые компоненты: Мониторы (Важно: возможность подключения VGA к источнику питания USB) - 2 шт. Настенное крепление для телевизора / мониторов - 2 шт. Конвертер USB 3.0 в VGA - 1 шт. С 1 на 2 или от 1 до 4 USB-разветвителя / адаптера (для подключения мониторов) - 1 пена ПВХ № 5 мм толщиной
Слушайте музыку с Arduino !: 5 шагов (с изображениями)
Воспроизведение музыки с помощью Arduino! В этой инструкции я покажу вам, как я проигрываю музыку с помощью Arduino UNO и модуля SD-карты. Мы будем использовать связь SPI. Приступим
Слушайте светодиодный чайный светильник: 4 шага (с изображениями)
Слушайте светодиодный чай: приближается праздничный сезон. Рождественские украшения повсюду. Один из гаджетов, который можно найти повсюду, - это действительно мерцающие светодиодные чайные свечи. Они дешевы, чисты и не так опасны, как настоящие свечи. Но как они работают? Я читал сом
Губка + метод хлорида железа - протравка печатных плат за одну минуту !: 5 шагов (с изображениями)
Метод «Губка + хлорид железа» - протравка печатных плат за одну минуту! В этой инструкции я покажу вам, как протравить печатную плату примерно с помощью столовой ложки раствора для травления хлористого железа и 2-дюймовой квадратной губки. Вы будете поражены, когда обнаженная медь на печатной плате исчезнет у вас на глазах, а ваш кабан