網易雲音樂歌詞下載 C#

源碼: https://github.com/wwh1004/NLyric

NLyric

網易雲音樂歌詞自動搜索下載

可選擇登錄或免登陸下載,避免出現網易雲音樂接口異常。

網易雲音樂已屏蔽部分關鍵字,導致搜索出現異常,屬於正常現象(網易雲音樂客戶端內很多歌曲名已經打上*號)。

New: Windows用戶可以解壓後雙擊"NLyric.Win.exe"啓動GUI!!!

GUI
Windows用戶專屬GUI。

自動下載
自動下載。

匹配專輯
自動匹配專輯。

用戶選項
在非完全精確匹配到的情況下,提供用戶選項,並且按照匹配程度排序並高亮顯示。

自動更新
再次運行時,自動判斷本地歌詞是否需要更新(比如網易雲音樂上歌詞更新了翻譯,NLyric可以檢測到)。

歌詞混合
提供歌詞混合模式,同時顯示原始歌詞與翻譯歌詞。

緩存結果
第一次運行後緩存搜索結果,加快以後運行速度(會在音頻文件夾創建隱藏文件.nlyric,請勿刪除)。

使用方式

  1. 下載壓縮包(下載地址在下面),全部解壓。

  2. 進入解壓後的文件夾(內有NLyric.exe等文件),在文件夾內按住Shift,鼠標單擊右鍵,選"在此處打開命令窗口"

  3. 輸入命令"NLyric.exe -d 音樂文件夾 -a 網易雲音樂賬號 -p 網易雲音樂密碼"以登錄模式啓動,或輸入命令"NLyric.exe -d 音樂文件夾"以免登錄模式啓動(NLyric不會保存您的賬號密碼或將您的賬號密碼發送到第三方,NLyric僅會調用網易雲音樂官方API)

  4. 按照程序提示完成接下來的步驟

配置

配置文件是"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版

AppVeyor: Build status

感謝

混合歌詞的思路參考了 EHfive/Some-js-script-for-FB2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章