Friday Oct 27, 2006

Silicon Valley has always been the hot bed of new startups.  There's something about the area south of San Francisco, with its Venture Capitalists, Stanford and perpetual good weather.  Apple, HP, Sun, Google and Yahoo all started there years ago.

Anyone who's been paying attention to the music discovery space realizes that there's a whole new generation of 'music 2.0' companies out there. These are companies that are building systems to help you explore and download music.  Of course, leading the field is Silicon Valley's Apple, with its iTunes and iPod.  But, surprisingly, they are one of the few Music 2.0 companies that is based in Silicon Valley.   I've  made a list of the first 20 or so music 2.0 companies that I could think of along with their locations.  As you can see Silicon Valley is under-represented.  So, even though Silicon Valley may be the center of the world for Web 2.0, it certainly is not the center of the Music 2.0 world. 

Audiobaba Vancouver BC
Corvalis Oregon
Oakland CA
London UK
Washington DC
Seattle Washington + Silicon Valley
San Francisco CA
Washington State + Berlin, Germany
Monrovia CA
Somerville Massachusetts
San Diego, CA
San Diego CA
Seattle, Washington
Yahoo Music
Santa Monica, CA
Polyphonic HMI
Barcelona, Spain
Double V3
Montreal QC, Canada
Portland Maine
Silicon Valley
Barcelona Spain

Silicon Valley










(Yes, I have missed lots of companies, especially the European music 2.0 companies.  I'm happy to add them to the list if you send me an email reminder - Paul.Lamere AT Update-  Oscar sent me a nice list of extra companies that I've added, but I'm haven't time yet to figure out where they all are - if you see one, and you know where it is based ... send me a note.)

Thursday Oct 26, 2006

beaTunes is another in the growing collection of iTunes helpers. beaTunes is a downloadable program (written in Java) that works with iTunes to help make organizing your music collection and generating playlists a bit easier.  beaTunes does a couple of things for you:
  • Fix up your metadata - it will perform some basic text analysis to look for inconsistent spellings of artist, album, genre,  artists with inconsistent genre info, missing audio and such.
  • Detect BPM  - beaTunes can analyze your (Non-DRMd) music to find the beats-per-minute for each song and add the info to your iTunes music database, (iTunes already supports a BPM field, it just doesn't know how to populate it)
  • Generate similar playlists - beaTunes will generate interesting playlists by finding similar songs (based upon the BPM and a notion of song similarity)
beatTunes isn't the only BPM detector for iTunes.  There's a list of various detectors on Marcelino Martin's BPM Detection page.

There's a trial version of beaTunes that you can use for a week. If you want to use it for longer than that, you need to fork over $20.

Wednesday Oct 25, 2006

Two notable events occured on October 25, 1986:  Bill Buckner let a ball go between his legs, and I got married to my lovely wife, Marie.

Last night at 10pm, iLike launched their beta. iLike is a social music discovery service funded by Sun founder Vinod Khosla. 

iLike, like other social music sites such as has a substantial web presence as well as an iTunes plugin.  The iTunes plugin runs as an iTunes 'drawer' a sidebar that adds iLike context information such as information about 'related artists' as well as info about your iLike 'friends'

When you play songs in itunes, info shows up in the iLike sidebar.  For instance, if the 'Related' artist tab is selected, when you play a song by Death Cab for Cutie, you'll see songs by artists such as the Postal Service, ColdPlay and The Shins in the 'related artists' tab.

I found the 'related artists' to be more than a bit disappointing.  To me, the purpose of a 'related artists' recommender is to help me find music that I don't know about that is similar to what I'm listening to now.  The iLike 'related artists' falls short in a few ways.  First, the recommendations are artist related, not song related, so no matter what song I play by an artist I'm given the same recommendations.  If I play the Beatles 'Helter Skelter' or 'Michele' - I get the same recommendations although they are very different songs.  Second, the recommendations for the most part were completely obvious.  I like it best when a recommender gives me some recommendations from artists that I've not heard of before, but the iLike recommendations were (with some notable exception - see below), were so predictable it was as if they were scraped from the All Music Guide related artists. 
Here's a set of recommendations received.

 Seed Artist
Led Zeppelin
Pink Floyd, the Beatles, Jimi Hendrix, AC/DC, Black Sabbath
Pink Floyd, Radiohead, U2, The Rolling Stones
Green Day, Foo Fighters, Jimmy Eat World, Nirvana, The Beatles
Johnny Cash
Willie Nelson, Elvis Presley, Waylon Jennings, Hank Williams, Merle Haggard
Fiona Apple
Tori Amos, Sarah McLachlan, Alanis Morissette, Sheryl Crow, Norah Jones
Rush, Genesis, Pink Floyd, King Crimson, Kansas

I did get a clunker recommendation however.  When I was playing Emerson, Lake and Palmer's Karn Evil 9 - a progressive rock masterpiece -  I was given the recommendation 'Grandma Got Run over by a reindeer' by Elmo & Patsy, as well as 4 other christmas songs.  Clearly outside the realm of a reasonable recommendation.  iLike promises that their recommendations will get better as they get more users. That's the classic social recommender cold-start problem - you need lots of users to get good recommendations, but in early days, before you have lots of users, you'll generate crappy recommendations. I'm sure their recommendations will get better - and I hope that eventually they can tell me things that I don't already know - maybe a NiN recommendation for that Johnny Cash fan once in a while.

iLike  also offers a set of 'free music by new artists' in the 'related' panel.  I found the music to interesting, but generally not very well related to the seed artist. Again, probably a symptom of the cold-start problem.  Nevertheless, it is a good source of free indie music - I downloaded the song 'Sad Reminders' by 'the Winter Sounds' - funny thing was that iLike couldn't find any related music to this song - iLike recommended this song since it was related to some Pink Floyd that I was listening to, but when I was listening to the song, iLike didn't seem to know anything about it.

If you go to your iLike home page on the web, iLike will give you another more detailed set of music recommendations.  This, for me, was a mix of free mp3s as well as songs I could buy at iTunes.  The top recommendation was ... you guessed it ... 'Grandma got run over by a reindeer'.  It would be nice if iLike could tell me why they are recommending a particular song (much like Amazon or Pandora do).  Words like "We are recommending 'Grandma got run over by a reindeer' because you like annoyingly-cute christmas songs'."  Or .. "We are recommending 'Grandma got run over by a reindeer' because it is similar to Emerson Lake and Palmer's opus about nuclear armageddon." would be helpful.

iLike uploads your iTunes play history to the iLife server, and makes this visible to all.  If you are a privacy fanatic (or even just slightly concerned about privacy), this may be a bit disconcerting.  For instance, you can look at my music play history here:  I took a quick browse through the iLike users - its a who's who of music discovery - there's Tom, CTO of Pandora, a whole gaggle of the crew, Toby from musicmobs, Mr. DJ Alchemi and others. (BTW, Does DJ really want us to know that his #2 song of all time is "Can't get you out of my head " by Kylie Minogue?)

Probably the neatest thing that iLike has to offer is the ability to browse through other people's music history - this harkens back to the day of the original napster - where you could browse through the music collections of thousands of people.  Of course, the difference is that unlike napster, when you are browsing you can listen to 30 second low quality clip, but you can't download the song without forking over $.99 to iTunes.  iLike does have a neat compatibility score. When you are browsing through another listener's collection - you are shown a score that shows how well matched your music collections are.  iLike touts this ability to browse through other people's collections as one of their key differentiators - but has been doing this for quite some time - here's my listening history on

Growing Pains - iLike is a beta and as such there were a few snags here and there.  When I first installed iLike, the sidebar drawer was all scrambled. It looked like all of the tabbed panels in the sidebar were visible at the same time.  A restart of iTunes seemed to fix that.  Another glitch - if I'm listening to a song in iTunes, and then click on a song in someone's collection to preview it, the iTunes song doesn't stop playing - so I end up hearing two songs at the same time.  Hey, but this is a beta, so I'm sure these things will be fixed in no time.

So here's a rundown of what iLike does:
  • Adds an iTunes plugin that uploads your play history
  • Gives somewhat obvious related artist recommendations
  • Offers a set of song recommendations
  • Lets you find other users like yourself
  • Lets you browse the music collections of others
  • Give you recommendations for 'related' free-to-download music
I think iLike has done well on execution. The web site and the plugin are quite slick - and eye-friendly - but so far, I haven't seen them do anything that isn't already being done by other social sites such as  They don't do social tagging. They don't do playlist generation.  They don't offer music charts.  They don't expose any of their data with a web services API.  You can only listen to 30 second music clips. Like QLoud, they are suffering from the cold-start problem - until they get a large enough user base they'll continue to recommend 'Grandma got run over by a reindeer' to progressive rock fans.  Like QLoud, I don't think excellent execution is going to let them catch up to - with its deep set of social data.  Still, it is just a beta, iLike has good funding, an it looks like they have an  excellent technical and management team, so I'm sure iLike will be doing some interesting, innovative things in the music discovery space soon. They certainly bear watching.

Update - I am having fun with iLike - browsing through other people's music tastes is interesting and somewhat addictive.

Tuesday Oct 24, 2006

One of the key enabling technologies for the ecosystem that will ultimately become the celestial jukebox is a universally used, free, Song ID system.    A Song ID system unambiguously assigns an an ID, (much like a UPC product code), to each unique audio recording.  The ideal SongID will be able to distinguish between various performances and remixes of a song, while still recognizing that different encodings and equalizations of a song are still the same song.   A universally used songID will allow  various music tools and services to work together.  People will be able to easily share playlists, recommenders will be able to refer listeners to tracks in any music service provider collection.  It will be easy to find the metadata (album art, reviews, bibliographic info, lyrics) for a song.

There's no shortage of commercial songID system.   The problem is that they all cost money, and they tie you to a particular vendor's silo (songID, metadata, recommender).   No one vendor's songID has enough traction to become the universal songID. 

The one system that has the best shot at becoming the universal songID system is the MusicDNS system.  The MusicDNS system was created by  the folks at MusicIP.  With the MusicDNS system, you use their open-source fingerprinter to get a fingerprint of audio. This fingerprint is sent to MusicDNS that (much like the Internet DNS), will resolve the fingerprint into a songID (update - and some a bit of metadata including track and artist name) that can then be used to retrieve metadata associated with the music from metadata sources such as  MusicBrainz (a wikipedia-like source of music metadata).

I like the MusicDNS system because they have open-sourced the client and have worked very closely with MusicBrainz to make sure that the system will be available no matter what happens to MusicIP.  (Spend a few minutes talking to Robert Kaye, the founder of MusicBrainz, and you'll hear nothing but good things about MusicIP and MusicDNS).

The MusicDNS system has always been free to use for non-commercial use, but if you were a commerical entity you had to negotiate a deal, and it was hard to predict what the final costs would be.  (They would charge based on the number of songID lookups). 

MusicDNS has just restructured how it charges for use.  A non-commercial license still is free for 5 million lookups per month. (Update -  commercial access of up to 5 million requests per month is also free)  But now with the restructuring a commercial license costs $250 per year for up to 100 million lookups per month!  That is so incredibly cheap that it should be a no-brainer even for the smallest web 2.0  music startup.  In fact it is so cheap that I doubt if it even covers the costs of running the MusicDNS lookup servers.

MusicDNS is doing all of the right things. They are supporting MusicBrainz, an excellent source for music metadata.  They have opensourced the fingerprinting client. They have made the cost to use the system cheap enough so that anyone can use it .   I really hope each and every one of those new music discovery companies (you all know who you are) will just start using this system.  If we are all using this system, we can interoperate, we can trade playlists, we will all be steering our metadata updates to MusicBrainz, so our metadata will get better.  The music ecosystem will be a better place. 

Originally uploaded by gavindow.
Last week, I configured things so I could blog directly from This week, I configured flickr so I can blog to using Flickr's 'blog this photo' . Again the setup was very easy, and unlike the google posts, the flickr posts seem to have the proper timestamp.

Ah yes, and this is my favorite rock concert photo. It captures all that is Weezer. The untucked collared shirt, the sweater, the deferrential bow, with the rock salutes from the crowd. Nerd rock at its finest.

Monday Oct 23, 2006

Autumn Flood
Originally uploaded by Ed Karjala.
There's California Dreamin, and Sweet Home Alabama, now New Hampshire has its own song. Indie band Matt Pond PA (from Pennsylvania) perform the song New Hampshire.

i’m going home back to new hampshire
i’m so determined
to lay in lakes and see my sisters
i will hit my brother and hold my mother

Sure, there was that Sonic Youth song called New Hampshire ... but, well, it wasn't really a good song now was it.

If you are looking for some other 'state' songs check out 150 songs for 50 states. And by the way, It is such a beautiful time of year in New Hampshire, you come and visit, see your sisters, hit your brother and hold your mother.

Photo by foreversouls.
Waving goodbye to a departing national guard unit on its way to Iraq. It breaks my heart.
There's a nifty flash demo showing how the iTunes/qloud plugin supports tagging of songs. It is quite nice how the QLoud tagger is integrated directly into iTunes.  You can easily tag your songs, and then use those tags to generate good playlists.  The tags that you use to organize your local collection are also sent back to the qloud where they are aggregated and used to assist music discovery.  Funny thing, though, in the tagging example they show a user getting songs that are tagged with 'love' to get a set of romantic songs.  However, tagging is a somewhat fickle process.  The user may get romantic songs, but the user may also get songs that were tagged 'love' because the tagger loved the song, not because it was a perfect first-date song. So mixed in with the heart-melters, may be a face-melter.  With the result that your romantic candelight dinner may be interrupted by the wails of Eddie Van Halen.

That good-looking Search Guy, Steve Green, will tell you that these social tagging systems just need to get a little smarter.  With a little clustering-goodness, a tagging system such as Qloud should be able to notice that there are two types of 'love'-tagged songs: those associated with romance, and those associated with user-preference and if you build a playlist using an ambiguous tag, a less ambiguous tag (such as 'romantic' or 'favorite') is suggested. 

Flickr is starting to do this.  You can explore the clusters associated with a tag.  For instance  Explore / Tags / apple / clusters will show the clusters associated with the word 'apple'.  There are four main 'apple' clusters:  Pictures of macIntosh computers, pictures of the fruit, screenshots of OS X, and pictures of New York City (including one 'double-apple' showing a picture of the new Apple store in Manhattan).

Music discovery systems such as and qloud need to start doing the same thing - cluster the tags and help us dis-ambiguate the tags - this will give us more understandable results when we start to use the tags for generating playlists.

Sunday Oct 22, 2006

One of the MIREX competitions tasks this year was Cover Song Identification.  The goal was to find covers of a seed song within a much larger music collection.  The task was folded into the audio music similarity task, so groups that submitted similarity systems also participated in the cover song collection.  Interestingly, but perhaps unsurprisingly, systems that were developed specifically for cover song detection performed much better than general audio similarity systems. Dan Ellis's submission performed quite well.

Of course, finding a cover song is not the same as finding a good cover song.  A while back the Telegraph compiled a list of the top 50 covers ever.   Their pick for number 1 cover is no surprise.

Friday Oct 20, 2006

The folks over at Javadesktop are highlighting the Search Inside the Music project. Lots of screenshot goodness:  Javadesktop.

Recently, I wrote a web 2.0 style mashup.  When I deployed, it worked great, except that some users would see browser crashes after a while.  Looking closer, it looked like there was a memory leak, my web app was using up browser memory and not releasing it.  Now, I'm not a bad coder, and it usually takes a pretty basic flaw to have a memory leak in a garbage-collected language like javascript.  Scanning my code, showed no obvious errors.  All my generated javascript objects were neatly discarded. I wasn't accidentally adding things to the DOM, where they could hang out for ever. I had no ever growing lists or tables that would keep references to objects to they wouldn't be GC'd.

But I did have a problem:  A circular reference.   IE has a very basic flaw in its garbage collector. It uses reference counting, and if there's a circular reference, the collector can't collect the objects.  If object A points to object B and B (directly or indirectly) points to A, A and B can never be GC'd. 

One of the Javascript idioms is to use function closures as callbacks. The closures give the callback access to the locally scoped variables where the function closure was declared.  However, this closure forms a circular reference, and without special care, will cause a memory leak on IE.  Every time a callback is added to an object (an image.onload for example), a circular reference is created.  If the object involved happens to be something large like an image (as it was in my case), the leak can become pretty obvious pretty quickly.  It is easy to break the circular reference (by removing the callback from the object when the callback is invoked), but of course, if you don't know about this problem, there's no reason to do it.

The Javascript closure idiom is pervasive in the web 2.0 world.  I wonder how many web apps out there have memory leaks when running on IE due to IEs flaw in its garbage collector.  There's a more detailed description of this problem on Jiberings page on Javascript closures.  (or you can look at the other million or so pages on this topic: google javascript ie memory leak closure.)

One of the really interesting features of Netbeans 6.0 is 'semantic coloring'.  This takes syntax coloring one level further, and colors/highlights code based upon higher level information.  For instance, here's what a deprecated call would look like:

   void myMethod() {

There are descriptions of the various other semantic colorings in the Netbeans Java EditorUsersGuideVia Charles Ditzel's blog.

Thursday Oct 19, 2006

Over at Last.FM,  MartinD has created some visualizations of the music listening behaviors of various members of the Last.FM.  The charts are quite attractive (although perhaps somewhat difficult to interpret).  The charts were made with everyone's favorite visualization tool - processingFirst seen on Information Aesthetics.

Elias Pampalk has blogged about his week in Victoria at ISMIR 2006.  A good read with lots of pictures.  I had a number of great conversations with Elias over the week.  It is always enjoyable to talk to someone who is working on very similar things - both Elias and I are interested in music similarity, visualizations and user interfaces for exploring large music collections.   Elias was showing MusicRainbow at ISMIR this year - Elias confessed that he built the interface in the weeks before ISMIR. Still it was a great looking tool - it seemed to have the right mix of utility and esthetics.   Elias should post it to Information Aesthetics - the online journal of data visualization and visual design.

This blog copyright 2010 by plamere