剪藏#他们都叫我老宁#剪藏

告别“光秃秃”的本地音乐!一款全平台通用的歌词刮削神器

2025 年 12 月 26 日1 分钟
分享Twitter / XTelegram微博
告别“光秃秃”的本地音乐!一款全平台通用的歌词刮削神器 封面

当你辛辛苦苦收集了几个T的无损音乐,存进 NAS 或者本地硬盘,准备用 Audio Station、Plex、Emby 好好享受时,却发现:

  • 没有歌词:听不懂外语歌,或者想跟着哼两句时一脸懵。

  • 没有封面:播放界面光秃秃的,或者显示一个默认的灰色图标,不仅丑,找歌也费劲。

  • 强迫症发作:看着杂乱无章的音乐库,心里总是痒痒的。

市面上的刮削器(Scraper)要么太复杂,要么就是针对电影电视剧的,专门针对本地音乐文件刮削歌词和封面的好用工具并不多。

作为一个爱折腾的程序员,既然找不到顺手的,那就自己写一个!

今天老宁就给大家介绍一下我自己开发并开源的项目:LyricFlow。它能自动扫描你的音乐库,从各大音乐平台下载歌词和专辑封面,让你的音乐库从此“声色俱全”。

最重要的是,这个项目基于 Docker 开发,不局限于群晖!无论你是用威联通、极空间、绿联,还是飞牛,甚至是一台普通的 Linux 服务器、Windows 电脑,只要能运行 Docker,统统都能用!

Notion image

项目地址

https://github.com/laoning666/lyricFlow

功能特性

LyricFlow 的设计初衷就是简单、自动化、全平台

  • 🎵 格式全支持:支持扫描 MP3、FLAC、M4A、WAV 等常见音乐格式。

  • 📝 自动下歌词:自动搜索并下载歌词,保存为同名的 .lrc 文件,播放器能自动识别。

  • 🖼️ 自动下封面:自动下载专辑封面,保存为 cover.jpg,让文件夹视图赏心悦目。

  • 🔄 增量处理:智能跳过已经有歌词或封面的文件,不会重复下载,节省资源。

  • ⏰ 定时扫描:支持设置定时任务(比如每天扫一次),新加的歌自动处理。

  • 🐳 全平台部署:Docker 容器化,支持 X86、ARM 架构,哪里都能跑。

安装部署

为了照顾不同用户的使用习惯,这里提供通用部署群晖图形化部署两种方式。

方式一:通用 Docker Compose(推荐)

如果你使用的是 Linux 服务器、Mac、威联通(Container Station)、极空间、绿联 或者习惯使用命令行的群晖用户,推荐使用这种方式。

  1. 创建一个 docker-compose.yml 文件,内容如下:
JAVASCRIPT
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
  1. 在该文件所在目录下运行启动命令:
JAVASCRIPT
docker-compose up -d

方式二:Docker CLI(一行命令快速体验)

如果你不想创建文件,只想快速跑一次试试,可以直接在终端运行以下命令:

JAVASCRIPT
docker run --rm \
  -v /你的音乐路径:/music \
  ghcr.io/laoning666/lyricflow:latest

注意:运行完成后容器会自动删除,适合临时整理一次。

方式三:群晖图形化部署(Container Manager)

对于习惯使用图形界面的群晖用户,操作依然简单:

  1. 打开【File Station】,在 docker 文件夹下创建 lyricflow 文件夹。

Notion image

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

Notion image

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

Notion image

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

Notion image

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

Notion image

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

Notion image

效果展示

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

Notion image

你可以去文件管理器里看看你的音乐文件夹。为了获得最佳效果,老宁建议大家按 歌手/专辑/ 的结构来整理音乐。

工具运行后,你的文件夹里会自动多出 .lrc 歌词文件和 cover.jpg 封面图:

JAVASCRIPT
/music/
├── 周杰伦/
│   ├── 七里香/
│   │   ├── 七里香.mp3
│   │   ├── 七里香.lrc      ← 自动生成的歌词
│   │   ├── 止战之殇.flac
│   │   ├── 止战之殇.lrc    ← 自动生成的歌词
│   │   └── cover.jpg      ← 自动生成的专辑封面

Notion image

这时候,你再用 Audio Station、Plex、Emby、Jellyfin 或者任何支持挂载本地目录的播放器听歌,歌词和封面就都能完美显示了!

Notion image

进阶配置:多文件夹挂载

很多朋友的音乐可能分散在不同的硬盘或文件夹里,比如一部分在“下载盘”,一部分在“仓库盘”。LyricFlow 支持同时扫描多个目录。

只需要修改 docker-compose.yml 中的 volumes 部分,将它们映射到容器内的不同子目录即可:

JAVASCRIPT
    volumes:
      # 映射第一个音乐目录
      - /share/music_downloads:/music/downloads
      # 映射第二个音乐目录
      - /share/lossless_storage:/music/lossless

这样,LyricFlow 就会同时扫描这两个文件夹下的所有音乐。

后记

开发 LyricFlow 的初衷是为了解决我自己音乐库管理的痛点,作为一个强迫症患者,看到音乐文件只有光秃秃的文件名实在是忍不了。

虽然教程里经常提到群晖,但 Docker 的魅力就在于它的通用性。无论你用什么设备,只要想整理本地音乐,这个小工具都能帮上忙。项目完全免费,也不需要复杂的 API Key 配置,希望能帮大家省下找歌词找封面的时间,把时间留给欣赏音乐本身。

如果你觉得这个小工具好用,欢迎去 GitHub 给老宁点个 Star 🌟,或者在评论区反馈你的使用体验!

我是老宁

一个热爱技术的程序员和极客,NAS深度玩家!

专注NAS相关技术分享,原创!干货!

🔻 长按扫码加微信 🔻

Notion image

觉得老宁的文章对你有帮助,记得点赞、收藏、加关注

原文地址: https://mp.weixin.qq.com/s?__biz=MzI4ODQ0MDA4MA==&mid=2247490330&idx=1&sn=cc54e7e3d268ce5a22c65d7bb8488de4&chksm=ed6810759b897cb223062b3b549cc8343f939fd86d5df927757c6137455171ca9a3d39916005&mpshare=1&scene=1&srcid=1226Gw4ulJdCJrPSWEMaz8Jg&sharer_shareinfo=390717329580a04b22e15d40d59c23db&sharer_shareinfo_first=390717329580a04b22e15d40d59c23db#rd

相关文章