用NAS听音乐,没歌词怎么行!歌词API的搭建流程
自从在家中的NAS系统上搭建了一系列音乐自动下载播放系统,我感觉瞬间打通了任通二脉,对于音乐也重拾了热情。此外还在闲鱼平台入手了学生时代一直向往的IPod Classic,刷了Rockbox,海淘了BOSE耳机尚在途中。
上个月现场观赏了山下智久的Sweet Vision演唱会,不由感叹还是以前的偶像唱跳俱佳,山P这样的硬实力比起现在国内一众偶像不知道高到哪里去。



在准备演唱会时我意识到了这个问题,平时用Navidrome播放NAS上下载的山下智久的无损音频时,是没有歌词的;这让我在提前预习山P的经典歌曲时产生了诸多不便。虽然正如我之前文章介绍,我使用了LRCGET的开源方案+Python脚本的方式下载存储歌曲的LRC歌词文件,并更新到文件的Tag属性中。但是这个半自动方案耗时耗力不说,对于中文、日文等非英语歌曲也非常不友好。事后我就研究了一下歌词API的搭建方案,终有所成,这里分享给大家。
这就是HisAtri/LrcApi,也是音流APP开发者的作品。
作者提供了多种安装方式,我选择的还是Docker的方式。
但是在安装时又遇到了障碍,国内已经对于Docker源做了封禁,镜像死活下载不下来。这里分享一下我的解决方法:
创建proxy的配置文件
nano /etc/systemd/system/docker.service.d/http-proxy.conf
配置文件里写入proxyserver的地址
[Service]
Environment="HTTP_PROXY=http://proxyserver"
Environment="HTTPS_PROXY=http://proxyserver"
Environment="NO_PROXY=localhost,127.0.0.1,*.xyz,*.cn,*.daocloud.io,*.aliyuncs.com,*.tencentyun.com,*.baidubce.com,*.dockerproxy.com"
重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
然而发现宿主机和容器无法通讯,因此proxy没有生效。原因在于Openwrt创建时使用的macvlan接口起到了隔离的作用,解决办法是另外创建一个宿主机同网段的macvlan接口用于二者的通讯。
# 创建 macvlan 接口
sudo ip link add macvlan_host link enP4p65s0 type macvlan mode bridge
# 为 macvlan_host 接口分配 IP 地址
sudo ip addr add 192.168.1.211/24 dev macvlan_host
# 启用 macvlan_host 接口
sudo ip link set macvlan_host up
后面搭建LRCAPI的方法就简单很多了,格式如下:
docker run -d
-p 28883:28883
-v /home/user/music:/music
-e API_AUTH=自定义一个鉴权key
hisatri/lrcapi:latest
如果你正在使用Navidrome Docker,请将 /home/user/music:/music 中的 /home/user/music 修改为你在Navidrome中映射的主机路径,比如我这里的命令为(未使用Authentication Key):
docker run -d -p 28883:28883 -v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/music:/music hisatri/lyricapi:1.5.2
这里指定了1.5.2的标签是因为看到G站的issue list提到最新版本存在无法抓取歌词的问题。
随后即可浏览器访问本地的28883端口,确认服务可以被访问。

以音流Windows端为例,至设置中的Custom API (Custom API是音流付费会员的功能),设置Lyrics API地址为:http://0.0.0.0:28883/lyrics,回车保存。(新版API:http://0.0.0.0:28883/jsonapi)

(可选)将Cover API的地址设为:http://0.0.0.0:28883/cover,实测专辑图片抓取较慢,如果下载的歌曲已经包含图片,建议禁用此选项。

然后在听歌时,就可以显示滚动播放的歌词了。Windows的音流应用下英文歌曲的显示效果:

山下智久的日文歌曲的显示效果:

中文歌曲的显示效果:

其他平台,如iOS,安卓TV的音流客户端,我也都尝试可以正常运行。
没有条件自己搭建API服务器的朋友,也可以直接使用公开的API地址,如下:
歌词API地址:https://api.lrc.cx/lyrics
封面API地址:https://api.lrc.cx/cover
实测也可以正常使用。
总体而言,这个歌词API的使用方法非常简单,效果令人满意,推荐拥有NAS环境,喜欢听歌的朋友们试试看。

值友1721938587
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
校验提示文案
伢子
校验提示文案
苹果大爷
校验提示文案
疯爆银熊
校验提示文案
cctv凝
校验提示文案
叶卡捷琳娜二世
校验提示文案
无若流觞
校验提示文案
弗老大
校验提示文案
记录生活点滴
校验提示文案
anminy
校验提示文案
无字添书
校验提示文案
[已注销]
校验提示文案
暴躁的橘子
校验提示文案
狗空蓝
校验提示文案
AZJoan
校验提示文案
波导终结者
校验提示文案
无字添书
校验提示文案
值友1721938587
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
校验提示文案
anminy
校验提示文案
记录生活点滴
校验提示文案
波导终结者
校验提示文案
弗老大
校验提示文案
无若流觞
校验提示文案
伢子
校验提示文案
叶卡捷琳娜二世
校验提示文案
AZJoan
校验提示文案
狗空蓝
校验提示文案
暴躁的橘子
校验提示文案
cctv凝
校验提示文案
疯爆银熊
校验提示文案
[已注销]
校验提示文案
苹果大爷
校验提示文案