
Journey's official live video for 'Don't Stop Believin'' performed in Houston. Listen to Journey: https://journey.lnk.to/listenYDWatch more Journey videos: h...

Alongside the day-job I've been working on the radio station's management ui, specifically how to surface problematic songs.
One check when picking the next track is whether the two songs will blend nicely. [By the time we get to this stage we've already filtered by rotation rules and identified the keys/intensity of the tracks we're interested in]
The new (audio) fingerprint system returns 500 data-points for the end of each track, and another 500 for the start (as a comparison, the legacy system uses 8 in total).
I can compare loudness profiles, bpm, onset rates, intensity levels, harmonics (hpcp values), and fade profiles across everything. Compare the end/start metrics, give everything a rating, apply a minimum threshold value, then pick the next track from those that pass.
[Actually, there’s another step, with more calculations on how often the successful combinations have played together]
For Haus' Sake w/ Atric
January 30, 2026, 10:55:00 PM UTC - GMT - Module, 1620, Copenhagen V, Denmarkhttps://floor.tips/events/e134549c-796d-43f5-aa2c-992735553694
Birthday recording online!
I recorded my set from the amazing celebration marathon about a week ago. Tune in here, and if you like it, feel free to send it onwards!
Yesterday's radio station (midtempo) work has been focused on selection filtering.
The station picks the next track on the fly, applying a series of checks and filters:
- artist rotation times
- track rotation times
- track key
- track intensity
- start-of-track's key/intensity/fade-in ramp
- end-of-track's key/intensity/fade-out ramp
- end/start of tracks harmonic match (hpcp values)
- end/start bpm and onset comparisons
- whether the last intensity change was an increase or decrease
- how many tracks in a row have we played with the same intensity
- what are the mood characteristics of the track (happy, sad, aggressive, etc)
- have we played multiple strong same-mood types in a row
It selects potential tracks into a candidate pool, starting with precise expectations, and relaxing them iteratively until it finds a combination that works. There's weighting to penalise tracks that are regularly selected together and considerations for new tracks that are added to a library that's been in use for a while.