Esta é uma semi-resposta, pois não conheço o seu ambiente e o código que forneço deve servir apenas de exemplo - executá-lo como deveria não causar nenhum dano, mas não posso dar nenhuma garantia.
Tarefas como essa podem ser tratadas usando scripts simples do bash, por exemplo, no exemplo a seguir, uso o eyeD3 para extrair artista e título, em seguida, um espelho wikilyrics gratuito para buscar a letra e, em seguida, eyeD3 novamente para salvar a nova tag. Encorajo todos os que usarem esse código a procurar outra API de letras, pois explorar o mesmo serviço repetidamente pode ser considerado malicioso.
#!/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
Instruções (executar comandos no terminal):
- instalar
wget
e eyeD3
emitindosudo apt-get install wget eyed3
- salve o código acima em um arquivo, por exemplo
/home/user/lyrics_fetcher.sh
- adicione permissão para executar o arquivo:
chmod u+x /home/user/lyrics_fetcher.sh
- execute o arquivo (observe as aspas):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- você pode interromper a execução do script a qualquer momento pressionando ctrl+c
Eu verifiquei esse código com o álbum "AM", do Arctic Monkeys, e foi muito bem.
Se você realmente deseja buscar letras de todos os seus álbuns de uma só vez, pode executar o script em um loop para cada diretório, eu acho. Ainda assim, eu não o usaria como uma solução final - a wikilyrics e todos que a apoiam espelhando são bons rapazes e esta resposta está aqui para promover o pensamento, não o abuso.