This livestream of the music I am listening to, that absolutely no one else cares about, goes back to the early days of the pandemic lockdown. Remember when we all started going a bit loopy and picked up weird hobbies because we were cooped up with our significant other trying not to go mental? Yeah, I didn't start baking sourdough (you can get it from the shops mate) or learning new viral dances (I'm old and fat and no one needs to see that mate), I decided to pointlessly inflict my musical taste out into the void.
Some of my earliest memories in life are of music. I've always had to have music playing wherever I am. I'm terrible at playing instruments, but I have to be around music. So when I was longing for social contact in lockdown, I tried to figure out how to stream what I was listening to like an old shitty radio station.
I looked into heaps of DJ broadcast software and discovered MIXXX. Open source DJ software that is frankly incredible in its power. Using the audio and metadata stream from MIXXX, I set up a local IceStream server and a single webpage running on nginx to display the audio and metadata to the world, it was a white page with a play button control (no one cared).
Then I needed to figure out the artwork thing. On the terrible blank webpage with a play button I stole an icestream player from a Brazilian website. It worked but because my music taste is a bit left of center, the album art it was pulling was often incorrect. I kept this same design for years because it worked, sort of. It was ugly, but functional. It meant anywhere I was I could listen to my music. (no one continued to care)
Let's get back to MIXXX though. It has a basic Auto-DJ feature that attempts to mix your music for you. Unfortunately it basically just plays a predefined list of songs and crossfading the last few seconds. It's pretty clunky and jarring to listen to. Over the years since I started, listening to this play as my background, I have tinkered with and improved the features in the Auto-DJ script to get it to the point now where it mixes based on key, BPM thresholds, pitch change and will skip as many tracks as it needs to find the right song to mix next. Hopefully we get a head nodding listening experience and no dancefloor walkoffs during a janky track transition :D
The introduction of AI and the ability to feed it my code, tell it how I wanted it improved, and then republish it has resulted in the page you are listening to and reading today. Using AI I've improved my CSS, JavaScript, and HTML knowledge, I've learned how to build my own APIs and figure out how to run them as a service. It's gone from a single .html page with a suss stolen Brazilian iframe, to this, 3 pages of code accessing 4 external and 3 internal APIs, thanks to OpenAI and my need to scream my musical taste to the void.(no one cares, but it makes me happy)
So you'll hear some funky combinations of artists that you'd be unlikely to hear on a normal radio station, mixed together in ways that surprise me every day.
Enjoy my pointless project :)
MixMasterMark
Watch Video On Youtube!