rexstout / abcde

Automatically exported from code.google.com/p/abcde
GNU General Public License v2.0
0 stars 0 forks source link

Enhancement: album art #33

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Support for fetching & embedding album art would be great!

Original issue reported on code.google.com by troycau...@gmail.com on 17 May 2010 at 12:25

GoogleCodeExporter commented 9 years ago
Embedding where?  In the FLAC file or as a jpeg in the directory?

Also, does CDDB support album art these days or how would you obtain the 
information? 
(fwiw, musicbrainz should have the info we need).

Original comment by t...@cyrius.com on 17 May 2010 at 5:52

GoogleCodeExporter commented 9 years ago
I meant embedded as tags in the mp3/flac/whatever.  Other people
would probably be happy with a .jpg in the album directory.

If I could find a command-line tool for finding & embedding,
I'd tackle the abcde script mods myself.  But I've had no
luck.

Original comment by troycau...@gmail.com on 17 May 2010 at 6:06

GoogleCodeExporter commented 9 years ago
Do you know if there is a standard way how people encode cover art as tags with 
mp3/ogg/flac?

Original comment by t...@cyrius.com on 17 May 2010 at 10:43

GoogleCodeExporter commented 9 years ago
For MP3s there is an id3v2 'APIC' tag that is used.
I don't know about the others.

I have many MP3s with album art inserted by various graphical tools.
Here's the id3v2 output of one:

$ id3v2 -l 01*
id3v1 tag info for 01.Whatever.mp3:
Title  : Whatever                        Artist: Ani DiFranco                  
Album  : Living In Clip (Disc 1)         Year: 1997, Genre: Unknown (255)
Comment:                                 Track: 1
id3v2 tag info for 01.Whatever.mp3:
TALB (Album/Movie/Show title): Living In Clip (Disc 1)
TPE1 (Lead performer(s)/Soloist(s)): Ani DiFranco
TIT2 (Title/songname/content description): Whatever
TYER (Year): 1997
TRCK (Track number/Position in set): 01/16
APIC (Attached picture): ()[, 0]: image/png, 202738 bytes

I've also seen "image/jpeg".  

Original comment by troycau...@gmail.com on 18 May 2010 at 7:46

GoogleCodeExporter commented 9 years ago
Thanks for the info.  BTW, I should point out that I'm not an abcde developer; 
just 
an interested bystander.

I'm working on MusicBrainz support for abcde at the moment.  With this, you can 
obtain the Amazon ASIN and then download the covert art from Amazon.  I've done 
this 
yesterday (will publish patches soon).

So maybe you could figure out the best way to embed the image once it's 
downloaded.

Original comment by t...@cyrius.com on 18 May 2010 at 8:28

GoogleCodeExporter commented 9 years ago
And just to confirm, does this embed the cover art into every MP3?

Original comment by t...@cyrius.com on 18 May 2010 at 8:30

GoogleCodeExporter commented 9 years ago
I cannot figure out how to do it with id3v2, but eyeD3 can do it:

eyeD3 --add-image foo.jpg:FRONT_COVER bar.mp3

Original comment by t...@cyrius.com on 19 May 2010 at 7:31

GoogleCodeExporter commented 9 years ago
If you just want the album art in the directory, there are two simple(ish) ways 
of doing it.

1) Screen-scraping albumart.org using this script 
http://www.ludicrous-speed.com/wiki/index.php?title=How_To_Download_Album_Cover_
Art
2) Using the AllCDCovers.com API http://www.allcdcovers.com/api
3) Using the FreeCovers API http://www.freecovers.net/api/

The screen scraping is probably the easiest to integrate - although I'm not 
sure the above script works reliably.
AllCDCovers requires API signing
FreeCovers is probably the easiest to implement.

Not sure how to deal with multiple hits - unless using ASCII art is a 
possibility ;-)

Original comment by terence.eden on 29 Apr 2011 at 2:04

GoogleCodeExporter commented 9 years ago
#!/bin/bash -e
# freecovers.sh
#
# This script fetch the cover art for the album path provided on the command 
line.
# It will download the cover art from freecovers.net, and place it into the 
album path.
#
# Usage
# freecovers.sh <relative-path>
# 
# freecovers.sh The\ Beatles/Get\ Back

# The path passed as an argument
dpath="$1"

# Escape any special characters
encoded="$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$dpath")"

# FreeCovers doesn't like the %2F (/) so let's just replace it with a %20 ( )
corrected=`echo $encoded | sed s/2F/20/g`

# If the cover already exists, skip
if [ -f "$dpath/cover.jpg" ]
then
echo "$dpath/cover.jpg already exists"
exit
fi
# Let the user know what's going on
echo ""
echo "Searching for: [$1]"

# Full documentation http://www.freecovers.net/api/
url="http://www.freecovers.net/api/search/$corrected/Music+CD"
echo "API Call [$url]"

# Very lazy. Look for the first big.jpg 
# There may be multiple covers returned - this only grabs the first one
coverurl=`wget -q -O - "$@" $url| grep -o -m 1 -i 
'http:\/\/www\.freecovers.net\/preview\/0\/[a-z0-9]*\/big.jpg'`
echo "Cover URL: [$coverurl]"

# Save the file
wget "$coverurl" -O "$dpath/cover.jpg"

Original comment by terence.eden on 29 Apr 2011 at 3:27

GoogleCodeExporter commented 9 years ago
Here is the patch against abcde-2.4.2 with basic cover download functionality 
(no cover embedding) it adds "cover" to list of supported actions.
Cover download utility itself is based on Google image search and is very dumb.

Original comment by cds...@mail.ru on 3 Jun 2011 at 3:17

Attachments:

GoogleCodeExporter commented 9 years ago
Is there a better way to do the lookup? It sounds a little scattershot...

Original comment by EinvalSl...@googlemail.com on 20 Apr 2012 at 2:54

GoogleCodeExporter commented 9 years ago
Good afternoon. I have written a patch to abcde2.5.4 to perform album art 
downloading. It gives the end user the chance to provide a path or url to 
appropriate cover art (it does not do the searching for the user). If the user 
enters a path or url the image file will be downloaded and saved in the target 
folder (the same one as the play list is used). It also embeds the image into 
an APIC tag on every mp3 file (I have not yet done the other formats). I have 
tested that an album ripped to mp3 with cover art included imports and reners 
correctly within iTunes version 11. I've attached my patch here but I will also 
a patch emails to the mailing list.

Original comment by goo...@jelmail.com on 25 Jan 2013 at 1:50

Attachments:

GoogleCodeExporter commented 9 years ago
Further to my comment yesterday, I now have this working for Flac and Ogg 
Vorbis tagging of album art.

Original comment by goo...@jelmail.com on 26 Jan 2013 at 1:21

GoogleCodeExporter commented 9 years ago
> Further to my comment yesterday, I now have this working for Flac and Ogg 
Vorbis tagging of album art.

Can you attach your latest patch?

Original comment by t...@cyrius.com on 29 Jan 2013 at 10:16

GoogleCodeExporter commented 9 years ago
Here's the latest patch. I've also put my repo up on Github in case it helps:
https://github.com/johnlane/abcde.git

Original comment by goo...@jelmail.com on 31 Jan 2013 at 4:34

Attachments:

GoogleCodeExporter commented 9 years ago
+1 here.  But all I'd like is for abcde to grab the cover art if possible, 
since verifying the cover.jpg is dependent on X/Xorg!

Some people might not want the cover.jpg to be embedded within the tags as it 
will make the filesize larger.

Preferably, I just grab the cover.jpg from the Internet and copy to the root 
folder of the album as cover.jpg.  From here, most computer software players 
will recognize this.  Portable (OGG/MP3) devices might not be able to view the 
(embedded) cover.jpg due to having no graphics capability.  Also, some players 
may encounter streaming or playback issues because of the added file size.  A 
good example of this is audiophiles having issues playing back FLAC vs WAV/PCM 
files. ;-)

Original comment by rogerxx@gmail.com on 3 May 2013 at 1:59

GoogleCodeExporter commented 9 years ago
Musicbrainz has metadata for album art now, linking to archive.org.  It's well 
integrated into the website.

Original comment by snurgle@gmail.com on 18 Feb 2015 at 3:46