当你辛辛苦苦收集了几个T的无损音乐,存进 NAS 或者本地硬盘,准备用 Audio Station、Plex、Emby 好好享受时,却发现:
- 没有歌词:听不懂外语歌,或者想跟着哼两句时一脸懵。
- 没有封面:播放界面光秃秃的,或者显示一个默认的灰色图标,不仅丑,找歌也费劲。
- 强迫症发作:看着杂乱无章的音乐库,心里总是痒痒的。
市面上的刮削器(Scraper)要么太复杂,要么就是针对电影电视剧的,专门针对本地音乐文件刮削歌词和封面的好用工具并不多。
作为一个爱折腾的程序员,既然找不到顺手的,那就自己写一个!
今天老宁就给大家介绍一下我自己开发并开源的项目:LyricFlow。它能自动扫描你的音乐库,从各大音乐平台下载歌词和专辑封面,让你的音乐库从此“声色俱全”。
最重要的是,这个项目基于 Docker 开发,不局限于群晖!无论你是用威联通、极空间、绿联,还是飞牛,甚至是一台普通的 Linux 服务器、Windows 电脑,只要能运行 Docker,统统都能用!

项目地址
https://github.com/laoning666/lyricFlow
功能特性
LyricFlow 的设计初衷就是简单、自动化、全平台。
- 🎵 格式全支持:支持扫描 MP3、FLAC、M4A、WAV 等常见音乐格式。
- 📝 自动下歌词:自动搜索并下载歌词,保存为同名的
.lrc文件,播放器能自动识别。 - 🖼️ 自动下封面:自动下载专辑封面,保存为
cover.jpg,让文件夹视图赏心悦目。 - 🔄 增量处理:智能跳过已经有歌词或封面的文件,不会重复下载,节省资源。
- ⏰ 定时扫描:支持设置定时任务(比如每天扫一次),新加的歌自动处理。
- 🐳 全平台部署:Docker 容器化,支持 X86、ARM 架构,哪里都能跑。
安装部署
为了照顾不同用户的使用习惯,这里提供通用部署和群晖图形化部署两种方式。
方式一:通用 Docker Compose(推荐)
如果你使用的是 Linux 服务器、Mac、威联通(Container Station)、极空间、绿联 或者习惯使用命令行的群晖用户,推荐使用这种方式。
创建一个
docker-compose.yml文件,内容如下:version: '3' services: lyricflow: image: ghcr.io/laoning666/lyricflow:latest container_name: lyricflow restart: unless-stopped environment: # 扫描间隔(天),0 = 运行一次退出,1 = 每天运行一次 - SCAN_INTERVAL_DAYS=1 # 是否下载歌词 - DOWNLOAD_LYRICS=true # 是否下载封面 - DOWNLOAD_COVER=true # 是否覆盖已有文件(建议 false) - OVERWRITE_LYRICS=false - OVERWRITE_COVER=false # 音乐搜索平台优先级 - PLATFORMS=netease,kuwo,qq volumes: # 🔴 关键:冒号左边修改为你设备上实际的音乐文件夹路径 - /path/to/your/music:/music- 在该文件所在目录下运行启动命令:
docker-compose up -d方式二:Docker CLI(一行命令快速体验)
如果你不想创建文件,只想快速跑一次试试,可以直接在终端运行以下命令:
docker run --rm \
-v /你的音乐路径:/music \
ghcr.io/laoning666/lyricflow:latest注意:运行完成后容器会自动删除,适合临时整理一次。
方式三:群晖图形化部署(Container Manager)
对于习惯使用图形界面的群晖用户,操作依然简单:
- 打开【File Station】,在
docker文件夹下创建lyricflow文件夹。

- 打开【Container Manager】套件,在项目菜单下点击创建。

- 输入项目名称,路径选择刚才创建的
lyricflow文件夹。

- 来源选择创建 docker-compose.yml,并将方式一中的代码复制进去。

- 重要修改:一定要把
volumes下的/path/to/your/music修改为你群晖实际的音乐路径(例如/volume1/music/齐秦)。

- 点击下一步构建并启动即可。

效果展示
部署完成后,LyricFlow 就会默默在后台工作了。

你可以去文件管理器里看看你的音乐文件夹。为了获得最佳效果,老宁建议大家按 歌手/专辑/ 的结构来整理音乐。
工具运行后,你的文件夹里会自动多出 .lrc 歌词文件和 cover.jpg 封面图:
/music/
├── 周杰伦/
│ ├── 七里香/
│ │ ├── 七里香.mp3
│ │ ├── 七里香.lrc ← 自动生成的歌词
│ │ ├── 止战之殇.flac
│ │ ├── 止战之殇.lrc ← 自动生成的歌词
│ │ └── cover.jpg ← 自动生成的专辑封面
这时候,你再用 Audio Station、Plex、Emby、Jellyfin 或者任何支持挂载本地目录的播放器听歌,歌词和封面就都能完美显示了!

进阶配置:多文件夹挂载
很多朋友的音乐可能分散在不同的硬盘或文件夹里,比如一部分在“下载盘”,一部分在“仓库盘”。LyricFlow 支持同时扫描多个目录。
只需要修改 docker-compose.yml 中的 volumes 部分,将它们映射到容器内的不同子目录即可:
volumes:
# 映射第一个音乐目录
- /share/music_downloads:/music/downloads
# 映射第二个音乐目录
- /share/lossless_storage:/music/lossless这样,LyricFlow 就会同时扫描这两个文件夹下的所有音乐。
后记
开发 LyricFlow 的初衷是为了解决我自己音乐库管理的痛点,作为一个强迫症患者,看到音乐文件只有光秃秃的文件名实在是忍不了。
虽然教程里经常提到群晖,但 Docker 的魅力就在于它的通用性。无论你用什么设备,只要想整理本地音乐,这个小工具都能帮上忙。项目完全免费,也不需要复杂的 API Key 配置,希望能帮大家省下找歌词找封面的时间,把时间留给欣赏音乐本身。
如果你觉得这个小工具好用,欢迎去 GitHub 给老宁点个 Star 🌟,或者在评论区反馈你的使用体验!
4 条评论
这个很好,另外请问下这个blog主题叫什么名字?
handsome