源碼: https://github.com/wwh1004/NLyric
NLyric
網易雲音樂歌詞自動搜索下載
可選擇登錄或免登陸下載,避免出現網易雲音樂接口異常。
網易雲音樂已屏蔽部分關鍵字,導致搜索出現異常,屬於正常現象(網易雲音樂客戶端內很多歌曲名已經打上*號)。
New: Windows用戶可以解壓後雙擊"NLyric.Win.exe"啓動GUI!!!
Windows用戶專屬GUI。
自動下載。
自動匹配專輯。
在非完全精確匹配到的情況下,提供用戶選項,並且按照匹配程度排序並高亮顯示。
再次運行時,自動判斷本地歌詞是否需要更新(比如網易雲音樂上歌詞更新了翻譯,NLyric可以檢測到)。
提供歌詞混合模式,同時顯示原始歌詞與翻譯歌詞。
第一次運行後緩存搜索結果,加快以後運行速度(會在音頻文件夾創建隱藏文件.nlyric,請勿刪除)。
使用方式
-
下載壓縮包(下載地址在下面),全部解壓。
-
進入解壓後的文件夾(內有NLyric.exe等文件),在文件夾內按住Shift,鼠標單擊右鍵,選"在此處打開命令窗口"
-
輸入命令"NLyric.exe -d 音樂文件夾 -a 網易雲音樂賬號 -p 網易雲音樂密碼"以登錄模式啓動,或輸入命令"NLyric.exe -d 音樂文件夾"以免登錄模式啓動(NLyric不會保存您的賬號密碼或將您的賬號密碼發送到第三方,NLyric僅會調用網易雲音樂官方API)
-
按照程序提示完成接下來的步驟
配置
配置文件是"Settings.json",自己修改即可
默認配置:
{ // 所有匹配都是忽略大小寫的!!!
"Search": { // 搜索設置,在每一次搜索生效
"AudioExtensions": [
".aac",
".ape",
".flac",
".m4a",
".mp3",
".ogg",
".wav",
".wma"
], // 會被識別爲歌曲的擴展名
"Separators": "|;,/\\&:", // 分隔符,用於分割歌手名
"WholeWordReplace": {
"sh0ut": "shØut",
"あやぽんず*": "あやぽんず",
"あやぽんず*": "あやぽんず"
}, // 前面是被替換的詞,後面是要替換成的詞,比如歌名"sh0ut",搜索的時候會被替換成"shØut"來搜索,網易雲音樂部分歌曲歌手名收錄有問題,只能這麼辦
"Limit": 15 // 搜索結果數量
},
"Fuzzy": { // 第一次搜不到或者匹配失敗的情況下,是否進行模糊搜索與匹配
"TryIgnoringArtists": true, // 忽略藝術家
"TryIgnoringExtraInfo": true, // 忽略 括號/空格 + Cover/feat. 之後的內容,支持的括號類型在Filter.OpenBrackets裏
"ExtraInfoStart": " ([{【〖", // 空格和左括號等之後的內容會被過濾,注意,不要隨便修改這裏的內容,可能導致過濾準確性降低
"Covers": [
"Cover",
"カバー"
], // Cover的各種寫法
"Featurings": [
"feat.",
"ft."
] // Feat.的各種寫法
},
"Match": { // 匹配設置,在搜索到歌曲信息之後,程序會通過自己的算法再次確認是否匹配
"MinimumSimilarity": 0.65, // 匹配時的最小相似度,小於設定值的將不予顯示,0~1
"CharReplace": {
"\u00B7": "\u002e",
"\u0387": "\u002e",
"\u05BC": "\u002e",
"\u2022": "\u002e",
"\u2027": "\u002e",
"\u2219": "\u002e",
"\u22C5": "\u002e",
"\u30FB": "\u002e",
"\uFF65": "\u002e",
// .
"\uFF0A": "\u002A",
// *
"\uFF01": "\u0021",
// !
"\uFF1A": "\u003A",
// :
"\u005B": "\u0028",
"\u007B": "\u0028",
"\u3010": "\u0028",
"\u3016": "\u0028",
// (
"\u005D": "\u0029",
"\u007D": "\u0029",
"\u3011": "\u0029",
"\u3017": "\u0029"
// )
} // 前面是被替換的字符,後面是要替換成的字符,只支持單個字符替換,意思就是一個文字,多個文字會報錯
},
"Lyric": {
"Modes": [
"Merged",
"Raw",
"Translated"
], // 歌詞模式,依次嘗試每一個模式直到成功,Merged表示混合未翻譯和翻譯後歌詞,Raw表示未翻譯的歌詞,Translated表示翻譯後的歌詞
"SimplifyTranslated": true, // 部分翻譯後的歌詞是繁體的,這個選項可以簡體化翻譯後的歌詞
"AutoUpdate": true, // 是否自動更新由NLyric創建的歌詞
"Overwriting": false // 是否覆蓋非NLyric創建的歌詞
}
}
下載
GitHub: .NET Framework版(Windows請下載這個) .NET Core版
感謝
混合歌詞的思路參考了 EHfive/Some-js-script-for-FB2