首先说一下为什么选择这个名字鬼畜的分支吧:一圈看下来,包括 audiostation,jellyfin,只有这一个支持整个 CD + flac 和 flac 内嵌 CUE 的格式,所以没得选。
功能展示
技术细节先退后,看一下完成之后的样子
音流客户端
网页端
有点简陋,但是功能齐全
substreamer
除了音流,这个也很强(特指网页版),相比音流和网页端搜索速度和准确度大幅提高,操作相比音流齐全很多(如查看专辑艺术家),美中不足的是不支持歌词
服务器搭建
非常简单
下载war包
kagemomiji/airsonic-advanced 不提供任何包管理器安装,请自己下载war包。github release
运行airsonic-advanced服务端
这里讲最简单的。
-
新开一个 screen 会话
screen
-
运行war包
sudo java -jar airsonic.war
-
访问webui
默认端口是8080,访问webui按照提示操作就行了。需要注意在 settings->Media folders 打开Enable cue indexing
并且关闭Hide virtual tracks
搭建歌词服务
这个服务端自带的歌词非常难用,我从来没成功过。有这么两个替代的歌词 api。
lrcapi
可以考虑使用lrcapi,但是这个数据不全而且不支持歌词翻译,十分蛋疼
用docker安装。
docker run -d \
-p 28883:28883 \
-v /home/user/music:/music \
-e API_AUTH=自定义一个鉴权key \
hisatri/lrcapi:latest
StreamMusicLyricsApi
觉得好用请给个star(逃
我前两天写的StreamMusicLyricsApi,这个使用网易云api,歌词相对多一点。多个候选也有了。
安装方式简单粗暴。
- 拉取仓库
git clone https://github.com/yuygfgg/StreamMusicLyricsApi cd ./StreamMusicLyricsApi/
- 运行
默认端口51232,可以在 python 脚本里面改。nohup python3 ./lrc.py
这个通过专辑+歌曲名搜索,然后过滤出时长差 秒的,理论上准确率相当高,但是遇到少数情况也会出问题
客户端
平时听歌可以用音流,支持歌词。但是要搜索找歌得用substreamer
音流
这个最简单。按照 官网就行。
连接选择subsonic,去设置-自定义API把歌词接口换成刚刚搭建的。
substreamer
这个比较麻烦。可以用客户端,但是就没法无损串流了。这里讲web客户端。
安装服务器端
docker run -d \
--name substreamer \
--restart=unless-stopped \
-p 8081:8081 \
ghenry22/substreamer:latest
然后访问 8081
端口,按照提示登录。注意打开 Use Legacy Authentication
登录进去在settings里打开 Improved Search
打开无损串流
杂项
理论上这样就可以enjoy了,不过还有几个小的trick
Lyrics
觉得好用请给个star(逃
是的还是歌词相关。这玩意可以帮你无需音流的 VIP 就可以用 macOS 状态栏歌词。原理是利用系统的播放信息去网易云匹配歌词,然后显示。匹配不准也可以手动改。
具体请看github
暂时不提供release,请自行用Xcode编译