整座音乐库一次配齐滚动歌词:LRCGET 批量下载实战笔记
【免费下载链接】lrcgetUtility for mass-downloading LRC synced lyrics for your offline music library.项目地址: https://gitcode.com/gh_mirrors/lr/lrcget
上个月搬家,我把存了十年的音乐整整齐齐倒进新硬盘——按"歌手/专辑"分好目录、统一改好文件名,满心欢喜地打开播放器,结果每一首歌都挂着一个"无歌词"的标签。逐首上网搜?搜到第二十首我就放弃了。后来我试了 LRCGET,一款专门为批量下载滚动歌词而生的桌面小工具:它扫描你指定的文件夹,从 LRCLIB 数据库自动匹配并下载同名.lrc歌词,让整库音乐一次性配齐。这篇文章就是我完整使用后的经验笔记。
一、动手之前,把这两件事弄明白
歌词到底是怎么"变"出来的
先别急着点按钮,理解一下它的工作方式,后面遇到问题才不慌。整个过程其实只有三步:
- 扫描:遍历你指定的文件夹(包括所有子目录),找出里面的音频文件;
- 匹配:拿着每首歌的标题、歌手、专辑信息去 LRCLIB 数据库里查询;
- 落地:把查到的歌词写成与歌曲同名的
.lrc文件,放进同一个目录。
这里有一个贯穿全文的核心理念,请先记牢:歌词文件与音乐文件同目录、同名,只换扩展名。song.mp3的歌词就是song.lrc,你不需要为歌词单独建任何目录,它也不动你的音频文件本身。哪天不想要了,删掉那个.lrc就恢复原样,随时能再下回来。
安装包怎么挑,一张表搞定
LRCGET 基于 Tauri 构建,安装包小、启动快。装之前先对照自己的系统选对包:
| 你的设备 | 装哪个 | 备注 |
|---|---|---|
| Windows | EXE 安装程序 | 需要 WebView2 组件支持 |
| Ubuntu 24.04+ / Linux Mint 22+ | deb 或 Flatpak | 官方推荐 Flatpak |
| 其他 Linux 发行版 | Flatpak 或 AppImage | 几乎都能跑 |
| macOS Intel 老款 | dmg(x64 版) | 别下错架构 |
| macOS Apple Silicon(M 系列) | dmg(aarch64 版) | M1/M2/M3 都选这个 |
💡小贴士:拿不准 Mac 是哪种芯片?点左上角苹果标志 → 关于本机,看到 "Apple M..." 字样就选 aarch64 版本。
⚠️注意:Windows 上如果遇到"打不开",多半是系统精简工具把 WebView2 卸载了;Linux 上播放没声音则大概率缺音频兼容层。这两件事的解法我放在第六节的避坑清单里,遇到再来看。
二、第一次见面:三分钟完成首次扫描
选对文件夹,就成功了一半
启动后第一件事是选择音乐文件夹。两个要点提前说:
- LRCGET支持嵌套目录,你的"歌手/专辑"两层甚至三层目录都可以放心扔给它,它会递归扫到底;
- 第一次上手,建议先选一个小目录试跑,确认整个流程顺畅后,再把完整音乐库加进来,免得首次扫描等太久。
之后想增删扫描目录,随时点右上角的⋮菜单,里面藏着几个常用入口:Manage directories(管理目录)、Refresh library(增量刷新)、Reset library and perform full scan(清空库并全量重扫)。
学会看列表里的"信号灯"
扫描完成后,主界面就是你的指挥台:顶部依次是Tracks(曲目)/ Albums(专辑)/ Artists(艺术家)三个浏览维度,右侧还有一个独立的LRCLIB标签页,用来管理你发布过的歌词和与数据库的交互。
每首歌行内都带一个状态标签,三种颜色各代表一种情况:
- 🟢Synced:已有同步歌词,播放时会跟着旋律滚动高亮;
- 🔵Plain:只有纯文本歌词,没有时间轴;
- ⚪Instrumental:判定为纯音乐,不需要歌词。
一眼扫过去,哪些歌还缺歌词、哪些已经配齐,清清楚楚。
三、重头戏:把批量下载这件事交给后台
完整操作只要四步
场景是这样的:你的音乐库里躺着几百上千首没有歌词的歌,逐首处理显然不现实——这时候就该把重活扔给后台。
- 点击右上角粉色的Download all lyrics按钮;
- 按钮会先显示 "Preparing"(构建队列),随后自动弹出下载进度窗;
- 进度窗顶部实时统计FOUND(已找到)/ NOT FOUND(未找到)/ TOTAL(总数)三个数字,下方是逐首歌的结果列表;
- 想中途收手,点灰色的STOP按钮即可,已下载的部分不会丢失。
绿字代表下载成功,红字表示该曲目在数据库里没有歌词记录,还有一部分会被自动标记为纯音乐(Instrumental)。
整个下载过程是后台排队执行的,你可以继续浏览列表、切换专辑甚至播放音乐,界面完全不会卡住。
⚠️注意:批量下载默认跳过已有歌词的歌曲,不会覆盖你手动编辑过的文件。想要强制全部重下,得去设置里切换策略(见下方)。
三种下载策略,按需选择
打开⋮→Settings,第一项 "Download lyrics for" 提供三种策略,理解之后按需选择:
| 策略 | 含义 | 适用场景 |
|---|---|---|
| All tracks (overwrite existing lyrics) | 全部重下并覆盖 | 想彻底推倒重来 |
| Only tracks without synced lyrics | 只补没有同步歌词的 | 日常推荐,补缺不打扰 |
| Only tracks without any lyrics | 只补完全没有歌词的 | 只想把"光秃秃"的歌填上 |
💡小贴士:上千首的库建议分块处理,比如按艺术家分批添加目录、每次跑几百首,既方便盯着结果,也不会让单次请求量太大。
四、自动匹配失效时,手动搜索是救生圈
批量下载再聪明,也会遇到"对不上号"的情况:比如某首歌的文件名是song123.mp3,标签信息又残缺,自动匹配自然落空。这时候别急着下结论说"数据库没有",试试手动搜索这招。
操作路径:
- 从歌曲行进入搜索入口(也可以在主界面顶部搜索框旁找到);
- 在弹窗里修改Title(标题)/ Album(专辑)/ Artist(歌手)三个字段,尽量补全信息;
- 点击Search发起查询,结果里每条都会标明是同步歌词还是纯文本歌词;
- 点开预览确认内容,再决定下载哪一个版本。
这一招专治元数据不完整导致的匹配失败,等于给自动流程加了一道人工保险。
❗避坑:搜索前尽量把歌手和专辑写准确,乱填关键词反而会搜出一堆同名异曲的干扰项。
五、听歌、导出、精修:让歌词踩着拍子
播放时歌词自动高亮
歌词下载完,总要验收一下。在列表里双击歌曲(或点击行内播放按钮)即可开始播放,底部歌词面板会随进度自动滚动并高亮当前行。配合Export按钮,你还能把歌词导出给其他播放器使用。
导出菜单支持纯文本(.txt)、同步 LRC(.lrc)与嵌入音轨三种方式;底部歌词面板播放时高亮当前行。
关于导出有两个细节值得留意:
- Embed into track(嵌入音轨)是实验功能,需要先在设置里勾选 "Enable embed lyrics option" 才会出现,而且它可能损坏音频文件,开启前务必备份整个音乐库;
- 普通的
.txt和.lrc导出非常安全,纯文本适合阅读场景,LRC 适合支持滚动歌词的播放器。
时间轴不对?进编辑器"对表"
下载的歌词偶尔会出现整体偏移,或者数据库里根本没有这首歌、需要自己补一份。从歌曲行进入编辑界面,你会看到一个专业的时间轴编辑器:
- 每行歌词左侧显示毫秒级时间戳,用
+/-按钮逐行微调; - SYNC WORD按钮可对单词做精细拆分,适合歌词和旋律节奏不齐的场合;
- PLAY支持边播边改,RESET一键撤销全部改动;
- 完成后点Save(快捷键
Ctrl+S)保存到本地。
编辑器顶部切换 PLAIN / SYNCED 两种模式,中间的歌词行列表支持逐行增删与时间戳精修。
如果你愿意把成果分享出去,Save 的下拉菜单里还有Save and Publish(保存并发布),可以把你整理好的歌词提交回 LRCLIB 数据库,让其他听众少踩一次坑。之后到主界面的LRCLIB标签页,就能看到自己贡献过的内容,也支持后续预览、修正或标记问题。
六、避坑指南:六个高频翻车现场
用了一个多月,我把自己和身边朋友踩过的坑整理成一份清单,按出现频率排序:
1. 点了下载,为什么有的歌直接被跳过?不是 bug,多半是下载策略在起作用。默认策略会跳过已有歌词的歌曲,去设置里把策略切到 "All tracks (overwrite existing lyrics)" 就能强制重下。
2. 某首歌永远显示 NOT FOUND数据库里确实没有它的歌词记录,或者歌曲信息与数据库差异过大。先用第四节的手动搜索核对一遍;仍无结果,就说明这首歌真的缺词,可以自己编辑一份再保存,顺手还能发布出去造福别人。
3. 歌词整体比音乐快/慢半拍常见于现场版、重制版等不同版本,或上传者本身的时间轴就有偏差。进编辑器,先修正首句时间戳,再逐句对齐;也可以换其他用户上传的版本试试。
4. 批量下载跑到一半失败了一堆多为网络波动或瞬时超时,不是永久失败。查看进度窗里的失败原因,稍后再点一次Download all lyrics,应用只会补下载缺歌词的曲目,不会重复劳动。
5. Linux 下播放没有声音Ubuntu / Debian 系多半缺 PulseAudio 兼容层,装一下就好:
# 解决 Linux 下音频无法播放的问题 sudo apt install pipewire-alsa6. Windows 上应用打不开LRCGET 依赖 WebView2 组件,精简版系统或"清理"脚本可能把它卸载了。重新安装或恢复 Microsoft Edge(自带 WebView2)后重启应用即可。
七、给喜欢折腾的人:源码里还能挖到什么
最后一段写给想自己动手改代码的朋友。LRCGET 的技术栈很清爽:前端 Vue 3(src目录)+后端 Rust(src-tauri目录),中间用 Tauri 桥接,数据落在 SQLite 里。整包代码克隆下来就能研究:
# 克隆源码 git clone https://gitcode.com/gh_mirrors/lr/lrcget # 安装前端依赖 npm install # 启动带热更新的开发窗口 npm run tauri dev几个值得关注的细节:
- Rust 侧按职责拆成了scanner(扫描与指纹)、parser(LRC 解析)、lrclib(与歌词服务的网络交互)、library(查询与持久化)等模块,各管一摊,读起来不费劲;
- 数据库用了一整套迁移脚本逐步演进,甚至内置了FTS5 全文搜索,歌词库大了之后查询依然飞快;
lyricsfiles表作为歌词的唯一存储源,与专注音轨元数据的tracks表分离——这让"孤儿歌词重新关联""避免重复下载"成为可能,是数据设计上很聪明的一笔;- 源码里的
ARCHITECTURE.md和LYRICSFILE_CONCEPT.md分别讲清了模块划分和自研歌词文件格式,想深入理解的人建议先读这两篇。
需要出正式安装包时,运行npm run tauri build,产物会输出到src-tauri/target/release/目录。
到这里,从装好、扫库、批量下载到精修发布,一整条路都走完了。我的建议很简单:先拿一个小文件夹试跑,养成"批量下载 → 抽查同步 → 个别精修"的习惯,你的本地音乐库很快就能全部配上滚动歌词。接下来要做的就是:倒一杯茶,点下那个粉色按钮,然后看着歌单里的"无歌词"三个字一个个消失。愿你的每一首歌,都能跟着旋律亮起来。
【免费下载链接】lrcgetUtility for mass-downloading LRC synced lyrics for your offline music library.项目地址: https://gitcode.com/gh_mirrors/lr/lrcget
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考