This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[Feature suggestion] Smooth dynamic playlists with suggested songs

Tags: None
(comma "," separated)
pas1001
Registered Member
Posts
1
Karma
0
I have a couple of questions first, and then some thoughts about how dynamic playlists could be extended to generate 'nice' smooth playlists in Amarok 2. First the questions:

- I enjoyed the feature in Amarok 1.x which used last.fm to generate a 'suggested songs' dynamic playlist, and that tended to be my setting of choice when I couldn't be bothered to choose which album to play next. Does anything similar exist in Amarok 2.0? I can't seem to find it.

- Does Amarok 2 yet implement labels (tags) for tracks? In Amarok 1.4, this worked particularly well when used with the synctags script.

I'm enjoying Amarok 2.0 (modulo various UI quirks which will hopefully get ironed out over time), and very much like the direction in which dynamic playlists are heading. I've also been playing with the music explorer script, which needs more work but is already great to use - I hope that the Amarok developers will add in the extra hooks needed for it to work really well (see the script's TODO list), or building more support for cleverer playlists, which is where I'm going with this post.

The current dynamic playlists are great for setting GLOBAL properties of a playlist: the fraction of songs of a particular type, or the distribution of tracks around a specified property, but to generate 'nice' smooth random playlists, it would also be great also to be able to specify LOCAL properties i.e. the similarities between neighbouring tracks. A simple implementation could consider 1-neighbourhoods (the first derivative), but one could also envisage n-neighbourhoods (higher derivatives), which could specify a certain 'smoothness'  to the playlist i.e. restricting not just how big a change there could be between tracks, but also how rapidly the direction could change. I can think of any number of ways in which track 'similarity' could be defined, for example genre, date, speed, last.fm suggestions, or music explorer co-ordinates. The one I am interested in experimenting with at some point is similarity of labels (hence the questions above).

Remember that these settings would only define the local properties of the playlist. My idea is that when Amarok needs to add a new track to the dynamic playlist, it selects the new song not merely according to the other (global) properties, but it also takes into account the previous track (or tracks) and makes sure that the chosen new track also obeys any local properties so that neighbouring tracks are similar (according to the chosen criteria). These critera could perhaps be selected via a new tab on the Dynamic Playlist tab labelled 'Track Change Bias' or 'Track Similarity'.

For example, one could imagine setting up a dynamic playlist with no global properties, but the requirement that tracks be similar in date. You could seed this with some ABBA and the playlist could then take you for a random walk through the 70s tracks in your collection, before moving smoothly into the 80s (or maybe the 60s). Or you could create a rock playlist which might gradually move into pop and then dance. Or maybe head off into heavy metal instead - but that's the fun of it!

I see this as one area that would be ripe for contributions from script writers. It would be great to have a plentiful - and extensible - set of similarity metrics which would give people even more ways to explore their music collection with Amarok.

I'd love to see some feedback or discussion of this idea, particularly from the Amarok developers.
migish
Registered Member
Posts
1
Karma
0
This is exactly the type of thing that gets me all excited. And one could think of endless uses and possibilities. For example being able to set 'waypoints' (reference songs) and have the dynamic playlist generate intermediate tracks so that changes are subtle and meaningful would be extremely useful when using amarok for parties.

Obviously Amarok developers have more fundamental issues to work on right now for 2.0, but it is a feature worth waiting for (if implementable at all).

Thanks for the great work.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Yahoo [Bot]