While those suggestions have merit of course, I am not sure that we can easily achieve a high-quality ‘xShuffle’ feature. The obvious way of improving the shuffling would of course be – as passé as it seems to some – the use of metadata. Just give iTunes a good classification of songs and it might be able to stay within categories, within the same speed, even in the same key.
But as always the big problem here would be generating said metadata. I have around 4000 songs on my hard drive. I started ripping my CDs before CDDB services were a commodity. Many of my library’s meta data have been quite a pain to get there. And that’s just the basic information – no fine grained categorising (which I don’t believe in), no speed information &c.
Secondly, even if you have a lot of meta data, it has to be correct. Particularly when it comes to categorising music, people have vastly different opinions on how that should be done. Thirdly, most easy to achieve ways to use meta data – not wildly jumping between genres and speeds, say, just won’t cut it.
So I wonder whether a ‘statistical’ approach wouldn’t be more helpful. Of course that would also involve some meta data on the level of song identification. But after that you could try to analyse what people generally like and what a metric on the space of songs would look like. Just like Audioscrobbler or musicplasma try to do.
But getting that ‘right’ will probably require a lot of collecting data and very good algorithms. Thus it’s probably an expensive thing to do. Which in turn keeps me from holding my breath until Apple release ‘xTunes’ your professional grade DJing software.
The ‘sound check’ function modulates your library, initially, and on-the-fly. Incorporating a beats-per-minute feature —at least— would greatly increase the usefullness of the Shuffle function. Combined with some sort of pitch-control, hell, DJs might just like that stuff.
I’ve talked about this before, re: the iPod. And I can understand a metadata inertia on this stuff, expecially with overloading the data from ID3 tags and what-not. Beating the drum again, if ITunes is going to scan the sound file for volume undulations, it wouldn’t be too hard to garner more info which shufflers like myself might find useful.
As for the statistical approach, I think averages and data smoothing could create odd problems when it comes to matters of taste. :)
I also thought it should be possible to extract BPM information from the sound files themselves. This looks like an obvious thing to do. Yet, there isn’t a program that does it yet. So I suppose it isn’t all that easy to do reliably.
When doing the statistics you might need to bias the way they work using your own taste. On the other hand on parties you may want to play music for the ‘popular’ taste…
Or perhaps download a profile of every guest and skew your statistics using that (insert privacy paranoia here).l
Yet, there isn’t a program that does it yet.
Traktor DJ Studio has that feature, although the program is expensive. I’m sure the cheaper DJ software alternatives have developed a methodology.
Received data seems to be invalid. The wanted file does probably not exist or the guys at last.fm changed something.