Превратите свой Raspberry Pi в домашний музыкальный сервер с Mopidy
В моде домашние аудиосистемы от Sonos, но они могут быть довольно дорогими. Однако с помощью всего лишь Raspberry Pi и некоторых динамиков вы можете создать свою собственную аудиосистему DIY для воспроизведения локально сохраненной музыки, потоков Spotify, интернет-радиостанций, подкастов и многого другого через веб-интерфейс.
Все это стало возможным благодаря Mopidy, расширяемому безголовому музыкальному серверу, написанному на Python.
Что вам понадобится для создания музыкального сервера
• Raspberry Pi. Подойдет любая модель, хотя Mopidy будет работать значительно быстрее на более поздних полноразмерных моделях. Если вы используете Pi Zero, вам понадобится дополнительная плата ЦАП для проводного аудиовыхода.
• Пара активных динамиков с штекерным разъемом 3,5 мм для аудиовхода. Кроме того, вы можете выводить звук через телевизор через HDMI.
• Беспроводная сеть для доступа к музыкальному серверу через веб-интерфейс.
1. Установите Mopidy.
Во-первых, убедитесь, что вы используете последнюю версию Raspberry Pi OS. В идеале вы должны выполнить чистую установку на карту microSD с помощью Raspberry Pi Imager.
Чтобы установить последнюю версию Mopidy и всех ее зависимостей, введите следующие команды в окне Терминала:
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
sudo apt update
sudo apt install mopidy
Загрузка и распаковка Mopidy может занять несколько минут.
Если вы используете ОС Raspberry Pi с образом рабочего стола, вам нужно будет добавить пользователя Mopidy в группу видео:
sudo adduser mopidy video
Чтобы Mopidy запускался в качестве фоновой службы при загрузке, введите:
sudo systemctl enable mopidy
2. Настройте параметры Mopidy.
Чтобы настроить параметры Mopidy, чтобы вы могли получить к нему доступ из веб-браузера на Raspberry Pi или другом устройстве, вам необходимо отредактировать файл mopidy.conf :
sudo nano /etc/mopidy/mopidy.conf
Внизу файла добавьте следующие строки:
[http]
hostname = 0.0.0.0
Если вы не используете аудиовыход через HDMI, также добавьте эти строки (без пробела в ), чтобы использовать разъем AV 3,5 мм:
[ audio]
output = alsasink device=hw:1,0
Нажмите Ctrl + X , затем Y, чтобы сохранить файл.
Обратите внимание, что параметр device = hw: 1,0 указывает Mopidy использовать звуковую карту 1, устройство 0, которое является разъемом AV 3,5 мм. Если вместо этого используется дополнительная плата DAC, вам необходимо установить для нее другое значение – для списка аудиоустройств введите это в Терминале:
aplay -l
Запустите службу Mopidy с помощью:
sudo systemctl start mopidy
3. Откройте веб-интерфейс Mopidy.
Теперь попробуйте получить доступ к службе с вашего Raspberry Pi или другого устройства в той же сети. В веб-браузере введите следующий адрес: http: //raspberrypi.local: 6680
Вы должны увидеть веб-страницу с сообщением о Mopidy.
Чтобы получить к нему правильный доступ, вам необходимо установить веб-клиент как расширение Mopidy. Их несколько, но одна из самых сложных – Iris. Установите его с помощью:
sudo python3 -m pip install Mopidy-Iris
Вам также необходимо выполнить следующую команду (в одной строке), чтобы дать пользователю mopidy sudo разрешение на запуск установщика Iris:
sudo sh -c 'echo "mopidy ALL=NOPASSWD: /usr/local/lib/python3.7/dist-packages/
mopidy_iris/system.sh" >> /etc/sudoers'
Перезапустите сервис Mopidy, чтобы изменения вступили в силу:
sudo systemctl restart mopidy
Теперь попробуйте получить доступ к веб-интерфейсу, посетив следующий адрес:
http: //raspberrypi.local: 6680 / iris /
Вы увидите веб-страницу, приветствующую вас в Ирис. Нажмите « Сохранить», и вы увидите пользовательский интерфейс.
4. Добавьте музыку в Mopidy.
Хорошо, теперь вам нужно добавить несколько музыкальных файлов в папку « Музыка » в каталоге / home / pi / . Mopidy поддерживает широкий спектр аудиокодеков, включая MP3 и FLAC. Поэтому передавайте музыкальные файлы любым удобным для вас способом, например, с помощью USB-накопителя.
Далее вам необходимо установить расширение Mopidy-Local для чтения локальных файлов. В окне терминала введите:
sudo python3 -m pip install Mopidy-Local
Теперь снова откройте файл настроек Mopidy с помощью:
sudo nano /etc/mopidy/mopidy.conf
Затем добавьте следующие строки, чтобы настроить поиск музыкальных файлов в папке Music :
[local]
media_dir = /home/pi/Music
Перезапустите службу Mopidy с помощью:
sudo systemctl restart mopidy
Затем выполните сканирование, чтобы найти свои музыкальные файлы:
sudo mopidyctl local scan
Вы также можете сделать это из интерфейса Iris, перейдя в « Настройки» , прокрутив вниз и нажав кнопку « Начать локальное сканирование» .
Примечание. Для отображения треков в интерфейсе может потребоваться некоторое время. Вам также может потребоваться нажать кнопку « Обновить» на главном экране.
Теперь ваши треки должны появиться в интерфейсе Iris, и вы можете дважды щелкнуть по нему, чтобы воспроизвести его. Обратите внимание, что даже при использовании удаленного устройства для доступа к веб-интерфейсу звук будет воспроизводиться с Raspberry Pi.
Еще один аспект, который следует отметить, заключается в том, что будут отображаться только обложки альбомов, встроенные в музыкальные файлы. Даже тогда это немного удачно.
5. Трансляция из Spotify
Mopidy также поддерживает потоковые сервисы, такие как Spotify, YouTube Music и SoundCloud. Здесь мы покажем вам, как заставить Spotify работать, хотя обратите внимание, что вам понадобится учетная запись Premium.
Во-первых, вам необходимо установить расширение Mopidy-Spotify. Откройте окно Терминала и введите:
sudo python3 -m pip install Mopidy-Spotify
Вам необходимо добавить свое имя пользователя и пароль Spotify Premium в файл конфигурации Mopidy, а также посетить веб-сайт Mopidy, чтобы авторизовать это расширение для своей учетной записи Spotify. Это даст вам client_id и client_secret для использования.
Снова откройте файл настроек mopidy.conf с помощью:
sudo nano /etc/mopidy/mopidy.conf
Добавьте следующие строки, заменив значения своим именем пользователя Spotify, паролем, а также client_id и client_secret, полученными с mopidy.com:
[spotify]
username = <your Spotify username>
password = <your Spotify password>
client_id = <your client_id>
client_secret = <your client_secret>
Как и раньше, нажмите Ctrl + X , затем Y, чтобы сохранить и выйти.
Перезапустите службу Mopidy с помощью:
sudo systemctl restart mopidy
Теперь обновите веб-интерфейс Iris по адресу raspberrypi.local: 6680 / iris /, и у вас должен быть полный доступ к Spotify.
6. Добавьте Интернет-радио в Mopidy.
Вы также можете слушать свои любимые радиостанции через TuneIn. Чтобы установить расширение, введите:
sudo python3 -m pip install Mopidy-TuneIn
sudo systemctl restart mopidy
В веб-интерфейсе Iris выберите параметр « Обзор», а затем « TuneIn», чтобы получить доступ к таким параметрам, как « Местное радио» , « Музыка» (для выбора жанров) и « Подкасты» .
Для более полного выбора подкастов вы можете установить расширение Mopidy-Podcast с помощью:
sudo python3 -m pip install Mopidy-Podcast
sudo systemctl restart mopidy
Это позволяет просматривать подкасты, распространяемые в виде RSS-каналов, и воспроизводить отдельные выпуски в различных аудиоформатах. Вы также можете добавить для него дополнительное расширение Mopidy-Podcast-iTunes, которое позволяет искать и просматривать подкасты в Apple iTunes Store.
Создание собственного музыкального плеера
Помимо экспериментов с другими доступными расширениями Mopidy (mopidy.com/ext), вы даже можете добавить мини-ЖК-экран для создания портативного плеера. Один из самых простых способов сделать это – использовать одно из надстроек Pirate Audio от Pimoroni , которое имеет бонус в виде ЦАП (цифро-аналоговый преобразователь) для улучшенного качества вывода звука.
Тем не менее, вы решите использовать Mopidy, мы уверены, что вы получите отличные впечатления от прослушивания с помощью настраиваемого музыкального проигрывателя Raspberry Pi.