163MusicLyrics 从 0 到 1 上手指南:把带时间轴的歌词批量导出成 LRC/SRT
【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major
163MusicLyrics 是一款跨平台的歌词获取工具,能从网易云音乐、QQ 音乐拉取带时间轴的官方歌词,并统一输出为 LRC 或 SRT 两种格式。它主要面向三类人:给视频配字幕的剪辑者、想给本地音乐库补全歌词的管理者,以及需要外语歌发音对照的学习者。首次使用无需任何配置,跟着下面的步骤两分钟就能拿到第一个歌词文件。
主界面:输入歌曲后,带时间轴的歌词逐行预览,可在此直接确认内容与格式。
它能解决什么
- 给视频配字幕。你拿到一段没有时间轴的歌词,需要手动对齐每个字的时间点。用 163MusicLyrics 直接导出带时间轴的 SRT,把手工对齐这一步省掉。
- 给本地曲库补全歌词。你本地有大量音频文件但缺对应歌词。用它的批量导入或目录扫描,一次性把缺失的 LRC 补齐,做本地音乐库补全歌词不用逐首查。
- 外语歌学发音。你想看外语歌的发音标注。勾选音译(罗马音)或拼音输出,就能在原文旁看到逐字对照。
- 整理封面和试听直链。你在导出歌词时想顺带留一份封面。勾选"同时下载封面与直链音频",封面和试听链接随歌词一起到手。
- 把网易云音乐歌词导出 LRC。你想把某首歌的官方歌词存成本地文件。输入歌曲后选择 LRC 格式保存,即可得到标准 LRC 文件。
安装与启动
发布版下载。去 Release 页取对应平台的编译版,覆盖 Windows、macOS、Linux,支持 win-x86 / win-x64 / linux-x64 / osx-x64 / osx-arm64 五种目标。下载后解压即可运行,不需要额外装环境。
源码运行。需要本机已装 .NET 9 SDK,然后克隆仓库进入源码目录启动:
git clone https://gitcode.com/GitHub_Trending/fo/folia-major cd cross-platform/MusicLyricApp dotnet run -c Release多平台发布。想自己出包,用仓库自带的发布脚本一次性产出各平台产物:
cd cross-platform ./publish.sh <版本号>拿到一首歌歌词的三步
批量导入本地音乐库的步骤:选中本地文件夹后自动解析其中的歌曲文件。
第 1 步 · 查询。顶部选好搜索源(网易云 / QQ 音乐)、歌词格式、搜索类型(单曲 / 专辑 / 歌单),在输入框里填查询条件。输入框接受三种形态:直接填歌曲 ID、粘贴完整歌曲页链接(工具自动识别平台)、或勾选"模糊"后按关键词搜索,结果以表格列出歌名、歌手、专辑、时长与来源平台。开启"聚合模糊搜索"后,两个平台的命中结果会合并到同一张表里。
第 2 步 · 预览。选中歌曲后,界面把带时间轴的歌词逐行渲染出来,你可以先确认原文、译文和时间轴是否对得上,再决定保存。
第 3 步 · 保存。选好输出格式与文件名规则,点保存即可落盘为 LRC 或 SRT。未命中缓存时会提示走的是网络获取,命中时提示来自本地缓存。
批量操作
批量获取有两类入口。贴链接:把多个歌曲 ID 或完整链接一起贴进文本框;扫描目录:选中本地音乐文件夹,工具自动识别其中的歌曲文件并批量导入。
节流是写死的,不可调:每批 300 首、批间隔 500ms,这是为平台限流做的保护。窗口顶部实时显示总歌数、有歌词数、保存成功数、失败数四项统计,右侧列表支持全选、删除选中、逐行查看详情。平台上没有收录歌词的歌,会显示"歌词信息暂未被收录"状态,批量保存时默认直接跳过。
歌词加工与输出
LRC 与 SRT 互转方法。"格式转换"入口是一个双向转换器:把 LRC 贴进左侧,右侧实时输出 SRT(默认时间戳HH:mm:ss,SSS);点交换按钮即可反向从 SRT 转 LRC。时间戳解析(支持[mm:ss.SSS]等多种写法)与双语行重组都在这一步完成。
六种输出类型自由组合。原文、原始译文、中文译文、英文译文、音译(罗马音)、拼音,六种可任意搭配;排列方式由交错 / 独立 / 合并控制,独立格式还能分文件保存。日语歌配罗马音对照发音、中文歌配拼音看读音,就是靠这套组合。
翻译服务接入。在设置里填入自己的密钥即可启用百度翻译(APP ID + 密钥)或彩云小译(Token),用于生成译文。
缺省规则。译文比原文短时,可选择忽略、留空行或回填原文,避免错位空行。
封面与试听直链。保存歌词时可勾选"同时下载封面与直链音频";主界面进度条支持在线播放试听直链、拖动进度,单曲模式还能把试听直链或封面 URL 单独复制到剪贴板。注意它只给试听直链,不提供 MP3 完整音源下载。
背后怎么工作
技术栈一句话:.NET 9 + Avalonia 11.3 做跨平台 UI,MVVM 用 CommunityToolkit.Mvvm,音频播放用 NAudio,日志用 NLog。源码集中在cross-platform/MusicLyricApp/下,模块职责如下:
| 模块 | 职责 |
|---|---|
| Core/Service/Music/ | 网易云、QQ 音乐两套 API 实现,共用IMusicApi接口 |
| Core/Service/Translate/ | 百度翻译、彩云小译两个翻译服务 |
| Core/Service/SearchService.cs | 把输入展开成歌曲 ID 列表,先查本地缓存,未命中再发网络请求 |
| Core/Utils/ | 时间戳解析、LRC/SRT 互转、双语行重组等歌词处理 |
| ViewModels/ 与 Views/ | 主窗口、模糊搜索、批量、格式转换、设置各界面 |
| Models/Constants.cs | 批量节奏等常量与文件名、时间戳占位符定义 |
数据流是一条贯穿始终的链路:输入(ID / 链接 / 关键词)先被展开成歌曲 ID 列表,先查本地搜索缓存,未命中才请求平台 API,命中或取回后再渲染预览或直接写文件。所有设置保存在系统 ApplicationData 下MusicLyricApp目录的MusicLyricAppSetting.json,Linux 上是~/.config,改一处全局生效。
常见问题
平台上没有这首歌的歌词怎么办?会显示"歌词信息暂未被收录",批量保存时默认跳过;这类纯音乐会拿不到歌词。
遇到"本请求需要登陆信息才可使用"?这是部分请求需要登录态,去设置里给对应平台填 Cookie(QQ 音乐、网易云各一个输入框)。
批量能再快一点吗?不能。300 首/批、批间隔 500ms 是写死的限流保护,无法调快。
公司内网跑批量要做什么?在设置里配好网络模式:系统代理 / 直连 / HTTP 代理(含账号密码)三种可选,内网环境建议用代理并填好账号密码再跑。
搜索缓存有什么用?重复查同一批歌时会明显提速。缓存目录可自定义,大小上限 1–2048 MB,默认 128 MB。
附录:常用参数
| 项 | 内容 |
|---|---|
| 克隆源码 | git clone https://gitcode.com/GitHub_Trending/fo/folia-major |
| 源码运行 | cd cross-platform/MusicLyricApp && dotnet run -c Release(需 .NET 9 SDK) |
| 多平台发布 | cd cross-platform && ./publish.sh <版本号> |
| 配置文件 | MusicLyricAppSetting.json(ApplicationData 下MusicLyricApp目录,Linux 为~/.config) |
| 文件名变量 | ${id}${index}${name}${singer}${album},函数$fillLength(content,symbol,length) |
| 时间戳格式 | LRC 默认[mm:ss.SSS];SRT 默认HH:mm:ss,SSS |
| 批量节奏 | 300 首/批,批间隔 500ms |
| 搜索缓存上限 | 1–2048 MB,默认 128 MB |
收尾
163MusicLyrics 把"查歌 → 预览 → 保存"和批量、格式转换、发音对照都收进一个窗口,从单曲到整库补歌词都能覆盖。去 Release 页取对应平台版本解压即用,或按上面的命令把源码跑起来,给你的下一首歌补上带时间轴的歌词。🎵
【免费下载链接】folia-major专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器项目地址: https://gitcode.com/GitHub_Trending/fo/folia-major
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考