To pół-odpowiedź, ponieważ nie znam twojego środowiska, a kod, który podam, ma służyć jedynie jako przykład - uruchomienie go w takim stanie, w jakim jest, nie powinno wyrządzić żadnej szkody, ale nie mogę dać żadnej gwarancji.
Takie zadania można rozwiązać za pomocą prostych skryptów bash, np. W poniższym przykładzie używam eyeD3 do wyodrębnienia artysty i tytułu, następnie darmowego lustra wikliki, aby pobrać teksty, a następnie eyeD3 ponownie, aby zapisać nowy tag. Zachęcam każdego, kto użyje tego kodu, do wyszukania innego interfejsu API tekstów piosenek, ponieważ ciągłe wykorzystywanie tej samej usługi można uznać za złośliwe.
#!/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
Instrukcje (uruchamiaj polecenia w terminalu):
- zainstaluj
wget
i eyeD3
wydającsudo apt-get install wget eyed3
- zapisz powyższy kod w pliku, np
/home/user/lyrics_fetcher.sh
- dodaj uprawnienie do uruchomienia pliku:
chmod u+x /home/user/lyrics_fetcher.sh
- uruchom plik (pamiętaj o cudzysłowach):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- możesz zatrzymać wykonywanie skryptu w dowolnym momencie, naciskając ctrl+c
Sprawdziłem ten kod z albumem „AM” Arctic Monkeys i zrobiło to słodko.
Jeśli naprawdę chcesz pobrać teksty do wszystkich swoich albumów naraz, możesz uruchomić skrypt w pętli dla każdego katalogu. Mimo to nie użyłbym tego jako ostatecznego rozwiązania - wiki i wszyscy, którzy wspierają go przez tworzenie kopii lustrzanych, są dobrymi facetami, a ta odpowiedź ma na celu promowanie myślenia, a nie nadużycia.