Introduction
I love music. I love technology. What could be better then the combination of the two…but what to do?
A few years ago a purchased a new flat and was looking for some artwork to put on the wall. After some debate, I ended up mounting a set of 4 photo frames, each showcasing the album art of an album that I love (That being defined as: An album I enjoy listening end to end). An image of the wall is below, bonus points if you recognise any of the albums!
As you can obviously see, these are all static images, which got me thinking about a photo frame that dynamically displays the album art for the song I am currently listening to. After a bit of research and thinking, I decided it would be a good project to build, allowing me a chance to finally experiment with a few new emerging technologies what I have been wanting to incorporate for a while
The Plan
I plan to utilise a few technologies that I have never used before, as a way of learning something new, and to dive deeper into how they work. As a rough guide, at the time of writing I plan to use the following
Hardware
- Raspberry Pi Zero for computation, and running the required software.
- HyperPixel Square Screen - A 4 inch square display made for the raspberryPi, allowing for square album art to be shown.
- Square Photo Frame to house the setup.
Software
- Spotify Developer API for querying to get the currently playing album art.
- Nim programming language for the logic. Traditionally I would use python for this, but opting to try this with Nim to dive into the compiled language world.
Prior Art
As you would exact, any idea that you have would probably have been thought of before, and this project is no exception. Based on my research, I have found a few cases of similar projects, which I have listed below.
- The Vinyl Emulator - A project which uses NFC to play albums on Spotify. Seems to have a subreddit too.
- Sonos Album Art on Raspberry Pi Screen - A project to show the Sonos album art on a RPi screen
Whats Next
This project is too large and time consuming for one single post therefore I plan to split this project into multiple parts. Stay tuned for updates as they come.
- Part 1 - Introduction: This post!
- Part 2 - Hardware and build
- Part 3 - Software (Building the brains)
- Part 4 - Final product showcase [Coming Soon]