MusicIP Mix handles huge mp3 libraries better than WinAmp [Abandonware]

let me get this out there: i love winamp.  i’ve been using it since its’ inception.  i used to listen to tag’s trance shoutcast station back in the day (tag is/was one of the winamp devs and was responsible for a lot of the visualizations that come bundled with winamp).  i’ve tried many, many other music apps, but i always come back to winamp because nothing else has anything on the extensibility possible through winamp plugins.  pretty much if you want it done, it can be done in winamp.  nothing else comes close.

recently i discovered winamp’s built-in playlist generator.  basically, the brains behind itunes’ genius playlist generator (which i also ♥) is gracenote, and winamp’s playlist generator also invokes gracenote to produce awesome, relevant playlists.  the handful of people who actually read and follow this blog will know that i’m a bit of a snob when it comes to playlists/mixes.  for instance, it drives me nuts when we’re in a store or on the few occasions i’m listening to the radio and they put, say, Nirvana next to something like Tori Amos or Bjork.  having been a dj at parties, there’s a certain flow that needs to happen in good mixes, where one track leads to the next and there aren’t abject disruptions that throw the whole thing off.  you can hear it in a good Oakenfold cd like Tranceport or Perfecto Presents Another World.  They don’t need to be the same genre, it just needs to flow.  as a dj, i learned this first-hand, and i learned how to adapt the playlist to the mood of the crowd.  when the floor started to empty, it was time to throw on a couple tracks that were sure to get people dancing.  in an 80s set, my ace was always “take on me” by a-ha.  in a goth set, it would be something like “closer” by nin, or “cities in dust” by siouxsie.

so i’m pretty discriminating in my random playlists.  when i want random, i don’t actually want random.   sometimes i do, but usually i want random within a defined set of variables for the particular mood i’m in.  for a while, i was pulling moods from the all music guide and tagging all of my mp3s with those moods so i could then do a search by mood and create a playlist that way, but the problem with that is a) it’s a lot of work tagging 30,000 files, b) not all of those artists have moods listed in allmusic, and c) you often get a disproportionate weight for artists you have more stuff by.  this is why pandora is great, because pandora’s engine works exactly like this.  you say “i want to listen to thom yorke” and pandora generates a playlist based on the musical qualities of thom yorke.  but when you have 30,000 mp3s, it seems like a waste to use pandora all the time (at least until they develop a plugin for winamp).

itunes genius solved this by crossreferencing the artists in your library with the gracenote database and generating randomized playlists based on the connections between the artists.  most of the time the results are pretty good, although it was always somewhat disconcerting to get donna summer in an amanda palmer mix (their relationship is, what, they’re both female?).  but itunes suffers from using a library file that doesn’t automatically update — when you get new music, you need to add it to the library manually (or buy it at the itunes store, i suppose), and this is obnoxious just to be able to use a playlist generator that actually works.  winamp can automatically update your library, and it uses the same gracenote database to power their playlist generator.  however, winamp playlist generator chokes on large music libraries.  it’s been much-discussed, and lamented, that the feature is broken when you have more than a couple thousand files (6,000 has been reported as the magic number) in your library and the workaround is time-consuming.  even when it is working, both genius and winamp often fail to recognize artists that should be included in a mix; for example, a garage blues/punk mix with the white stripesthe gossip, & the black keys fails to recognize the lesser-known heartless bastards which should nonetheless be included in the mix.  if you’re exclusively using a playlist generator like this to listen to your music, this essentially limits your entire collection to just the stuff gracenote knows about, which is obnoxious.

there is another way.  once upon a time there was a plugin that was built into winamp called MusicIP.  development on the plugin has ceased, the company that made it was purchased after creating a standalone app with the technology, and the new parent has moved on to better things.  in short, it has become what we occasionally call in the biz “abandonware.”  moreover, after searching the net for said plugin, i only found the standalone app.  my suspicion is that winamp moved to gracenote instead of supporting this independent developer and when that happened, they lost their main source of funding and had to sell the company.  it’s unfortunate because, after getting my hands on a copy of the plugin, it really is awesome and works well for being an alternative for people trying to use the nullsoft playlist generator and getting the dreaded “playlist generator failed to initialize” error message.

here’s how it works: you install the plugin via a normal .exe file.  now in winamp you have a MusicIP Mix menu in your media library, and the plugin configuration options appear under Media Library and Plugins → Media Library in your Preferences.  The first thing you need to do is register your library.  I started this and then came back to it the next day.  When I came back it told me that 33,077 tracks were mixable and only 21 were left to validate.  i have quite a lot of music done by myself and friends and their bands (much more than 21 tracks though!), so presumably the 21 unverified tracks are from those files, some lingering wav (or other unrecognized format) files, or audiobooks i have hanging around.  this theory that all of the music was mixable was tested and proven when one of my own compositions came up in an idm/dark electronic mix based on autechre.  the track of mine MusicIP selected fit with the rest of the mix.  this could be put down just to good tagging, but whenever winamp’s playlist generator pulled my stuff, it always stuck out like a sore thumb, like it thought i was some different artist in its database.

after your library is done validating, all you need to do (after tweaking the settings in preferences) is find a track you want to use as the base seed for the random playlist, right click → Send To → MusicIP Mix.  after a couple seconds’ processing it will flip over to the MusicIP Mix tab in your library and show you your playlist.  you can play it from here or add it to your playlist queue.  it’s more or less the same as the winamp playlist generator except that the winamp generator dumps the playlist directly into your playlist window, whereas MusicIP holds it in its’ own tab for you to do with as you please.  this is actually a good thing if you’re like me and start playing a mix and then adding new stuff to it over time — with winamp’s generator, you’d have to either add that new stuff manually, or generate a new list, or save your current list, make a new list and copy the tracks from the first list into the new one.

my second test was building a list based on thom yorke.  it pulled a lot of avant garde alternative singer/songwriter stuff like david bowienick cave and fiona apple.  at first i thought this was a bit off, after all, the eraser is much more of an idm album along the same lines of autechre, which was what i was going for.  but after i thought about it (and after it pulled a track from the bends) i realized that it was pulling tracks that were relevant not only to thom yorke but also to radiohead, so it was smart enough to know that thom yorke was a member of radiohead and was indexing artists similar to radiohead as well.  while desired results weren’t exactly what i expected, it didn’t actually throw off the mix, and showed that the engine is actually pretty intelligent if it’s able to make a leap from thom yorke to radiohead.

since development on the MusicIP standalone app has stopped, the original company was bought by someone else, and there’s no real funding (that i can see) going into it, and because it does connect to some online database to generate relationships, i imagine that eventually this plugin will stop working when it can’t connect to the central server.  in the meantime, i’m providing the download here for anyone who’s interested in using this awesome — if unsupported and lost — winamp plugin.

download MusicIP Mixer
downloaded [downloadcounter(musicip)] times

unbox pandora

openpandorai’ve been using Pandora for a long time, and i’ve always been a big fan.  when Tim Westergren came to Salt Lake City on his speaking tour, i went to see him at the SLC Main Library and i have the raglan-style Pandora tshirt to prove it.  the unique recommendation engine — powered by humans who actually analyze characteristics of each track individually for the Music Genome Project, rather than by computers and a centralized database of similar or related artists, or users who purchased other albums at the same time — makes Pandora’s recommendations unlike any other music streaming service on the ‘net.  the Muse Radio channel i made transformed from being a lot of Muse and early Radiohead-sounding stuff, into a more generalized brit-rock when it threw in some Sgt. Pepper-era Beatles into the mix based on my likes/dislikes and the station doesn’t miss a beat.  With other systems — even WinAmp‘s Advanced Playlist Generator and iTunes’ Genius (both powered by Gracenote) are limited in their artist database, and always throw in at least one left-field unrelated track that throws the whole mix off.

being a DJ, i’m all about the flow of a mix.  throwing in something unexpected or different is fine, but you have to prep your audience for it a little bit, otherwise the set is disrupted.  i’m equally (albeit unfairly) discriminating in randomly-generated playlists, and no system has fully been able to satisfy me.  that is, except for Pandora.  it’s also the single most accurate system for recommending new music that i’m likely to really like.  it’s rare (or an underdeveloped station) that Pandora gives me a track that i outright hate, although it has happened.  however, it nothing like getting Gloria Gaynor in an Amanda Palmer playlist like what iTunes Genius did to me.  wtf?

but the biggest reason i don’t just listen to Pandora 24/7 is because it’s a web-app.  it’s powered by a flash application that sucks up resources in already resource-sucking browsers.  and as a designer, i can’t have my computer compromised by limited resources while i’m building a website.  that’s solved with OpenPandora. (note: OpenPandora is just for windows. mac users…uh…come back later when i’m not talking about software.)

pandorafmfor a long time, i’ve used PandoraFM; it’s a mashup of Pandora and last.fm that streams Pandora (although it can also stream last.fm playlists) and scrobbles the tracks to last.fm.  and last.fm is cool because of their analysis of the stuff you’re listening to compared with your friends and provides charts and graphs of your most listened-to artists and recently listened-to tracks.  plus, thanks to a last.fm/twitter mashup, whenever i “love” a track on last.fm, it automatically tweets that with a link to the track (if it exists) on last.fm (or the artist if the track doesn’t exist).  it doesn’t solve the problem with CPU and memory resources, but there are other benefits by adding in the last.fm stuff.  but it’s a solution i can’t use all the time.

there are a few different standalone Pandora clients out there, but my favorite part of OpenPandora is that it has built-in last.fm integration.  i can’t “love” tracks like i can with PandoraFM, but it scrobbles everything i play (which you’ll see on my frontpage and lifestream if i’m listening to something).  and it’s a standalone app — from what i can tell, little more than a Flash player with a few extra options for additional settings — so it doesn’t consume all the resources of a new browser window, or suck more memory into a separate browser tab in an already bloated browser.

sometimes, i just want to listen to the music that i have on my external hard drive, and for that, i’m still shopping for a good playlist generator (WinAmp’s Advanced Playlist Generator is the current favorite, but the database often gets corrupted for me, forcing me to rebuild the database from scratch, which, with my collection, can take a full day and lots of memory; the other option is Genius, but that requires, um, iTunes, and their Library management leaves much to be desired, it’s an even bigger resource hog than all of the other solutions in this post combined, and they don’t offer full support for all filetypes).  i’d love to see a Pandora plugin for WinAmp (something i suggested to them on twitter a while back), but until that happens, OpenPandora is an awesome way to experience Pandora outside of a browser (sidenote: they also have an iPhone app, a mobile app for non-iPhones, and a standalone receiver, so you’re not just limited to experiencing the Music Genome Project in a browser).

go check it out and leave a comment if you think it’s as cool as i do (or if you hate it and need to vent, i’m here for that, too).