Search and download music album covers
Project description
Smart Automatic Cover Art Downloader
SACAD is a multi platform command line tool to download album covers without manual intervention, ideal for integration in scripts, audio players, etc.
Features
Can target specific image size, and find results for high resolution covers
Support JPEG and PNG formats
Currently support the following cover sources:
Last.fm
Google Images
CoverLib
Amazon CD
Amazon digital music
Smart sorting algorithm to select THE best cover for a given query, using several factors: source reliability, image format, image size, image similarity with reference cover, etc.
Automatically crunch images with optipng or jpegoptim (can save 30% of filesize without any loss of quality, great for portable players)
Cache search results locally for faster future search
Do everything to avoid getting blocked by the sources: hide user-agent and automatically take care of rate limiting
Automatically convert/resize image if needed
Multiplatform (Windows/Mac/Linux)
SACAD is designed to be robust and be executed in batch of thousands of queries:
HTML parsing is done without regex but with the LXML library, which is faster, and more robust to page changes
When the size of an image reported by a source is not reliable (ie. Google Images), automatically download the first KB of the file to get its real size from the file header
Use multithreading when relevant, to speed up processing
Installation
SACAD needs Python >= 3.3.
From PyPI (with PIP)
If you don’t already have it, install pip for Python 3 (not needed if you are using Python >= 3.4)
Install SACAD: pip3 install sacad
From source
If you don’t already have it, install setuptools for Python 3
Clone this repository: git clone https://github.com/desbma/sacad
Install SACAD: python3 setup.py install
Standalone Windows executable
Windows users can also download a standalone binary which does not require Python.
Optional
Additionnaly, if you want to benefit from image crunching (lossless recompression):
On Ubuntu and other Debian derivatives, you can install both with sudo apt-get install optipng jpegoptim.
Note that depending of the speed of your CPU, crunching may significantly slow down processing as it is very CPU intensive (especially for PNG files).
Command line usage
To download the cover of Master of Puppets from Metallica, to the file AlbumArt.jpg, targetting ~ 600x600 pixel resolution: sacad 'metallica' 'master of puppets' 600 AlbumArt.jpg.
Run sacad -h to get full command line reference.
Limitations
Only supports front covers
Adding cover sources
Adding a new cover source is very easy if you speak Python, you need to inherit the CoverSource class and implement the following methods:
getSearchUrl(self, album, artist)
updateHttpHeaders(self, headers)
parseResults(self, api_data)
See comments in the code for more information.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.