Esta é uma semi resposta, pois não conheço o seu ambiente e o código que forneço serve apenas como exemplo - executá-lo como é, não deve causar nenhum dano, mas não posso garantir nada.
Tarefas como essa podem ser tratadas usando scripts bash simples, por exemplo No exemplo a seguir, eu uso eyeD3 para extrair artista e título, depois um espelho wikilyrics livre para buscar as letras e depois eyeD3 novamente para salvar a nova tag. Encorajo todos os que usarem esse código para procurar outra API de letras, já que a exploração repetida do mesmo serviço pode ser considerada maliciosa.
#!/bin/bash
_TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'
_SRY="Sorry, We don't have lyrics for this song yet."
[ "" ] && _PATH="" || _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
Instruções (execute comandos no terminal):
- instale
wget
eeyeD3
emitindosudo apt-get install wget eyed3
- salve o código acima em um arquivo, por exemplo %código%
- adicione permissão para executar o arquivo:
/home/user/lyrics_fetcher.sh
- execute o arquivo (lembre-se das aspas):
chmod u+x /home/user/lyrics_fetcher.sh
- você pode parar a execução de scripts a qualquer momento pressionando ctrl + c
Eu verifiquei este código com o álbum "AM" da Arctic Monkeys e ele fez docemente.
Se você realmente quiser buscar as letras de todos os seus álbuns ao mesmo tempo, pode executar o script em um loop para cada diretório, eu acho. Ainda assim, eu não usaria isso como uma solução final - wikilyrics e todos que o suportam pelo espelhamento são bons e essa resposta está aqui para promover o pensamento, não o abuso.