Esta es una semi respuesta, ya que no conozco su entorno y el código que proporciono tiene la intención de servir solo como un ejemplo: ejecutarlo no debería causar ningún daño, pero no puedo dar ninguna garantía.
Tareas como esta pueden tratarse con simples secuencias de comandos bash, por ejemplo, en el siguiente ejemplo uso eyeD3 para extraer el artista y el título, luego un espejo de wikilyrics gratuito para buscar las letras y luego eyeD3 nuevamente para guardar la nueva etiqueta. Animo a todos los que usarán este código a buscar otra API de letras, ya que explotar el mismo servicio una y otra vez puede considerarse 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
Instrucciones (ejecutar comandos en la terminal):
- instalar
wget
y eyeD3
emitiendosudo apt-get install wget eyed3
- guardar el código anterior en un archivo, por ejemplo
/home/user/lyrics_fetcher.sh
- agregue permiso para ejecutar el archivo:
chmod u+x /home/user/lyrics_fetcher.sh
- ejecuta el archivo (cuidado con las comillas):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- puede detener la ejecución del script en cualquier momento presionando ctrl+c
Verifiqué este código con el álbum "AM" de Arctic Monkeys y lo hizo dulcemente.
Supongo que si realmente quieres buscar letras de todos tus álbumes a la vez, puedes ejecutar el script en un bucle para cada directorio. Aún así, no lo usaría como una solución final: las wikilyrics y todos los que lo apoyan reflejando son buenos y esta respuesta está aquí para promover el pensamiento, no el abuso.