Random Repeat
January 9th, 2004 11:54 amThis 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...
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...