Spotify Scannables22 Nov 2017
My first attempt to create these was a very manual approach: I made a screenshot from Spotify on my phone (the only place where the barcode is shown), cropped the code, pasted this in a Pages-file (the Apple-equivalent of Word) and added an album cover + tracklisting I found on Wikipedia. This would take over half an hour per album!
Automatically creating album-covers with a Spotify code
In my 2nd attempt I tried to script as much of this process as I could. In addition, I decided to skip the tracklisting (keeping just the cover + Spotify code).
This means I no longer needed to print double-sided. Which in turn meant I can have the covers be printed as ‘square photos’, so they look great now!
I had to dust-off my scripting capacities and my first attempt went a bit ‘overboard’. I created a script that:
- automatically cuts the Spotify-code, the album-title and artist-name from an Android screenshot, using GraphicsMagick
- uses Tesseract (an OCR-engine) to parse the album-title and artist into text
- asks the user if the OCR was done correctly (with the option to provide a better album/artist)
- uses Glyr (a metadata search-engine for music) to get a load of album-covers
- finds the best-looking album-cover (approximately, using filesize) using the artist/album from the previous step
- pastes the Spotify-code on top of the album-cover (in two versions: with the code either in the left or right bottom-corner)
Which worked GREAT! Except that all albums returned by Glyr were kind of ‘meh’-quality. I introduced several improvements, but in the end it never was ‘great’.
You can download v1 here to play around with.
Version 2 of the Bash-script
I took my losses and re-examined my options. I found that the resolution of the cover in the Android-screenshot was actually a lot better than whatever Glyr returned. So I greatly simplified my Bash-script. Now it only:
- automatically cuts the Spotify-code and the cover from an Android screenshot, using GraphicsMagick
- pastes the Spotify-code on top of the album-cover
Optionally, you can enable Tesseract to have a cool filename as well.
Ofcourse v2 is also available to play around with.
Here’s some example albums. You can scan them with Spotify (on mobile: tap ‘search’ and then the ‘camera’ in the search bar).
I had them printed as ‘square photos’, they look great!
If you plan to do this as well, you need to convert the PNGs to JPG before you can print them, which is easy with GraphicsMagick:
for f in result/*.png; do gm convert $f -unsharp 2x0.5+0.7+0 $f.jpg; done
This adds some sharpening as well, which looks a bit nicer when printing IMHO