使用Mopidy将Raspberry Pi变成家庭音乐服务器

Sonos之类的家庭音频系统风靡一时,但价格却相当昂贵。但是,仅使用Raspberry Pi和一些扬声器,您就可以创建自己的DIY声音系统,以通过Web界面播放本地存储的音乐,Spotify流,互联网广播电台,播客等。

Mopidy使得这一切成为可能,Mopidy是用Python编写的可扩展的无头音乐服务器。

构建音乐服务器将需要什么

•Raspberry Pi。尽管Mopidy将在以后的全尺寸模型上运行,但运行速度明显加快,因此任何模型都可以使用。如果使用Pi Zero,则需要一个DAC附加板用于有线音频输出。

•一对带有3.5毫米公插孔的有源扬声器,用于音频输入。另外,您可以通过HDMI通过电视输出音频。

•通过网络界面访问音乐服务器的无线网络。

1.安装Mopidy

首先,请确保您使用的是最新版本的Raspberry Pi OS。理想情况下,您应该使用Raspberry Pi Imager在microSD卡上进行全新安装。

要安装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 OS与桌面图像一起使用,则需要将Mopidy用户添加到视频组:

 sudo adduser mopidy video

要使Mopidy在启动时作为后台服务运行,请输入:

 sudo systemctl enable mopidy

2.配置Mopidy设置

要配置Mopidy的设置,以便可以从Raspberry Pi或其他设备上的Web浏览器访问它,您需要编辑mopidy.conf文件:

 sudo nano /etc/mopidy/mopidy.conf

在文件底部,添加以下行:

 [http]
hostname = 0.0.0.0

如果您不使用通过HDMI输出的音频,还可以添加以下几行(省略的空格)以使用3.5mm AV插孔:

 [ audio]
output = alsasink device=hw:1,0

Ctrl + X ,然后按Y保存文件。

请注意,device = hw:1,0设置告诉Mopidy使用声卡1,设备0,即3.5mm AV插孔。如果改为使用DAC附加板,则需要将其设置为其他值-要获得音频硬件设备的列表,请在终端中输入以下内容:

 aplay -l

使用以下命令启动Mopidy服务:

 sudo systemctl start mopidy

3.访问Mopidy Web界面

现在,尝试从您的Raspberry Pi或同一网络上的其他设备访问该服务。在Web浏览器中,输入以下地址: http://raspberrypi.local:6680

您应该看到一个网页,其中包含有关Mopidy的消息。

要正确访问它,您需要将Web客户端安装为Mopidy扩展。有几种可用的,但是最复杂的一种是虹膜。通过以下方式安装:

 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

现在,通过访问以下地址尝试访问Web界面:

http://raspberrypi.local:6680 / iris /

您会看到一个欢迎您访问Iris的网页。单击保存,您将看到用户界面。

4.将音乐添加到Mopidy

OK,所以现在您需要向/ home / pi /目录中的Music文件夹中添加一些音乐文件。 Mopidy支持多种音频编解码器,包括MP3和FLAC。因此,可以通过任何方式传输一些音乐文件,例如使用USB记忆棒。

接下来,您需要安装Mopidy-Local扩展名以读取本地文件。在“终端”窗口中,输入:

 sudo python3 -m pip install Mopidy-Local

现在,使用以下命令重新打开Mopidy设置文件:

 sudo nano /etc/mopidy/mopidy.conf

然后添加以下行以将其设置为在“音乐”文件夹中查找音乐文件:

 [local]
media_dir = /home/pi/Music

重新启动Mopidy服务,方法是:

 sudo systemctl restart mopidy

然后进行扫描以找到您的音乐文件:

 sudo mopidyctl local scan

您也可以从Iris界面执行此操作,方法是依次转到“设置” ,向下滚动并单击“启动本地扫描”按钮。

注意:轨道可能需要一段时间才能出现在界面中。您可能还需要在主屏幕上单击“刷新”选项。

现在,您的曲目应该会出现在“虹膜”界面中,您可以双击一个曲目进行播放。请注意,即使使用远程设备访问Web界面,音频也会从Raspberry Pi播放。

另一个需要注意的方面是,只有嵌入音乐文件中的专辑封面才会显示。即使那样,它还是有一定的成功和失败的。

相关:您可以使用Raspberry Pi构建的乐器

5.从Spotify流

Mopidy还支持流媒体服务,例如Spotify,YouTube音乐和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用户名,密码以及从mopidy.com获得的client_id和client_secret:

 
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

现在,通过raspberrypi.local:6680 / iris /刷新Iris Web界面,您应该可以完全访问Spotify。

6.将网络广播添加到Mopidy

您还可以通过TuneIn收听喜爱的广播电台。要安装扩展,请输入:

 sudo python3 -m pip install Mopidy-TuneIn
sudo systemctl restart mopidy

在Iris Web界面中,选择“浏览”选项,然后选择“ TuneIn”以访问诸如“本地广播” ,“音乐” (用于选择流派)和“播客”之类的选项。

要更全面地选择播客,可以使用以下命令安装Mopidy-Podcast扩展:

 sudo python3 -m pip install Mopidy-Podcast
sudo systemctl restart mopidy

这样,您就可以浏览以RSS feed形式分发的播客,并以各种音频格式播放单个剧集。您还可以为其添加可选的Mopidy-Podcast-iTunes扩展,该扩展使您可以从Apple iTunes Store搜索和浏览Podcast。

阅读更多:面向初学者的最佳Raspberry Pi项目

创建自己的自定义音乐播放器

除了尝试使用其他可用的Mopidy扩展程序(mopidy.com/ext)之外,您甚至可以添加一个迷你LCD屏幕来制作便携式播放器。最简单的方法之一是使用Pimoroni的Pirate Audio插件之一,该插件具有DAC(数模转换器)的优点,可增强音频输出质量。

但是,您选择使用Mopidy,我们相信您可以通过可自定义的Raspberry Pi音乐播放器获得出色的聆听体验。