Spying on Big Sonic Heaven
TL;DR: A little over a year ago, one of my favorite radio DJs, Darren Revell, started up a new streaming radio station named Big Sonic Heaven. I got the idea to try building a Spotify playlist collected from the music he plays. My quick & dirty program for doing that turned 1-year-old on April 24 and the playlist has collected over 2000 songs, so far.
The heyday of Big Sonic Heaven
Back in the mid-90s, a Detroit-area radio DJ named Darren Revell started a show called Big Sonic Heaven. It aired every Sunday night for "four sonic hours" on 96.3 FM with playlists full of shoegaze, dream pop, trip hop, and Britpop. Some electronica and Goth tunes often found their way into rotation, too.
It ran for about 8 years until 2003 and covered an interesting chunk of my life: from mid-college, through my first years as a bachelor, and ending around when I met the girl who I'd later marry.
So, not only does the general musical space of Big Sonic Heaven claim enormous tracts of my psyche, but I have a lot of life events scored by it as well.
Early on, I would often set up a boombox with a kitchen timer to record the show. With having to get up early for class or work on Monday mornings, I usually couldn't catch it live. But, I'd have at least part of the show ready on tape for the next day.
In the early period of the show, internet radio and MP3 downloads from the web weren't really things yet. I could sometimes find someone posting playlists from the show on LiveJournal, so I took notes on what to dig for whenever I hit the record store.
At some point after college, I managed to acquire a USB FM radio. That let me upgrade my recording rig to .wav files dumped to my hard drive. For awhile, I had some automation to burn the show overnight as a set of 30-minute-long .mp3s to a CD-RW that I could play in the car on the way to work and on my PC at my desk.
I really wish I had saved more of those recordings, though: I tended to reuse the same CD-RW every week and wiped out the previous burn. And, since HD space was at a premium back then, I didn't keep many of the shows around anyway.
Revivals of Big Sonic Heaven
And then, the show was off the air. I think Darren still ran some club nights in the Detroit area for a few years, but eventually he moved off to California and I lost track of him for a long while.
The Big Sonic Heaven shaped hole in my life kind of got filled by a few streaming stations, some of which were themselves inspired by the original. Podcasts appeared as that started to become a thing, some also inspired by Big Sonic Heaven.
In particular, I remember Strangeways Radio, Auralgasms Radio (now defunct), and I think some stations on RadioIO before it became whatever it is now.
Around 2007, I heard that Big Sonic Heaven was back on the radio on Indie 103.1 out in Los Angeles. By this point, you could stream just about any terrestrial station, so it was really cool to catch the show again! Then, that station went dark.
A year or so later, in a neat little twist, Big Sonic Heaven resurfaced briefly on Strangeways Radio. After that, it rebooted as a podcast for awhile before fading.
Then, last year - just in time for our pandemic lockdown - Darren Revell's Big Sonic Heaven re-emerged as a 24/7 streaming radio station.
Picking up old packrat habits
Probably sounds a bit dramatic, but this music has kind of gotten me through the last year. I stopped listening to my own Spotify playlists and just put on Big Sonic Heaven in my home office every day. I spent some long hours over last summer in my backyard with my phone & laptop playing the station non-stop.
The neat thing about all the returns of Big Sonic Heaven over the years has always been that Darren doesn't just lean on old playlists. Every version of the show has been a mix of classics and new stuff he's found. Given the past few years of Big Sonic Heaven revivals never quite lasting long, I started to get kind of itchy again in an amateur-archivist way.
As it turns out, it's really impractical to try recording & squirreling away a 24/7 radio stream. But, I've spent years now playing with Spotify playlists like they're mixtapes.
I even threw one together based on old copies of Big Sonic Heaven playlists that I'd dug up, years ago. Not a perfect substitute, but it worked pretty well.
I miss the age of Mashups
With this new streaming station, though, I noticed that the website added a "Recently Played" widget. I could watch that to expand my old playlist with new music. But, oh wait: Why build a playlist by hand? I can make a robot do it for me!
Some things occurred to me:
- Spotify has an API that includes search and playlist management
- I am well versed in the ways of web scraping.
Along with all this audio nostalgia, I also kind of miss the Age of Web 2.0 Mashups from 2006 or so. So, I decided to spend a little time tinkering.
What I came up with is a big hairball of JavaScript. It does the following every minute or so:
- loads the contents of a Spotify playlist into memory
- fetches the Big Sonic Heaven "Recently Played" widget
- attempts to parse the HTML into a list of artist & title pairs
- does a few arbitrary bits of cleanup from things I noticed
- tries searching Spotify for each song recently played
- filters out any songs that are already in the playlist
- adds any newly-seen songs to the playlist
- stashes failed song searches for later review
After just a few hours of tinkering and refinement, the thing was working well enough to set to running on a Raspberry PI in a tmux session and forget about it. I figured it wouldn't be too rude to either the Big Sonic Heaven web servers or the Spotify API, seeing as it only does its thing every minute.
I checked in on it after a week or so - and I was shocked to find it had assembled a playlist of over 1000 unique songs!
It wasn't perfect - occasionally it would mistake something for a Backstreet Boys song. But still, after the initial flood of songs, it would still pick up at dozen or so new songs every day I left it running over the course of about 8 months.
The only reason it didn't run for a full year was thanks to a power outage and my neglecting to restart the tmux session that had hosted it. I'm really good at forgetting about personal projects as I flit from shiny to shiny thing. But, a couple of weeks ago, it occurred to me to check on it and maybe give it a kick.
At this point, the playlist is up to 2177 songs - 160 hours and 39 minutes of music according to Spotify's count. And from a quick scroll through the songs, I'd say the script is doing pretty well at finding real hits.
Dang, this DJ's repetoire is ridiculous!
What next?
I don't really have any next steps for this thing. It turned a year old just a few days ago and it's done it's job far better than I'd imagined it would. I wanted to collect all the songs - and that's what it did! The only thing I can think of doing is to maybe tweak the script to stash a local backup of the playlist.
But, I'm a paying Spotify customer and they haven't cut me off yet. Big Sonic Heaven is still playing 24/7 and I'm a Patreon supporter. The script doesn't need any care or feeding. So, I'll probably keep it running and keep the playlist growing as long as I can.
Granted, a playlist is no substitute for a real DJ, but maybe you'll enjoy what 160+ sonic hours sounds like.