Sunday Apr 29, 2007

If I wasn't going to be at JavaOne next week, I would really like to be in Vienna, attending the Music 2.0: Music and the Semantic Web workshop.  This workshop takes a close look at the underlying technologies of 'Music 2.0' (audio processing, semantic web), as well as providing a good overview of the current and future music 2.0 projects.  There are some very good speakers lined up, including  Lucas Gonze (of webjay fame), Mark Sandler - who is running the OMRAS2 project - which is trying to build  a distributed research environment for Music Informatics scientists, Music Information Retrieval researchers and Computational Musicologists, and Oscar Celma - a rising star in music and the web.


Friday Apr 27, 2007

Thursday was day #1 of the open house.  It was a day of non-stop demos, with lots of visitors and lots of questions.  Luckily, Doug was there too, to answer all of the hard questions.   I was pretty hoarse by the end of the day.  Today is the second round of demos - if you work for Sun and you are in MPK, please come on by!


Tuesday Apr 24, 2007

This week, I am in Menlo Park for the annual Sun Labs Open House, where we show some of the work we've been doing in the labs.  There are talks and lots of demos.  This year, some of the hot projects at the open house will be:

  • Darkstar  - an open source gaming server, designed from the ground up for massively multiplayer on line games.
  • MPK20: Sun's Virtual Workplace - think of a 'second life' for work
  • SPOTS - tiny embedded sensors that run Java
  • Fortress - the next generation programming language for high-performance computing.

And of course there will be lots more.  Doug and I will be talking about some of the work we've been doing on Search Inside the Music.   Steve, Jeff and Bernard will be showing off a next generation engine for searching mail archives.

If you work for Sun, be sure to visit on Friday to see what's going on in the labs.

Saturday Apr 21, 2007

Nifty article called The Machine's got Rhythm in the recent Science News about the state-of-the-art in music information retrieval.


The Tragically Hip
Originally uploaded by hernandezfisher.
Last night, Steve and I braved Lansdowne Street during the season's first Yankee/Redsox game to see the Tragically Hip. It was a super show. Lead singer, Gordon Downie puts on a great performance. And I've never seen this many Canadians in place - but they were all very polite.

Friday Apr 20, 2007

For one of the Search Inside the Music demos that I'll be showing at the Sun Labs open house next week, I've been building up a database of music artists and related info.  I've been gathering this data  from many different places on the web using a crawler.  It's not a fast process - it takes about a month to build up enough data to make it useful.   My crawler collects the data and writes it out to a set of text files so that later it can be indexed with the our nifty search engine.

I tested the whole process using a small crawl of the web on my Linux laptop.  When I was happy that everything was working fine, I started the crawl running on one of  our large Solaris servers.  Unfortunately, there was a lurking bug ... a Java programming 101 kind of bug that would make the data collected from the month long crawl be wrong.

Music artist names very international.  There's Björk, there's José Feliciano there's Mötley Crüe and Motörhead,  (there's even a whole genre of music called umlaut metal).  My mistake was forgetting that when  writing a text file in Java (using  a PrintWriter for instance), the default encoding used is the encoding of the operating system.  Now for my Linux laptop, the default encoding is UTF-8 which can handle all of the umlauts and accents.  But for our Solaris server, the default encoding is plain, old ASCII.  With its 7 bits, ASCII can't represent any of the rich characters that are needed to represent all of the artist names.  When I indexed my 30 days of data and started looking at the results I was very sad to see 'bj?rk"  and "m?tley cr?e". 

With our open house demo just 5 days from now, there's no way for me to recrawl the data and save it to disk using the proper encoding.  Luckily, when I did the initial crawl, I resolved all of the artists to a MusicBrainz ID.  I'm able to turn this ID back into the canonical name for the artist, so I am able to patch the names without having to do a recrawl.  Whew!

So my lesson for the day is ... don't rely on the default encoding when reading and writing text. Now, back to getting the rest of the demo to work.

Monday Apr 16, 2007

For an application that I'm writing, I wanted to be able to persist a large number of objects.  I wanted to avoid the complexities of a real database and the opaqueness and fragility of Java object serialization.  What I really wanted was the ability to turn any object into a a bit of XML that I could save and load at will, without having to do a lot of work defining the mapping between the Java object and the XML.  

There are a number of  standard Java APIs to go back and forth between Java and XML, but they all seem a bit complex for what I wanted to do.   Luckily, I stumbled upon XStream.  XStream is a simple API for doing exactly what I wanted:  serialize objects to XML and back again.  The API is quite simple to use.  To serialize an object to a file I use the code:

            XStream xstream = new XStream();
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
xstream.toXML(myObject, writer);

And to load the object I use:

                BufferedReader reader = new BufferedReader(new FileReader(file));
myObject = (MyObject) xstream.fromXML(reader);

It couldn't be any easier than that. 

XStream is fast, simple, and easy to use.  Highly recommended.


Tuesday Apr 10, 2007

Ghanni music is a content-based music recommender.  Type in the name of an artist or a song, and you get recommendations based on music that sounds similar to that song or artist.  According to their FAQ, Ghanni  uses "advanced pattern recognition and music signal analysis techniques to estimate the similarities between your query and the songs in our database. The similarity is a function of the rhythm, timbre, instrumentation, vocals, and the music surface information we automatically extract from a song."

The web interface to Ghanni, unlike the latest round of social music recommenders,  is focused totally on music recommendation. There are no friends, playlists, charts, games, users profiles or any of the seemingly standard features of a Music 2.0 site,  just recommendations.


 Ghanni actually gives you 3 types of recommendations:

  • Song level recommendations - this is something that a content-based site like Ghanni can in theory, do better than a social system,
  • Think about artists - these are similar artists
  • Playlist within the same atmosphere

The Recommendations

So how are the Ghanni recommendations?  I found them to be rather curious.  I've worked with enough content-based recommenders to know what to expect.  Content-based recommenders will often recommend music by different artists, different genres and era.  Content-based recommenders will do things like put  Eleanor Rigby closer to a string quartet than to Helter Skelter.   Since unlike social recommenders, content-based recommenders don't care about popularity, content-based recommendations will tend to include many more unknown artists than a social recommender.

The curious thing about Ghanni is that their recommendations seemed more like social recommendations than content-based recommendations.  

I started with the song 'Hey Jude' by the Beatles.  Recommendations received were 'Surfer Girl' by the Beach Boys, 'Dear Prudence' by the Beatles,  'Laughter in the Rain' by Neil Sedaka, 'Tangerine' by Led Zeppelin, and 'Fight for your honor' by Chicago.  All classic rock from the same era by very popular artists.

Next up, I tried a song by 'Clap your hands say yeah' called 'Is this Love?'.  I received recommendations for songs by Razorlight, Catatonia, Rilo Kiley, Stellstarr, and Bloc Party.  All indie artists that have been popular in the last 5 years or so.

Final test - 'Revolution #9' by the Beatles.  This song is so unlike any other song by the Beatles, or for that matter any other pop song released during the 60s or 70s. I'd expect recommendations for songs by artists such as  Karlheinz Stockhausen and John Cage.  Instead, Ghanni gives me more Beatles, Ike and Tina Turner, Bo Diddley, and Tom McRae.  Not a single example of Music Concrete.   When I ask for a playlist within the same atmosphere, it looks like playlist from the latest classic rock radio station: Beatles, Led Zeppelin, Cream, Eagles, Doors, Ike and Tina.

Update: Oscar points out that if you ask for recommendations related to a French song, all of the recommendations are  French songs.  Although very desirable, this type of recommendation is far beyond the state-of-the-art for content-based recommendations.

So what is going on here? These don't seemed to be content-based recommendations at all!  Are they trying to pull the wool over our eyes? My guess is that the scientists at Ghanni decided to use all data that was available to them to build their similarity models. So in addition to their content-based features related to timbre, pitch and tempo, they are including features that are typically found in a song's metadata. This include  the year of release and the genre of the song.  This is a perfectly reasonable thing to do, any machine learning scientist will tell you to use all of the data that you can.  However, it appears that these features derived from the metadata are overwhelming the content based features.  The resulting recommendations lack the 'aha' factor that come with content-based recommenders.  There are no surprise linkages across genres. Just rather pedestrian recommendations that you could easily get from the All Music guide.

Ghanni seems to have some smart people on their team, so we can expect them to improve their recommendations. But for  right now, the recommendations don't seem to be any better than what you could get from the many other music recommenders that are out there.    Thanks yet again  for the tip, Oscar!

Monday Apr 09, 2007

Just watch Greg Saunier of Deerhoof play the drums. Amazing.

Sunday Apr 08, 2007

Continuing our tutorial on heavy metal ... here's an instructional video:


For those trying to sing along, the chorus is:

Metal by numbers, 1, 2, 3
Follow these rules and you will see
Cookie monster vocals or yell like a wookie
Metal by numbers, COOKIE, COOKIE, COOKIE
Metal by numbers, 1, 2, 3

Wednesday Apr 04, 2007

The Arcade Fire
Originally uploaded by mediaeater.
An Flickr photo for you to enjoy while you listen to Neon Bible.
There's a certain special vocal quality to be found in death metal which can be rather difficult on a young musicians voice. Luckily, there are some special exercises you can do to get your chords in shape: How to Scream for Metal/Hardcore/Screamo.

Monday Apr 02, 2007

Music genre is always a fuzzy concept - especially when you have artists cross over from one genre to another.  Many times, an artist's first genre follows them along into new musical territory.  For instance, today, I'm listening to some fantastic acoustic guitar that to my ear sounds Latin or Spanish.  The music is  Rodrigo y Gabriela which  (according to Wikipedia) is a musical duo that got their start playing thrash metal in Mexico city - but moved onto acoustic guitars.  Because of their mixed musical roots, they are not easy to classify - and it seems that everyone sticks them into a different genre:

  • eMusic ( where I purchased the tracks) calls them Latin
  • Wikipedia  labels them acoustic,  folk rock and metal
  • All Music  and Napster label them world
  • iTunes labels them reggae (what's with that?)
  • users label them with tags like 'acoustic', 'flamenco' and 'guitar'

Genre is tough ... yet it is still mostly useful ...

 And here's a YouTube video of Rodrigo y Gabriela

It's not April fools any more, but with the rumors floating around, it seems like it could be.  Rumors are that today Steve Jobs will announce a DRM-free deal with EMI.  While hypebot is reporting that Amazon is about to buy eMusic.  Both rumors, if true will be significant steps toward a DRM-free world of music.

 Update:  DRM-Free music from EMI at $1.29 per song is confirmed. W00t!

Friday Mar 30, 2007

Following on the heals of Major Miner is a new music labeling game called The Listen Game - in the Listen Game, you work to try to pick the best label for a music clip in a way that agrees with others. The more you agree, the more points you get. The game is fun, a bit addicting, and the data that they collect is used to improve music retrieval.    The game does have a few  glitches (what do you do when your goal is to label the vocals and there are no vocals?), but all in all it was fun way to spend a lunch hour (I played more rounds that I ought to have, trying to break 500). 

The Listen Game was put together by MIR researcher Douglas Turnbull.  You can read more info about the project on his research page.

With all of these researchers looking at social tags I have a feeling we are going to see a lot of folksonomic papers at ISMIR .  In fact I suggest that we change the name of ISMIR this year to "Isn't Social Music Incredibly Rad!" 


This blog copyright 2010 by plamere