visualculture
8-Genre Music Bank (OE-002)
Overview
The “8-Genre Music Bank” (OE-002) is a device I designed to control the music that would play at a Halloween party my friends and I had in 2019.
There were several factors that motivated the design of this device. Mainly I wanted to solve some negative aspects that come with using a phone with Spotify to control the music.
The first issue with using a phone is that it belongs to someone and has way more functionality than just playing music. Whoever uses their phone to play the music becomes a de facto "gatekeeper" of the soundtrack, since they (rightfully) don't want lots of people messing with their device. The OE-002 is a dedicated, single-function physical object that anyone can interact with to influence the music playing at the party.
The second issue with a phone running Spotify is that choosing a song or playlist is quite explicit. There is the temptation to think of a specific artist or track to play, which can be somewhat limiting (there is a tendency to only play tracks you already know). And if using playlists, you can look at what tracks are in the list. I wanted a degree of mystery involved. You can choose the genres, but the specific songs are unknown until you hear them.
I also wanted to reduce the tendency to skip songs which is so easy to do while running Spotify on a phone. You get less invested in a specific track when you know it can be easily skipped. And for people not controlling the music, when the music constantly changes without a track finishing it can get annoying. My solution to this is outlined below in the skip section.
And lastly, I simply wanted to add a degree of novelty to the party. Everyone uses their phone every day to play music and do everything else. This device has physical buttons with a satisfying click and no screen.
Genre selection:
These buttons control which genres of music the device will choose from when the next song starts. They act as toggles. Pressing a genre button once will illuminate its LED. Pressing it again will turn it off. The device observes which LEDS are lit and chooses a random song from a random genre which is lit up.
The following genres are included:
- vaporwave
- synthwave
- synthpop
- minimal synth
- coldwave
- 80s
- ambient
- misc
Play/pause button:
Pressing this button pauses the music. You can press it again to resume the music.
Skips section:
As noted in the overview, this section is designed to limit the skipping of tracks. There are 3 LEDs that indicate the "inventory" of remaining skips that are available. The maximum inventory is 3. When the skip button is pressed, the current track will end and the next one will start. Also, one of the LEDs will go out. If none of the skip LEDs are illuminated, the skip button will have no effect. When a track ends naturally after playing all the way through, one skip LED will light back up, giving you another available skip in your inventory.
Technical information
At the core of this device is a raspberry pi running Spotify. Each genre button has an associated playlist on Spotify to draw the tracks from. The buttons and LEDs are situated on a PCB that I designed and milled myself from protoboard using a CNC machine. From the board there are wires connected to the GPIO pins on the rpi. The script running on the rpi listens for button presses and changes state accordingly.