jhnmcknght: Professional Amateur

Quarantine Project: Album Art Embed

Quarantine has been interesting but not at all boring for me. I've been giving myself daily projects whether digital or analog (real life) so here was a fun digital one.

The Problem

Managing the album art in my music collection was a hassle. The path format of my music library is ~/Music/Artist/Album with each Album directory containing both the actual MP3 files and a Folder.jpg file containing the album art. For the sake of uniformity I kept my album art to 500x500 pixel dimensions. Where all of this became a nuisance was in transferring music to my phone (yeah, in 2020 I still listen to music from files and not entirely streaming services) the Google Photos app would lose its mind asking if I wanted to sync all of these Folder.jpg files.

The Solution

I weighed the pros and cons of writing a small piece of software in Ruby to automate what I thought would be at least a decent sized undertaking. In the process of looking into this I found a simple and elegant solution: an awesome Ruby gem called fancy_audio. Installing this is a simple matter of gem install fancy_audio from the command line.

Given that my music library is already in a clean and simple format (which I manage using Beets but that's a whole other topic), I wrote a simple Bash script that iterated over all the directories containing both MP3 files and a Folder.jpg file then executed fancy_audio --all Folder.jpg, embedding the Folder.jpg into each MP3 file for each album directory.

The End?

I haven't blogged in years and this may be both the first and last post I write here so we'll see how this goes.


Tags: #debian #linux #audio