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...
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...
no subject
Date: January 9th, 2004 06:05 am (UTC)From:And it doesn't do this randomly, either. At least, my stereo doesn't. A few months after I first got it, I spent a morning generating random sequences and comparing them. Given 5 12-track album with 100 or so sequences generated from each, the percentage distribution for the first track played was something like:
1 15%
2 5%
3 5%
4 5%
5 5%
6 20%
7 15%
8 5%
9 5%
10 10%
11 5%
12 5%
(numbers not exact because I'm going from memory here. Point is, it wasn't random.)
I always meant to do a more thorough analysis of the full sequences (particularly because I'm almost sure that there's some kind of 'if the previous track is 7, the next track is more likely to be 2' effect going on), or at least give the dataset to someone who was capable of doing so, but I never got around to it...
no subject
Date: January 9th, 2004 08:43 am (UTC)From: