Ini adalah jawaban semi karena saya tidak tahu lingkungan Anda dan kode yang saya berikan dimaksudkan untuk berfungsi sebagai contoh saja - menjalankannya sebagaimana seharusnya tidak membahayakan, tetapi saya tidak dapat memberikan jaminan apa pun.
Tugas seperti ini dapat diatasi dengan menggunakan skrip bash sederhana, misalnya dalam contoh berikut ini saya menggunakan eyeD3 untuk mengekstrak artis dan judul, kemudian mirror wikilyrics gratis untuk mengambil lirik dan kemudian eyeD3 lagi untuk menyimpan tag baru. Saya mendorong setiap orang yang akan menggunakan kode ini untuk mencari API lirik lain, karena mengeksploitasi layanan yang sama berulang kali dapat dianggap berbahaya.
#!/bin/bash
_TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'
_SRY="Sorry, We don't have lyrics for this song yet."
[ "$1" ] && _PATH="$1" || _PATH=$PWD
cd $_PATH
for _FILE in {*.mp3,*.m4a}; do
if [[ -r $_FILE ]]; then
_SONG=$(eyeD3 --no-color "$_FILE" | grep title)
_ARTIST="${_SONG#*"artist: "}"
_TITLE="${_SONG%"artist: "*}"
_TITLE="${_TITLE#"title: "}"
echo -n "$_ARTIST - $_TITLE"
_ARTIST="${_ARTIST// /+}"
_TITLE="${_TITLE// /+}"
_URL="${_TPL//"<artist>"/$_ARTIST}"
_URL="${_URL//"<title>"/$_TITLE}"
_LYRICS=$(wget -qO- $_URL)
if [ "$_LYRICS" != "$_SRY" ]; then
eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null
else
echo "No lyrics found... skipping!"
fi
fi
done
cd $OLDPWD
Petunjuk (jalankan perintah di terminal):
- instal
wget
dan eyeD3
dengan menerbitkansudo apt-get install wget eyed3
- simpan kode di atas ke file, mis
/home/user/lyrics_fetcher.sh
- tambahkan izin untuk menjalankan file:
chmod u+x /home/user/lyrics_fetcher.sh
- jalankan file (ingat tanda kutip):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- Anda dapat menghentikan eksekusi skrip kapan saja dengan menekan ctrl+c
Saya memeriksa kode ini dengan album "AM" oleh Arctic Monkeys dan hasilnya sangat manis.
Jika Anda benar-benar ingin mengambil lirik untuk semua album sekaligus, Anda dapat menjalankan skrip dalam satu lingkaran untuk setiap direktori, saya kira. Namun, saya tidak akan menggunakannya sebagai solusi akhir - wikilyrics dan semua orang yang mendukungnya dengan mirroring adalah orang baik dan jawaban ini ada di sini untuk mempromosikan pemikiran, bukan penyalahgunaan.