Archive for category code

Do you do Music Information Retrieval?

We’re ramping up hiring at the Echo Nest. We’re looking for good MIR people at different experience levels to help us realize the company’s vision of knowing everything about all music automatically. I would guess that we are the closest analog to ISMIR in the industry– we only do music (audio and text), the base technology is straight out of our dissertations (brian, tristan)  and we’re active in conferences and universities. We work with an amazing amount of music data on a daily basis and we sell it to some great people and companies that are changing the face of music.

MIR-background candidates are especially encouraged to apply as long as you have relevant experience and want to work on implementation at a very fast growing startup. These are almost all full time positions in our offices near Boston, MA USA. Even if you’re not graduating for a while let us know if you’re interested now.

More info at: http://the.echonest.com/company/jobs/

Group coding session at The Echo Nest

Leave a comment

Music Hack Day London

I’ve just returned from my weekend in London where I participated in the Music Hack Day held at the Guardian Offices in London.  The event was attended by nearly 200 hackers who spent the weekend learning about new music technologies and then using those technologies to build something new. This was a fantastic event that seemingly went off without a hitch. The internet worked, there was plenty of coffee, sodas and beer, and it was a very comfortable space to get stuff done.   And people got things done – over 50 hacks were built –  Here are some of my favorites:

Speakatron – A program that looks at you through your web cam and plays a sound when you open your mouth. It can tell what shape you’re making and how high your mouth is on the screen as synthesis parameters. This one was the  big crowd pleaser.  Here’s a pic of Marek giving his demo:

Photo by Thomas Bonte

Future of Music 2010Brian Whitman presents the best music recommendation technology ever – Future of Music (2010)” is a Mac OS X app that scans your iTunes library and computes the music you are not supposed to listen to anymore based on your preferences. It then helpfully deletes it from iTunes and your hard drive. Skips the recycle bin. Just like other recommender systems, it uses a lot of fancy math (and data from Echo Nest and last.fm) that really doesn’t matter in the end. Just click the button and let it take care of your life. Yes, indeed, this app erases the music from your hard drive that you shouldn’t be listening too.

Future of Music 2010

Lazy DJ – LazyDJ is an app for lazy DJs who do not want to think about what song they should play next.

Radio 1 Playlist Squirrel – Using small woodland animals to help discover music.  You have to see it to understand it. Great demo. Hope they put it online, because, really the world needs more music discovering squirrels.

Photo by Thomas Bronte

Radio Map – a real time browser for on-line radio – Sebastian Heise and Michael Hlatk analyzed the audio for hundreds of Internet radio stations and built a visualization of the Internet radio space that lets you browse for stations based on music similarity.

Photo by Thomas Bronte

Auto Score Tubing – this is an amazing hack – using score synchronizing tech from Queen Mary’s music researchers, the folks from Musescore creates a hack that automatically synchronizes a music score with a youtube performance of that score.  Check out the video, it is awesome.

BumbleTab – a very patient guitar tutor – waits patiently for you to play the right notes, then stiches all of your right notes into an awesome song:

Piracy – Making music piracy more like real piracy… Think Geocaching for music…

MashBox – a community driven mashable jukebox – which you can use to make mashups like Beat and Whip It.  There’s a nifty prezo on the process they used to create the mashup.

Earth Destroyers – this is my hack – it is a web app that tells you which bands have earth destroying tours.

It is almost like being there:To get a taste of what it was like being at the Music Hack Day be sure to check out Thomas Bronte’s photos of the event  – in addition to being the CEO of musescore, Thomas is also an excellent photographer: Music Hack Day London 2010 Slide show

Click to see the Music Hack Day Slide show by Thomas Bonte

Congrats to Dave Haynes and all of the team that put together the Music Hack Day London.  It was a fantastic event!

Dave Haynes closes the Music Hack Day

Leave a comment

Visual Music

The week long Visual Music Collaborative Workshop held at the Eyebeam just finished up.  This was an invite-only event where participants did a deep dive into sound analysis techniques, openGL programming, and interfacing with mobile control devices.

Here’s one project built during the week that uses The Echo Nest analysis output:

(Via Aaron Meyers)

,

Leave a comment

Novelty playlist ordering

[tweetmeme source= ‘plamere’ only_single=false] We’ve been building a new playlisting engine here at the Echo Nest.  The engine is really neat – it lets you apply a whole range of very flexible constraints and orderings to make all sorts of playlists that would be a challenge for even the most savvy DJ.  Playlists like 15 songs with a tempo between 120 and 130 BPM ordered by how danceable they are by very popular female artists that sound similar to Lady Gaga, that live near London, but never ever include tracks by The Spice Girls.

I was playing with the engine this weekend, writing some rules to make novelty playlists to test the limits of the engine.   I started with  rules  typical for a similar-artist playlist: 15 songs long, filled with songs by artists similar to a seed artist (in this case Weezer), the first and last song must be by the seed artist, and no two consecutive songs can be by the same artist.  Simple enough, but then I added two more rules to turn this into a novelty playlist that would be very hard for a human to make.     See if you can guess what the two rules are.  I think one of the rules is pretty obvious, but the second is a bit more subtle.  Post your guesses in the comments.

 0    Tripping Down the Freeway - Weezer
 1    Yer All I've Got Ttonight - The Smashing Pumpkins
 2    The Most Beautiful Things - Jimmy Eat World
 3    Someday You Will Be Loved - Death Cab For Cutie
 4    Don't Make Me Prove It - Veruca Salt
 5    The Sacred And Profane - Smashing Pumpkins, The
 6    Everything Is Alright - Motion City Soundtrack
 7    The Ego's Last Stand - The Flaming Lips
 8    Don't Believe A Word - Third Eye Blind
 9    Don's Gone Columbia - Teenage Fanclub
10    Alone + Easy Target - Foo Fighters
11    The Houses Of Roofs - Biffy Clyro
12    Santa Has a Mullet - Nerf Herder
13    Turtleneck Coverup - Ozma
14    Perfect Situation - Weezer

Here’s another playlist – with a different set of  two novelty rules, with a seed artist of Led Zeppelin.   Again, if you can guess the rules, post a comment.

0    El Niño - Jethro Tull
1    Cheater - Uriah Heep
2    Hot Dog - Led Zeppelin
3    One Thing - Lynyrd Skynyrd
4    Nightmare - Black Sabbath
5    Ezy Ryder - The Jimi Hendrix Experience
6    Soulshine - Govt Mule
7    The Gypsy - Deep Purple
8    I'll Wait - Van Halen
9    Slow Down - Ozzy Osbourne
10   Civil War - Guns N' Roses
11   One Rainy Wish - Jimi Hendrix
12   Overture (Live) - Grand Funk Railroad
13   Larger Than Life - Gov'T Mule

12 Comments

Keith Moon meets Animal

Another vafromb.py masterpiece from joshmillard.

, , ,

1 Comment

Some NameDropper stats

The NameDropper has been live for less than a day and already I ‘ve collected some good data from the game play.   Here are some stats:

Total games played:  1841
Total unique players:  462
Total play time:  30hrs, 20mins, 36 seconds

The artists that were most frequently confused with fake artists were:

93 Erik Satie
82 Ennio Morricone
66 Edvard Grieg
49 Nightwish
46 Yann Tiersen
40 Maurice Ravel
35 Porcupine Tree
34 Felix Mendelssohn
32 Dinah Washington
30 Antonio Vivaldi
This is showing that the game (and the underlying familiarity algorithm that drives it) may have a bias toward classical musicians.  One of the knobs we have in our familiarity algorithm is a boost for age of the artist (even though Beethoven doesn’t get played on the radio very often, most people have heard of him, so he gets a boost for being old).  But this early data suggests that we are giving a bit too much of an age boost.  Ideally, the most frequently confused artists would be spread evenly across genre. The fact that there are no Hip-Hop or Pop artists on this list suggests that our familiarity algorithm skews away from those artists.  Looks like we’ll have a few knobs to tweak.
Game-with-a-purpose are a great way to get data from humans that would otherwise be difficult to get.  The challenge in creating such a game though is to make one that is actually fun to play.  If your game is no fun, you won’t get any data at all.   Looking at player stats can give us an idea of how fun the game is.    Some NameDropper player stats:

Games per player:
Average:  4
Median: 2
Max: 182    (woah, someone played 182 times!)
Time spent playing:
Average: 236 secs
Median: 90 secs
Max:  10,995 secs (over 3 hours)
Scores:
Average: 9139
Median: 4054
Min: -4656
Max: 54671

Yep, someone scored -4656 points.  If you take too long to answer you get dinged (to avoid the Wikipedia winner).
I was a bit concerned as to whether or not someone could ‘learn’ the game (my daughter Cari suggested as much), so I looked at the scores over time of one of the frequent players to see if the score trended upwards.
There doesn’t seem to be any noticeable trend for this user, so it seems that the game is perhaps a good measure of general music knowledge and not a measure of how may times you’ve played the game.  People are still playing the game – and there seems to be a good fight for the top spot on the leaderboard which means that I should continue to get good data.  Next step is to tweak the familiarity knobs based on the data collected so far and update the game to see if the average scores go up.

, ,

6 Comments

MeToo – a scrobbler for the room

[tweetmeme source= ‘plamere’ only_single=false] One of the many cool things about working at the Echo Nest is that we have  an Sonos audio system with  single group playlist for the office. Anyone from the CEO to the greenest intern can add music to the listening queue for everyone to listen to. The office, as a whole has a rather diverse taste in music and as a result I’ve been exposed to lots of interesting music.   However, the downside of this is that since I’m not listening to music being played on my personal computer, every day I have 10 hours of music listening that is never scrobbled, and as they say, if it doesn’t scrobble, it doesn’t count.   Sure the Sonos system scrobbles all of the plays  to the Echo Nest account on Last.fm but I’d also like it to scrobble it to my account so I can use nifty apps like  Lee Byron’s Last.fm Listening History or  Matt Ogle’s Bragging Rights on my own scrobbles.

This morning while listening to that nifty Emeralds album,  I decided that I’d deal with those scrobble gaps once and for all.  So I wrote a little python script called MeToo that keeps my scrobbles up to date.  It’s really quite simple. Whenever I’m in the office, I fire up MeToo.  MeToo watches the most recent tracks played on The Echo Nest account and whenever a new track is played, it scrobbles it to my personal account. In effect, my scrobbles will track the office scrobbles.  When I’m not listening I just close my laptop and the scrobbling stops.

The script itself is pretty simple – I used pylast to do interfacing to Last.fm –  the bulk of the logic is less than 20 lines of code.   I start the script like so:

% python metoo.py TheEchoNest lamere

when I do that, MeToo will continuously monitor most recently played tracks on TheEchoNest and scrobble the plays on my account. When I close my laptop, the script is naturally suspended – so even though music may continue to play in the office, my laptop won’t scrobble it.

My scrobbles and Echo Nest scrobbles

I suspect that this use case is relatively rare, and so there’s probably not a big demand for something like MeToo, but if you are interested in it, leave a comment. If I see some interest, I’ll toss it up on google code so anyone can use it.

It feels great to be scrobbling again!

,

5 Comments

We swing both ways

Perhaps one of the most frequently asked questions about Tristan’s Swinger is whether it can be used to ‘Un-swing’ a song.  Can you take a song that already swings and straighten it out? Indeed, the answer is yes – we can swing both ways  – but it is harder to unswing than it is to swing.  Ammon on Happy Blog, the Happy Blog has given de-swinging a go with some success with his de-swinging of Revolution #1.   Read his post and have a listen at Taking the swing out of songs.   I can’t wait for the day when we can turn on the TV to watch and listen to  MTV-Unswung.

, , , , ,

Leave a comment

Frasier does Nine Inch Nails

Oh My –  Musician Josh Millard  has recreated The Downward Spiral using nothing but audio from the NBC sitcom Frasier. So wrong, and yet, so right.  Josh has the whole remixed album plus a video on his blog:

Nine Inch Niles – The Seattleward Spiral

, ,

1 Comment

Six Degrees of Black Sabbath

[tweetmeme source= ‘plamere’ only_single=false] My hack at last week’s Music Hack Day San Francisco was Six Degrees of Black Sabbath – a web app that lets you find connections between artists based on a wide range of artist relations.  It is like The Oracle of Bacon  for music.

To make the connections between the artists I rely on the relation data from MusicBrainz.  MusicBrainz has lots of deep data about how various artists are connected.    For instance there are about 130,000 artist-to-artist connections – connections such as:

  • member of band
  • is person
  • personal relationship
  • parent
  • sibling
  • married
  • involved with
  • collaboration
  • supporting musician
  • vocal supporting musician
  • instrumental supporting musician
  • catalogued

So from this data we know that George Harrison and Paul McCartney are related because each was a ‘member of the band’  of The Beatles.   In addition to the artist-to-artist data MusicBrainz has artist-track relations (Eric Clapton played on ‘While My Guitar Gently Weeps’),  artist-album (Brian Eno produced U2’s Joshua Tree),  track-track (Girl Talk samples ‘Rock You Like A Hurricane’ by the Scorpions for the track ‘Girl Talk Is Here’).  All told there are about 130 different types of relations that can connect two artists.

Not all of these relationships are equally important.  Two artists that are members of the same band have a much stronger relationship than an artist that covers another artist.  To accommodate this I assign weights to the various different types of relationships – this was perhaps the most tedious and subjective part of building this app.

Once I have all the different types of relations I created a directed graph connecting all of the artists based upon these weighted relationships.   The resulting graph has 220K artists connected by over a million edges. Finding a path between a pair of artists  is a simple matter of finding the shortest weighted path through the graph.

We can learn a little bit about music by looking at some of the properties of the graph.   First of all,  the average distance in the graph between any two artists in the graph chosen at random is 7.  Some of the top most connected artists along with the number of connections:

Here we see some of the anomalies in the connection data  – any classical performer who performs a piece by Mozart is connected to Mozart – thus the high connectivity counts for classical composers.   A more interesting metric is the ‘betweeness centrality’ –  artists that occur on many shortest paths between other artists have higher betweenness than those that do not.   Artists with high betweenness centrality are the connecting fibers of the music space.  Here are the top connecting artists:

I had never heard of Pigface before I started this project – and was doubtful that they could really be such a connecting node in the world of music – but a look a their wikipedia page makes it instantly clear why they are such a central node – they’ve had well over a hundred members in the band over their history.     Black Sabbath, while not at the top of the list is still extremely well connected.

I wrote the app in python, relying on networkx for the graph building and path finding.  The system performs well, even surviving an appearance on the front page of Reddit.  It was a fun app to write – and I enjoy seeing all the interesting pathways people have found through the artist space.

,

18 Comments