tinyjo: (laden coal creature)
This is one of the ways that I know I'm a geek. When I put my music onto Random Repeat, I often find myself musing on how that might actually be implemented to strike a balance between randomness and getting a balance between the songs that you hear. It's like this.

First song is easy. I pick a random song from the list, call it A, and play it.

Now I have to pick another song, and here's where the options come in. I can just repeat the first step. However, that would give us the possibility that we'd just play A again, which would be a bit dull. So, I assume that I don't want to pick the same song twice and I pick a random song from [playlist - A] - call it B.

Now in my ideal implementation, you could just iterate over that. It does contain a tiny possibility of playing ABABABAB for infinity (or indeed ABBA :) ), but it's much closer to what I intuitively think of when I think random repeat should do. What actually seems to happen though in nearly all my devices is that when I get to the end of B, the device picks another track from [playlist - AB] and iterates over this until [playlist - songs played] is empty. Then it starts again, possibly with the constraint that A cannot be the same as Z (the last song played in the previous round). Which just seems ... less random to me. Still, it's a pleasant way to while away the time while you're waiting for the bus or whatever. I wonder what my iRiver will do...

Date: January 9th, 2004 06:47 am (UTC)From: [identity profile] elleblue.livejournal.com
Maybe what you want is some kind of markov chain, so that the probability of picking a given song next is conditioned last song (or n songs) played previously.

Of course, it's not actually random then, except that at each stage, you'd be drawing from some distribution to chose a track. But you could do some neat things like increasing the probability of picking tracks with a similar mood or tempo, if you mark up your tracks accordingly.

Erm, there's also at least one paper I've seen presented recently that has something to do with picking tracks and artists and organising that kind of database, but I can't find a link to it at the moment :-( There's active academic research into track-choosing, though! There are also things like HPDJ which are even more clever, though may well require a bit more computation than the iriver could manage.

Date: January 9th, 2004 08:47 am (UTC)From: [identity profile] tinyjo.livejournal.com
I like the fact that for any geek project you can think of there are people out there somewhere who are already doing scarily complete and complex versions of it :)

Profile

tinyjo: (Default)
Emptied of expectation. Relax.

June 2020

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Expand Cut Tags

No cut tags
Page generated January 19th, 2026 01:45 am
Powered by Dreamwidth Studios

Style Credit