programa CLI para baixar a arte do álbum

5

Eu gostaria de poder fazer isso:

$ pwd
/home/$USER/music/ripped_music/Monty_Python-Instant_Record_Collection
$ ls
01.The_Executive_Intro.mp3
...
16.The_Lumberjack_Song.mp3
$ mystery_command_or_script .
$ ls
01.The_Executive_Intro.mp3
...
16.The_Lumberjack_Song.mp3
album_cover.jpg
$

Em algum lugar nas entranhas do Rhythmbox, totem, etc. isso está sendo feito. Eu gostaria de poder fazer isso sozinho.

Eu não preciso de ajuda para escrever um roteiro. Eu realmente gostaria de saber se há algo como o CDDB para capas de álbuns. (Scraping albumart.org é a solução de trabalho atual.)

    
por John Baber-Lucero 29.03.2012 / 21:18

4 respostas

6

O glyrc é o programa CLI que você está procurando. Uma vez que você tenha compilado e instalado, este script fará o que você quiser

#!/bin/ksh

if [[ $# -eq 0 ]]; then
  echo "Usage: $(basename $0) music_file.mp3"
  exit 1
fi

FILE="$1"

ALBUM="$( id3v2 --list "$FILE" |sed -n 's/TALB[^:]*: *//p' )"
ARTIST="$( id3v2 --list "$FILE" |sed -n 's/TPE1[^:]*: *//p' )"

glyrc cover --artist "$ARTIST" --album "$ALBUM"

Para compilar o glyrc seguindo as as instruções do autor , você deve primeiro

sudo apt-get install libsqlite3-dev libcurl3-dev cmake libglib2.0-dev
    
por John Baber-Lucero 30.04.2012 / 01:37
1

gmusicbrowser pesquisa imagens do Google em capas de capa.

Rhythmbox , de acordo com sua FAQ , usa last.fm para fazer o download da capa. Ele costumava usar discos (de acordo com um relatório de bug em 2010 eu encontrei), mas o Rhythmbox foi banido dele.

    
por Chan-Ho Suh 03.04.2012 / 10:37
1

Isso funciona por enquanto. A menos que surja alguma maneira "oficial", a resposta será a resposta.

#!/bin/ksh

if [[ $# -eq 0 ]]; then
  echo "Usage: $(basename $0) music_file.mp3"
  exit 1
fi

FILE="$1"

SEARCHTERM="$( \
/usr/bin/id3v2 --list "$FILE" |sed -n '/^Album *: */ {
  s///
  s/ *Year: *\([^,]*\),.*$/ /
  s/  */+/g
  p
}' )"

TOP="http://www.albumart.org/index.php?searchkey="
BOT="&itempage=1&newsearch=1&searchindex=Music"
URL="$TOP""$SEARCHTERM""$BOT"

IMGURL="$(wget -O - "$URL" |grep 'View larger image' |head -1 |sed 's/^.*<a href="\([^"]*\)"  *title="View larger image".*$//')"

wget -O cover.jpg "$IMGURL"
    
por John Baber-Lucero 30.03.2012 / 14:20
1

Enquanto tentava fazer o mesmo, encontrei o Coverlovin, link e funcionou bem para mim.

Obrigado ao webupd8 por sinalizar isso.

link

    
por mdm 03.06.2013 / 13:04