根据歌曲名字下载网易云音乐歌词,生成`.lrc`文件,给 osdlyrics 这个软件 使用。
mkdir ~/.lyrics
sudo cpan install JSON::Parse
sudo cpan install File::HomeDir
sudo cpan install LWP::UserAgent
About how to configure cpan mirror: Find CPAN mirrors and configure the local CPAN mirror list
CPAN mirror in China: Mirror List
git clone https://github.com/liuxueyang/netease_music_lyric ~/Desktop/netease_music_lyric
cd ~/Desktop/netease_music_lyric
perl -SC ./getLyric.pl
如果不能运行,根据错误信息,像上面那样安装对应的模块。如图:
如果想对一个目录下的所有音乐下载歌词到某目录,假设音乐目录是: `/home/username/Music`,保存歌词的目录是:`/home/username/.lyrics`,那 么可以这样:(注意两个路径是绝对路径)
perl -SC ./getLyric.pl /home/username/Music /home/username/.lyrics
如果脚本输出日志里面包含类似于:`wide character in print at …`之类的 错误,可以不用管。
在osdlyric的设置里面`assign lyric…`就可以了。同一首歌最多有三个文件:
- 歌曲名字-by-演唱者:歌词原文和翻译
- 歌曲名字-another-by-演唱者:只有歌词翻译
- 歌曲名字-ori-by-演唱者:只有歌词原文
最后效果如下:
二〇一六年十一月二十九日凌晨,初步完成。
二〇一六年十一月二十九日上午,下載歌詞原文和歌詞翻譯,並且合併兩個文件。
二〇一六年十一月三十日上午,發現顯示歌詞的軟件可以自動檢測歌詞目錄裏面 是不是包含和歌曲文件名同名的歌詞文件。所以增加一个功能:如果脚本运行的 时候带两个参数,一个是音乐文件夹的绝对路径,一个是要保存歌词的目录的绝 对路径,那么脚本会对音乐文件夹的所有音乐文件下载歌词,把包含歌詞原文和 歌詞翻譯(如果沒有翻譯,那麼就是歌詞原文)的歌詞保存成名爲和歌曲名稱相 同的文件。默认下载搜索结果的第一个的歌词文件,这样有一点不准确。但是大 部分时候是正确的,也可以字符串匹配。
二〇一七年三月十七日晚,发现带翻译的歌词处理逻辑有点问题,比如: 歌词原文应该在歌词翻译的_后面_,这样更合理。