Python 3 以及 requests。
-
运行
python3 match_music.py [你的音乐目录]
,例如python3 match_music.py ~/Music
- 程序根据文件名搜歌,需要你的文件名是
歌手 - 歌名.[mp3/flac/其它音乐格式]
格式- 有多个歌手时,歌手顺序不影响搜索结果(程序会自动排序)
- 在以下两种情况下,程序会自动匹配歌曲:
- 根据歌手和歌名,只从网易云 API 搜到了一首歌
- 从网易云 API 搜到了多首歌,但其中一首的歌手和歌名完全匹配
- 如果自动匹配失败,程序会先跳过这首歌,在其余歌曲自动匹配完成后,再让你手动选择
- 如果你的歌很多,你可以先运行程序,然后去干别的事情,等待自动匹配完成后再处理剩余的歌
- 如果有首歌没有匹配到(例如所有的选项都是错的),你可以直接按回车跳过这首歌
- 匹配结果会存在音乐目录的
music_match_records.json
文件中 - 已经匹配过的歌曲不会再次运行,如果需要重新匹配,请手动编辑
music_match_records.json
删除对应条目
- 程序根据文件名搜歌,需要你的文件名是
-
如果有些歌没有匹配到,而你知道这些歌的网易云 ID,你可以运行
python3 match_manual.py [你的音乐目录]
手动指定这些歌的 ID- 直接按回车可以跳过某首歌
-
运行
python3 download_lrc.py [你的音乐目录]
下载歌曲- 如果这首歌没有歌词,会创建一个
[歌曲文件名].nolrc
的文件作为标记,以便下次不再重复下载 - 如果这首歌的歌词没有下载过,程序会从网易云下载歌词,并保存为
[歌曲文件名].lrc
- 如果这首歌有双语歌词,程序会自动合并它们
- 但合并算法非常初级,需要双语歌词的时间戳完全相同,无法处理少数双语时间戳不同步的歌曲
- 如果需要重新下载歌词,请手动删除对应歌词文件,然后重新运行
download_lrc.py
- 如果这首歌没有歌词,会创建一个
公有领域(Public Domain)。