Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Music Media

Machine Learning and MP3s 228

dan moore writes "Students at Caltech and Harvard have developed a system that analyzes playlists and learns people's listening patterns. It then channels its knowledge into generating streams of music that the people themselves would like to listen to. Intuitive, accurate, and finally someone has done it. Check out the website to get one of the available plugins. Another interesting approach to digital music."
This discussion has been archived. No new comments can be posted.

Machine Learning and MP3s

Comments Filter:
  • Random playing (Score:5, Interesting)

    by caluml ( 551744 ) <> on Monday April 21, 2003 @08:03AM (#5772441) Homepage
    Wonder what it'll make of the fact I just load them all up and then select the random play option? :)
  • by kisrael ( 134664 ) on Monday April 21, 2003 @08:07AM (#5772460) Homepage
    I know my listening habits aren't what I want them to be, per playlist is either the songs I'be pre-assembled onto a mix of some kind, or else entire CDs, half the songs of which I don't care about that much, but I'm too lazy.

    I guess it could learn something from my mixes. But overall, this sounds like a much less useful technology than those previous "find out what other people who really like this song listen to" programs...firefly was one I think, way back in the day? Sort of like Amazon's "people who bought this CD also bought..." but on a per-song basis.
  • People change (Score:5, Interesting)

    by uberkuba ( 554839 ) on Monday April 21, 2003 @08:17AM (#5772482)
    Analysis of past choices is nice... but ultimately it will fail to play what I REALLY want to hear because it doesn't predict moods.
    This type of system of past trait analysis has failed before, hasn't it???
  • We have begun to release a series of plugins that will expand the Brain's functionality to other major media players.

    Analysis indicates that I am 99.9% likely to want to see ZhAng Ziyi in a plastic raincoat going down on Jennifer Lopez in ripped SCUBA gear (or the reverse, I'm not picky.) Now, if "the Brain" can FIND such porn for me instead of just making playlists, I might get some use out of it! Teach the damn thing to know when the women are fat and skanky so it won't download lousy porn, and I'll be sold.

    There is of course the question of our definition of self, and how it might evolve as computers become more sophisticated. The distinction between the self and the environment, when our nervous systems are physical processes influenced by and dependent on "external" factors, is fundamentally artificial.

    When I use a hammer, a tool for doing physical work, it becomes like a part of me.

    When I use a computer, a tool for doing intellectual work, should I regard it any differently?

    The music I listen to has fundamental impact on my mood, on my posture, on my creativity and critical evaluation of ideas. If I am continuously communicating with my computer regarding my taste in music, and if my computer continuously responds by playing music, it becomes difficult to draw a meaningful distinction between my computer, which is a device, and my self, which does the thinking.



  • by bcollier06 ( 667189 ) <benjamin.collier ... minus bsd> on Monday April 21, 2003 @08:35AM (#5772541)
    Wow, was I surprised to wake up and find this on the main page of slashdot ;) This program originally written by two classmates senior project at Phillips Exeter Academy last spring. I remember playing around with an early version of it as well as checking out the web page (it hasn't really changed). It appears as if one year and many cases of beer later, a lot of the kinks have been worked out. This program is great if you use it frequently enough for it to learn your preferences, or if you have a lot of downloaded music with malformed names that need correcting. I would much rather see it as a plugin because otherwise I miss out on using my favorite software stereo expander and other DSP plugins.
  • Weighted Randomness (Score:0, Interesting)

    by robbway ( 200983 ) on Monday April 21, 2003 @08:36AM (#5772544) Journal
    This sounds an awful lot like applying "weights" to music selections based on number of downloads. Doesn't Amazon have a patent on this already with their "Recommendations?"

    The problem I see with The Brain is that it doesn't seem to factor out the correlation between music availability and the number of times it's downloaded. Hence, our collective "tastes" are based on what MP3 providers are pushing down our throats.

    Example: has Top Playlists. Interspersed in the playlists are paid spots. So every fourth song or so is sponsored. This means they'll be counted as "to what people listen" more often than say, the 33rd song. If you ran The Brain on only Top Playlists, I suspect only the sponsored songs would make it to the final stream selections.
  • Listeng tastes (Score:4, Interesting)

    by eyeball ( 17206 ) on Monday April 21, 2003 @08:40AM (#5772566) Journal
    Personally my listening tastes are based on much more than what type, genre, or style of music. Most songs that make it onto my playlists are because a close friend recommends it, and that song will always (for better or worse) bring out memories of that person.

    *That* would be imposibile to substitute with a learning machine.

    I also think for a lot of people, they like a song because it's already familiar (they've subconsiously heard it in a store or a few dozen TV ads), and suddenly hit that point where they like that song and actively persue it. Unless the machine learning system were somehow able to track everything the person heard, It couldn't substite this either.
  • Re:Random playing (Score:1, Interesting)

    by Anonymous Coward on Monday April 21, 2003 @08:41AM (#5772570)
    You should also check out Last.FM [].

    A personalised 128kbps stream, you can skip the songs you dont like, it learns and your personalised stream gets better :)
  • Sounds cool, but ... (Score:5, Interesting)

    by Catiline ( 186878 ) <> on Monday April 21, 2003 @08:42AM (#5772573) Homepage Journal
    Does their logic system fail (or degrade) gracefully?

    My tastes in music are varied wildly, and I often will select a small set of my MP3s based on mood; will this system be able to determine that when I code I like to listen to classical but when playing games, alternative music is the thing? Or will it just play it all at once, unaware of the correlative patterns that would link the timing of music selection -- just mashing everything together into one massive playlist? (Given that nothing, not even time of day, can help determine what I want to hear, I have some serious doubts their system can handle my preferences as well as I do.)

    Truly "smart" programs often aren't really; the defining line I draw is how well they handle pathological cases. For example, have your dictation software transcribe the following sentence: "The village yeoman, Hugh, hewed two yews to use in the upcoming archery contest". I'm not guaranteeing it will choke, but it sure won't be pleased with you, despite the grammatical perfection of the sentence. However, any human hearing that will immediately make sense of it. Unsurprisingly, it is the simple algorythms (like naieve Bayesian statistics for spam filtering) that seem to best manage the complexity of real life while still failing gracefully.
  • Apocalyptica... (Score:3, Interesting)

    by Glove d'OJ ( 227281 ) on Monday April 21, 2003 @08:44AM (#5772578) Homepage
    There is a Nordic string quartet that plays metal songs like Metallica, etc.

    They rock, classically.

  • by __aatgod8309 ( 598427 ) on Monday April 21, 2003 @08:44AM (#5772580)
    I think the difference here is that it allows the listeners to choose what they want to listen to. As opposed to allowing the RIAA to justify it's promoting 10 artists who fit the 'hit profile' matching yesterday's 'stars'...

    Mind you, i haven't been able to get Synapse running on my machine since first hearing about it near the start of the year (under XP, despite emailing the Synapse site for help, and after two reinstalls for non-connected problems) so i'll just stick with Foobar and Winamp 2...
  • by Glyndwr ( 217857 ) on Monday April 21, 2003 @08:47AM (#5772587) Homepage Journal

    This intelligent mp3 playback stuff seems like a really good idea to me; learning algorithms can be astonishingly effective, and even if it only when I hit "next track" halfway through a song it would help. However, I'm still looking for an mp3 player I like. I really like iTunes, but it's not perfect because I only have OSX on my laptop (Linux my desktops, where I want mp3 playback most).

    Stuff I like about iTunes:

    • The integrated management software, and how if I fancy listening to a particular artist/album, I just type their name in a little box to get realtime filtering
    • It doesn't look like ass
    • Neato en-mass ID3 tag editing options
    • Fantastic visualistaions
    • Neat metadata (last played, ratings, etc)
    All I really want is a Linux player to do all this too. XMMS is small and neat but the playlist feels like a clumsy management interface after iTunes. GQMpeg seems fiddly, and xtunes is ugly. Can anyone suggest alternatives?

    Other features I want my mp3 player to have, but which I've never seen done:

    • I listen to music on shuffle a lot. What I would like to do is browse through my full mp3 list and add the next half-dozen or so tracks to the playlist, taking it out of shuffle... but only until those half-dozen tracks are played. After than I want it to go back to shuffle.
    • Intelligent gapless playback -- if the mp3 ends with no silence (think live albums), I want it to crossfade to the next track with a very short gap; otherwise, I want no crossfade. Ditto for when the next track begins with no silence. Seems like this wouldn't be too hard to code up, I may look into making a XMMS plugin one day to see if I can.
    • rsync-based synchronisation between iTunes (on my iBook) and my household fileserver. Involves knowledge of iTunes' XML files.
    • The moon, on a stick.
  • by JUSTONEMORELATTE ( 584508 ) on Monday April 21, 2003 @08:48AM (#5772595) Homepage
    Here's a short version of what I want to hear: "Something that challenges my tastes."
    Mostly, I listen to Radio 1190, [] the CU Boulder station. I'd say that I enjoy about 1 song in 4. I keep listening because I find out about local bands that I'd never hear, I hear indie bands (not just bands running on the "indie" branch of a major label) and I get DJs who love what they do. (here's where I give mad props to Milkman Dan)

    What's your spiffy MP3-scanning-neural-network-plugin going to do with me, eh?

  • by Anonymous Coward on Monday April 21, 2003 @08:49AM (#5772603)
    Seems like Adam D'Angelo is also the coder of buddyzoo []. Anyone know if he has a homepage?
  • by Glyndwr ( 217857 ) on Monday April 21, 2003 @09:09AM (#5772668) Homepage Journal
    Oh man, that's really badly written. And I previewed it several times, too.

    For a start, I do understand that Brain is supposed to be snagging stuff from the net according to my tastes; my central but utterly obscured point is that I'd rather get a player that can handly my own mp3s to my total satisfaction before getting fancy with one that can seek out new mp3s for me. Let's walk before we try to run.

    However, I think this sort of learning algorithm can be sensibly applied to my personal collection; for example, if it scores a song up slightly whenever I listen to it right through, up a lot when I select it manually, and down a lot when I skip it halfway through. Then use those scores as weights in the shuffle algorithm. The downside is that this sort of functionality needs an awful lot of data to be any good and is hard to sell to people because, out of the box, it won't do diddly squat. That is why they are better off with a plugin than a native player -- the plugin has, effectively, zero cost of entry, provided there is a plugin for your chosen player, whereas switching to a whole new player is effort with very little immediate payoff to reward it.
  • Re:People change (Score:3, Interesting)

    by AndyS ( 655 ) on Monday April 21, 2003 @09:20AM (#5772715)
    You could always hook it into a Livejournal client for rabid LJ users - since mood tends to be entered you could have that as a global or something. Set your mood and it adapts accordingly.

    Should be an easy change - maybe have mood as a sort of dock icon, and allow it to be queried by all of these applications that would then switch profile.
  • You might like Rhythmbox [] a bit better than GQmpeg or xmms but it depends how you weight your different needs. It doesn't look like ass and it has neat metadata but 1. no viz, 2. no ID3 editing, and 3, no moon on a stick.

    This is assuming a gtk2 app is acceptable, you can get it running-without-crashing for enough time to build up useful playlists and use it enough to make the metadata actually have an effect.

    If you can't, there was a fork/branch [] a while back that add's streaming management and is relatively stable.

    The lack of viz kills me - I generally run xmms and hide the ugly old winamp2x gui on its own desktop plus gtk playlist [], a sticky cd-cover [] plugin and a sticky Goom [] vis.

    For the id3 tags, I highly highly recommend EasyTAG [].

  • Re:Finally (Score:2, Interesting)

    by AssFace ( 118098 ) <> on Monday April 21, 2003 @09:23AM (#5772725) Homepage Journal
    that would be funny to have a website like this saying that your plugin would help them find music that they really like.
    and then no matter what they listen to, it just always recommends Kenny Loggins songs.

    If I had more free time and didn't already have a backlog of projects that I want to work on, I'd totally do that.
  • Re:Random playing (Score:2, Interesting)

    by AssFace ( 118098 ) <> on Monday April 21, 2003 @09:28AM (#5772743) Homepage Journal
    you are still listening to certain types of music though. so it should still work to help classify it. for instance, if you really hate country - the fact that you are randomly iterating over your own playlist doesn't mean that country will then be on the playlist.
    you are just randomly moving over songs that you like - even though you perhaps like some songs more than others - you are not likely to have many songs in there that you really dislike.
    so it sees what you like and then recommends from there.

  • by Anonymous Coward on Monday April 21, 2003 @09:31AM (#5772763)
    Yahoo!'s Launchcast Music already allows users to listen to/rate music. Your "personal station"'s music is then catered based on your user ratings of songs you have already heard.

  • prior art (Score:1, Interesting)

    by Anonymous Coward on Monday April 21, 2003 @09:39AM (#5772799)
    I think amazon has a copyright on this :) They've been extrapolating what you'd like based on your purchasing habits (and what other's bought) for years.
  • Re:cool project... (Score:3, Interesting)

    by ( 450073 ) <xanadu@[ ] ['ino' in gap]> on Monday April 21, 2003 @09:44AM (#5772829) Homepage Journal
    Geek then starts programming project to make him COOLER???

    However, if you're more a hardware guy like myself, and you're at a bar and that damn Internet Jukebox thing craps out (again...) and the moron who serviced it last forgot to lock it and you know the guts of the thing (it's a real PC in there - serial, USB, etc.) and you walk over and re-seat a couple cards and then reboot it and she gets all her music back...


    Yes, I've had to do this a couple times now (and it really does work with some of the girls!). It's OK that I do it because I'm OK friends with the bar tenders. They trust me. (and it gets me a few Sam Adams on the house...

    Sometimes it's good to be a geek.
  • by Masem ( 1171 ) on Monday April 21, 2003 @10:27AM (#5773038)
    ...for actually generating 'finite machine'-like playlists?

    That is, say I have all my music appropriate tagged for artist, year, and music type (say through MusicBrainz or something similar). Maybe each track has it's own classification for those CDs that have 'various artists' or that the artist goes into a number of different styles, or whatever. You also have tracks from some CDs that are meant to be played without a break between them ("Dark Side of the Moon" for example has a couple of tracks like this).

    Now, what I'd LIKE to do is to have my mp3 player look at the current song, then using a combination of random factors and some expert knowledge to select the next song to play as to have a nice subtle shift in music tone. Right now, the random feature in most music players could easily put up a grunge track right after a classic track, then into some 60s rock. This is not necessarily wrong, but it's a bit drastic.

    I've considered a way to build up a finite state machine of the various musical types as typically defined by the MP3 ID tags, such that each type is a state, and you can only effectively move to very related types in the FSM. (A random factor with possibly some weighting would be used to determine which state to go to: if you are currently at "80s Synthpop", you have a good chance to go to "70s Pop" or "90s Pop" and a slight chance to move to "Electronica", for example). Such a FSM would need a lot of community suggestions, and maybe the end result would require some net-lookup table as to get the current FSM status.

    So the program as I see it would look at this FSM, the artist, and other details (again, if there's a song that should follow it, it gets higher weighing), the program generates a weighted list of tracks to go to next, hits the RNG, and pulls out the next track. At which point it repeats itself. Various aspects, such as the weighting on the genre, artist, or play order, could be included. Additionally, the FSM should allow for a "completely unrelated" jump to a different genre that's not necessarily related to the current one, but with some chance as set by the user. Thus, with this program in play, if you have a good select of CD tracks, you can have the playlist progress slowly through genres, thus not having massive mood changes during the playlist, unless you have set it up as such.

    I know there are programs that can generated weighted playlists from your input , such as LongPlayer, but this only looks at your ratings, and doesn't try to do anything tricky on the list otherwise.

    Mind you, the way current MP3 players work, this would most likely be done by generating a playlist from your current song selection, which you then feed to winamp or whatever. A plugin that does this dynamically would be best, but I don't think a lot of these mp3 players have that type of ability builtin, and instead, you have programs like LongPlayer that call out to WinAmp to only play the song, LPlayer doing the playlist selection.

    Does anyone know if such projects exist yet, or is this even something the community would be interested in?

  • Hehe (Score:1, Interesting)

    by Vej ( 199488 ) on Monday April 21, 2003 @10:37AM (#5773092)
    I've done something like this on a network campus, wrote a shared file logger program people used to see what weird songs people liked to listen to.

    The funny part is ACTUALLY finding a pattern, and then confronting them with their bizarre tastes. Or, better yet, replace their favorite song with something just really random but leave the name same. Well, what else are you going to do?
  • Client/Server mode? (Score:2, Interesting)

    by Freqdog ( 655406 ) on Monday April 21, 2003 @10:47AM (#5773150)
    I typiclly stream my mp3 to multiple computers in the house.. a client server version of this software would be very usefull.. as to have a central stat list to recall.. of couse a linux version of the server side would be a must
  • by Phayyde ( 192873 ) on Monday April 21, 2003 @07:21PM (#5776945)
    Why in Gods Name do they need to open up TCP port 8541 to give me control over my own songlists when winamp is sitting there staring me in the face?

    The uninstall did NOT work. I had to find the .dll in my plugins directory and manually delete it. Only "Black Jesus" knows where else this thing installed itself in my system.

    I felt SO stupid for spending time on this. "Brain" is either some very bad engineering or it's a latent trojan.

This process can check if this value is zero, and if it is, it does something child-like. -- Forbes Burkowski, CS 454, University of Washington