文章更新: 20170304 初次成文
问题提出:
虽然适用于Linux系统的网易云音乐PC客户端已经在网易云音乐官网上架(仅适用于深度和Ubuntu系统),但因为我们的树莓派是Arm架构,所以专为PCLinux开发的客户端是不能在我们小小的树莓派上跑的。好在Github上有大神搞出了基于Python的网易云音乐命令行版本NetEase-MusicBox(以下简称MusicBox):
项目地址: https://github.com/darknessomi/musicbox
庆幸的是,MusicBox是可以完美运行在树莓派的Raspbian上并可以通过树莓派板载的3.5mm插口将声音信号输出的。这也为我们小小的树莓派增加了更多的可玩性(比如可以为家庭音响系统提供在线音源等)。
在上一篇文章中:
玩转Volumio的DLNA特性
小苏介绍了在Volumio上DLNA特性的几种使用姿势,但是唯独没有提到网易云音乐的DLNA特性。这是因为由于Android版网易云音乐对DLNA的兼容性原因,无法正常通过DLNA将音乐推送到Volumio中播放。但是通过BubbleUPnp或者AllCast却可以正常推送并播放音乐。但小苏又是个网易云音乐的重度用户,所以小苏就琢磨着能不能把MusicBox搞到Volumio上,这样就可以将音乐通过Dac扩展板解码后输出了(因为在Raspbian上MusicBox虽然是可以正常工作,但自带的3.5mm插口是有一些杂音的)~
但是这个问题却折磨了小苏很久,因为Volumio基于Raspbian,所以命令行的网易云音乐是可以安装和运行的,但是音频信号输出却有点问题:
1. 不论音乐是否在播放,树莓派板载的3.5mm插口都会输出超大音量的杂音信号;
2. 当音乐正在播放时,Dac扩展板上的3.5mm插口听不到任何声音。
这就非常蛋疼了,虽然MusicBox可以运行,但是无法输出音频信号MusicBox也属于摆设了。
解决方案:
经过小苏的锲而不舍夜以继日的的折腾,终于解决了这个问题。折腾步骤如下: 1. 安装MusicBox:
我们使用pip安装MusicBox,因为Volumio默认是没有部署Python环境的,所以在安装pip的时候apt包管理器会"顺便"帮我们部署好Python环境。
sudo apt-get install python-pip #安装pip包管理器及其依赖组件 sudo pip install NetEase-MusicBox #使用pip安装MusicBox sudo apt-get install mpg123 #安装mp3解码器
2. 测试MusicBox:
MusicBox安装完成后,在终端中执行:
musicbox #(无需sudo)
即可进入命令行版网易云音乐的界面。但如果你看到的界面只有字母和数字,而没有汉字的话你需要进行以下操作(如果显示没有问题则可以跳过这一步):
cd ~ #切换到用户主目录 vim .bashrc #编辑bash配置文件
在.bashrc中,在文件末尾另起一行,加入以下内容:
# Locale Settings
export LC_CTYPE=en_US.UTF-8
值得一提的是,Volumio的默认Shell是bash,如果你之前更换过Shell,那么你需要在~下找到你当前使用的Shell对应的配置文件来修改。
保存之后退出当前SSH会话并重新登录(无需重启),重新执行musicbox后应该恢复正常了:
在Raspbian下,到这一步MusicBox就配置完成了。如果实在Volumio下,还需要进行屏蔽板载声卡的操作。 3. 屏蔽板载声卡:
终端执行:
sudo vim /boot/config.txt
在其中找到这一行:
dtparam=audio=on
在这一行前加上#号注释掉:
# dtparam=audio=on
修改完成后保存,接着我们修改另一个文件:
sudo vim /etc/asound.conf
此文件在默认情况下应该是一个空白文件,将以下内容填入此文件:
pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}
修改完成后,保存并重启系统。重启完成后,在终端执行:
aplay -l
终端应该会返回以下结果:
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
我们发现执行结果中只存在HiFiBerry一个声卡,说明我们屏蔽板载声卡的操作成功(在未屏蔽状态下执行aplay -l
后,返回结果中应该有3.5mm,HDMI和HiFiBerry三个声卡)。
接着进入MusicBox,播放一首音乐,如果还是听不到音乐的话按"="键即可增大音量,不出意外的话,音乐可以正常播放了~
参考资料:
NetEase-MusicBox项目: https://github.com/darknessomi/musicbox
全新配置 HiFiBox DAC + Volumio 系统: http://shumeipai.nxez.com/2016/12/04/configuring-volumio-155-for-hifibox-dac.html