Monday, June 30. 2008Weekly Update, Secret Plans Divulged, &c
I've been struggling with how to describe what I've been working on succinctly in conversation. I figure I can get about two sentences in before I start getting blank stares and eye rolls. I've been using something like this:
You know how when you put your ipod on shuffle, it magically knows what you want to listen to next? It's a little like that, but completely customizable, and instead of magic it uses a stochastic optimization algorithm. Then they say something like "Hmm", or "Interesting," and then there's a long uncomfortable silence until someone changes the subject. "Can you believe this weather we're having?" This is Week 2 or so for me, and forgoing things like "sleep" and "food", I've made some significant progress. The core of the bias code is written and more or less works. Random mode in working just dandy and if you're running the nightly or svn of Amarok 2, you can find it under the Playlists tab hiding out at the bottom. Since the bias code is written and works, this is a good time to talk about my secret plan. When a I first proposed biased playlists, I described biases as the chance that track has a certain property. Like "30% chance the next track is Jazz". I even made an aesthetically appalling mockup to show what I meant: ![]() The secret is, that I've designed it to be much more general than that. A bias is any function that maps a playlist to a value in [0,1]. The solver will then try to find a playlist where all the biases are at 0. Blank stares, eye rolls. "Can you believe this weather we're having?" The point is: biases can do a lot more that what I described previously. Really, they can impose any kind of restriction on the random playlist being generated. For instance, Suggestion Mode, where the next track is from a similar artist as the previous, can be implemented as a bias. If Suggestion Mode is just a bias, it can be combined with other biases. We could do Suggestion Mode + 30% Metal + 70% pre-1990, and it will do its best to find a playlist that matches fits. It there is no such playlist, it will just give you the best it can come up with. This also really important because it lets us use fuzzy biases like: "arround 1976", "about 3 minutes", or "hasn't been played in a while". Presumably, users could script their own biases, doing wacky things so playlists are random but tracks have increasing lengths, follow an obscure integer sequence, or their titles spell out a secret message. The next few weeks i will mostly be concentrated on tweaking and optimizing the solver and working on an easy way to create biased playlists. There's a lot of work ahead, but I'm very excited with how it's gone so far. Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
This is a key feature that will keep amarok as my player of choice for all parties.
This will be killer when complete. I've already thought of a great bias:
"prefer to play tracks so your last.fm top 50 artists graph will trend towards a negative exponential curve"
I think this will be really cool when complete. In the beginning I was a bit worried about us loosing the old way of doing dynamic playlists, but as far as I can tell, this is pretty much a superset of the functionality of the 1.4 series. And while we should be able to do dynamic playlists that correspond well to the 1.4 equivalents, it will also be capable of so much more!
I am really looking forward to when I can create my own biases that span several collections/services!
Sounds great !
Will there be a way to ask for : "Any not rated song which is in an album with at least one rated songs" ? I couldn't find how to do this on amarok 1.4
Way to go....Looking forward to this great feature....already new biases popping in my head
This is awesome! Other than this. I want one more feature for Amarok at the internet tab. Can someone integrate TheSixtyOne it's a very very good service along with Jamendo and Last.fm(!). ( Sorry I didn't know where to send an email about that
Please file a bugreport about it on bugs.kde.org. Add as much information as possible to it. What is this service? Do they provide an API? and so on
We will surely have a look at it then
I emailed them if the can provide an API. To the point. TheSixtyOne is a site where you discover music. It very funny, you can damp ( as in last.fm love ) a track and you gain points if this track goes well you have to "pay" thought some of the points you already have in order to do so. Email me for anything else because I'm way off-topic
can we get something like: 50% tracks with a last.fm tag of "riot grrrl"?
it would be nice to get your hands on allmusic.com's moods or themes meta data (which will probably never happen but could be solved by some create scraping)
i must say that this sounds really cool. ive been really impressed with the kde teams with the release of 4, since you all are striving to provide novel but impeccably designed applications. instead of just releasing a few new programs, youve stepped up and shown why amarok and kde can be the frontrunners in the race forwards, leaving the considerable number of underperformers in the dust.
thanks!
Commendable effort Daniel. Do you know about MusicIP Mixer? They have a different approach - they actually analyze the music to make recommendations. You might want to check it out: http://www.musicip.com/plugins.jsp
If you talk to the folks who made it, they might even team up with you to create a similar plugin for Amarok. They already provide support for Linux. I certainly will look forward to a combination of both these approaches. Amarok is my favorite player. Kudos to you guys! It rocks. Keep up the great work. |
Amarok LinksCalendar
QuicksearchCategoriesSyndicate This BlogBlog Administration |
||||||||||||||||||||||||||||||||||||||||||

