Ortamınızı bilmediğim için bu yarı bir cevap ve sağladığım kod sadece örnek olarak sunuluyor - olduğu gibi çalıştırmak herhangi bir zarar vermemeli ama herhangi bir garanti veremem.
Bunun gibi görevler basit bash betikleri kullanılarak ele alınabilir, örneğin aşağıdaki örnekte sanatçı ve başlık çıkarmak için eyeD3'ü, ardından şarkı sözlerini almak için ücretsiz bir wikilyrics aynası ve yeni etiketi kaydetmek için tekrar eyeD3'ü kullanıyorum. Aynı hizmeti tekrar tekrar kötüye kullanma olarak değerlendirilebileceğinden, bu kodu başka bir şarkı sözleri API'sını aramak için kullanan herkesi teşvik ediyorum.
#!/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
Talimatlar (terminaldeki komutları çalıştırın):
- yükleyin
wget
ve eyeD3
düzenleyereksudo apt-get install wget eyed3
- yukarıdaki kodu bir dosyaya kaydedin, ör.
/home/user/lyrics_fetcher.sh
- dosyayı çalıştırmak için izin ekleyin:
chmod u+x /home/user/lyrics_fetcher.sh
- dosyayı çalıştırın (tırnaklara dikkat edin):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- ctrl+ 'ya basarak komut dosyası yürütmeyi istediğiniz zaman durdurabilirsinizc
Bu kodu Arctic Monkeys'in "AM" albümü ile kontrol ettim ve tatlı bir şekilde yaptı.
Eğer gerçekten bir kerede tüm albümleri için şarkı sözleri getirmek istiyorsanız, her dizin için bir döngü içinde komut dosyası çalıştırabilirsiniz sanırım. Yine de, bunu nihai bir çözüm olarak kullanmam - wikilyrics ve onu yansıtarak destekleyen herkes iyi adamlar ve bu cevap kötüye kullanımı değil, düşünmeyi teşvik etmek için burada.