Music Machinery - Paul Lamere - Echonest


Syndicate content Music Machinery
a blog about music technology by Paul Lamere
Updated: 12 min 26 sec ago

The Midem Music Machine

Mon, 01/30/2012 - 08:47

Just a quick post before it is demo time.  This weekend at MIDEM Hack Day, I teamed up this weekend with the famous Mr. Doob  to build a music hack. We created the Midem Music Machine. It creates a beautiful visualization of music using The Echo Nest analyzer and Three.js.  Here’s a pic:

As you can see, our hack was inspired by the Animusic folks. Working with Mr. Doob was awesome. He did just amazing stuff.

You can see the Midem Music Machine online here:  Midem Music Machine.   You’ll need a browser that supports WebGL like Chrome.


Categories: Music Rec

The clean desk award

Wed, 01/25/2012 - 13:40

We’ve doubled our floor space here at the Echo Nest. I now have an office with a door and a window that opens. Look at that desk. I’ll be winning the clean desk award every day for the next week at least!


Categories: Music Rec

Who is the A$%#hole?

Mon, 01/23/2012 - 15:28

In his blog post Can we kill the music business too?   James from songspin.fm has the magic formula to kill the major labels. He says:

In a nutshell, to kill the major label run music industry, startups will need to:

  1.  find great music from people who aren’t assholes
  2.  let people do cool things with that music
  3.  let users share what they create
  4.  profit!
James goes on to offer his definition of asshole: By assholes, I mean people who will sue you for using their music in your startup, which probably makes this first step the hardest. You can’t have a great music startup without the music and more than that you need good music.

(Note that in that last quote, the first ‘sue’ link points to Grooveshark)

James is certainly right – you can’t have a great music startup without great music, but he goes off the rails if he thinks that companies protecting themselves from theft  infringement are assholes. A music startup, or any business should not be able to build a business on top of  someone else’s IP without compensating them for the use. It is easy to build a company that makes money by giving away someone else’s property. But it is not legal. For some insight on how things work at Grooveshark, read this thread on Digital Music News about how King Crimson tried to get their music taken off of Grooveshark. Included in the comment thread is this tasty bit by an individual who claims to work for Grooveshark that describes how they  ’enhance’ the Grooveshark music library:

We are assigned a predetermined amount of weekly uploads to the system and get a small extra bonus if we manage to go above that (not easy).The assignments are assumed as direct orders from the top to the bottom, we don’t just volunteer to “enhance” the Grooveshark database.

All search results are monitored and when something is tagged as “not available”, it get’s queued up to our lists for upload. You have to visualize the database in two general sections: “known” stuff and “undiscovered/indie/underground”. The “known” stuff is taken care internally by uploads. Only for the “undiscovered” stuff are the users involved as explained in some posts above. Practically speaking, there is not much need for users to upload a major label album since we already take care of this on a daily basis.

Are the above legal, or ethical? Of course not. Don’t reply to give me a lecture. I know. But if the labels and their lawyers can’t figure out how to stop it, then I don’t feel bad for having a job. It’s tough times.

Why am I disclosing all this? Well, I have been here a while and I don’t like the attitude that the administration has acquired against the artists. They are the enemy. They are the threat. The things that are said internally about them would make you very very angry. Interns are promised getting a foot in the music industry, only to hear these people cursing and bad mouthing the whole industry all day long, to the point where you wonder what would happen if Grooveshark get’s hacked by Anonymous one day and all the emails leak on some torrent or something.

James may be right – that a big part of the future of music is letting developers do cool things with music, but holding up Grooveshark as an example of a music startup is a mistake. What Grooveshark is doing isn’t cool. It isn’t something that developers should emulate. James called those that sue Grooveshark assholes, but from my vantage point he got it exactly ass-backwards.


Categories: Music Rec

Controlling the artist distribution in playlists

Thu, 01/12/2012 - 13:54

The Echo Nest engineering team just pushed out a new feature giving you more control over the artist makeup in playlists.  There is a new parameter to the playlist/static API called distribution that can be set to wandering  or focused.   When the distribution is set to wandering the artists will appear with approximately equal distribution in the playlist. If the distribution is set to focused artists that are more similar to the seed artists will appear more frequently.  When combined with the variety parameter, you have excellent control over the number and distribution of artists in a playlist.  If you want to create a playlist suitable for music discovery, create a playlist with high variety and a wandering distribution.  If you want to create a playlist that more closely mimics the radio experience choose a low variety and a focused distribution.

I’ve put together a little demo that lets you create playlists with different levels of variety and distribution settings. The demo will create a playlist given a seed artist and show you the artist distribution for the playlist.  Here’s the output of the demo with distribution set to focused:

You can see from the artist histogram that the playlist draws more from artists that are very similar to the seed artist (Weezer).  Compare to these results from a wandering playlist with the same seed and variety:

You can see that there is flatter distribution of artists in the playlist.   You can use variety and distribution to tailor playlists to the listener.  For instance, you can give the Classic Rock Radio experience to a listener by setting variety to relatively low, setting the distribution to focused and seeding with a classic rock artist like Led Zeppelin.  Here’s the artist distribution for the resulting playlist:

That looks like the artist rotation for my local classic rock radio.

Give the demo a try to see how you can use variety and distribution to match playlists to your listener’s taste.  Then read the playlist API docs to see how to use the API to start incorporating these attributes into your apps.

The Demo:  Playlist Distribution Demo (source)


Categories: Music Rec

Using The Echo Nest to get the top 100 Twitter artists

Wed, 01/11/2012 - 13:28

This week Twitter and The Echo Nest announced a partnership where  Twitter IDs for verified accounts are incorporated into The Echo Nest’s ID mapping layer (aka Rosetta Stone).  This makes it easy for developers to get the Twitter handle for an artist.   To demonstrate just how easy it is, I wrote a little web app that displays the top 100 artists that have  verified Twitter accounts.    Here’s the core bit of code for the app:

function fetchTopTwitterArtists() { var url = 'http://developer.echonest.com/api/v4/artist/top_hottt?callback=?'; $.getJSON(url, { 'api_key': 'GETYOUROWNAPIKEY', 'format':'jsonp', 'results': 100, 'bucket': ['hotttnesss', 'id:twitter'], 'limit': true}, function(data) { for (var i = 0; i < data.response.artists.length; i++) { var artist = data.response.artists[i]; var elem = $("<li>"); var link = $("<a>"); var handle = artist.foreign_ids[0].foreign_id.replace('twitter:artist:', ''); link.attr('href', 'http://twitter.com/' + handle); link.text(artist.name); elem.append(link); $("#results").append(elem); } } }); }

The key bits here are creating the artist/top_hottt request to The Echo Nest and  adding the id:twitter bucket and setting limit to true. This tells the Echo Nest to include the twitter handle information in the results and limit the results to only those artists that have twitter information.  After that it is just pulling the data out of the results and formatting it for the lovely display.   The Twitter ID info is returned in an ID block that looks like this:

{"catalog": "twitter","foreign_id": "twitter:artist:LMFAO"}

Note that the Twitter ID is returned in a URN form. To get the actual Twitter URL for an artist we just need to replace the ‘twitter:artist:’ bits with ‘http://twitter.com/’.

You can see the app here:  Top 100 artists with verified Twitter accounts.  As you can see, I tried to make the web app as ugly as possible. The only thing it needs is some Comic Sansification.  The code is available for detailed study in this gist.


Categories: Music Rec

2011 in review

Mon, 01/09/2012 - 18:18

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

London Olympic Stadium holds 80,000 people. This blog was viewed about 390,000 times in 2011. If it were competing at London Olympic Stadium, it would take about 5 sold-out events for that many people to see it.

Click here to see the complete report.


Categories: Music Rec

3D Spotify Music Explorer

Sun, 01/08/2012 - 13:40

Here’s a video of an early prototype of a 3D Music Explorer that runs as a Spotify App.  The visualization shows a series of interconnected Echo Nest playlists that you can explore.  You can fly through your music,  listen to anything you see, and create a new playlist starting at any point in the visualization, all from within the Spotify App.

I’m using the awesome three.js for the 3D bits, all the rest is Echo Nest and Spotify APIs.  Frame rates with 500 albums showing is  60 FPS   Note that there’s a strange interaction between quicktime (that I used for screen capture) and Spotify audio – I wasn’t able to play new songs in Spotify while recording the demo, so there’s no song changes in the video.


Categories: Music Rec

Have artist names been getting longer?

Sat, 01/07/2012 - 13:17

On Quora, someone asked the question: Are band names getting longer? To answer that question I used the Echo Nest API to get the top 500 artists for each five year window starting in 1950 and calculated the average name length for each of the artists.

The answer to the question as to whether artist names have been getting longer is a surprising No. The average length of artist names peaked in the period from 1955-1959. This was the age when bands were called ‘XX and the YY’ like Van McCoy & The Soul City Symphony and Herb Alpert & The Tijuana Brass. Surprisingly, the era of the shortest names is 1990-1994 . The bands “… And you will know us by the trail of the dead” (1994) and “The Presidents of the United States of America” (1993) were really bucking the trend.

And the longest name, and my favorite is 2010′s Tim and Sam’s Tim and the Sam Band with Tim and Sam .

Here’s a chart showing the mean and maximum length over the years.

Overall Longest Names

Here are the longest artist names and their start year:

    • 51 2010 Tim and Sam’s Tim and the Sam Band with Tim and Sam
    • 48 1994 …And You Will Know Us By The Trail Of The Dead
    • 47 1967 Charles Wright & The Watts 103rd St Rhythm Band
    • 46 1993 The Presidents of the United States of America
    • 44 1959 Van McCoy & The Soul City Symphony Orchestra
    • 43 2000 Richard Cheese & Lounge Against The Machine
    • 43 1950 Benedictine Monks of Santo Domingo de Silos
    • 41 1981 Emir Kusturica & The No Smoking Orchestra
    • 39 1972 Afrika Bambaataa & The Soul Sonic Force
    • 37 2010 Antoine Dodson & The Gregory Brothers
    • 37 2005 Edward Sharpe and the Magnetic Zeroes
    • 37 1999 Someone Still Loves You Boris Yeltsin
    • 36 1977 Gloria Estefan & Miami Sound Machine
    • 36 1970 Jonathan Richman & The Modern Lovers
    • 36 1964 Captain Beefheart and his Magic Band
    • 35 2010 RPA and the United Nations of Sound
    • 35 2005 Edward Sharpe & The Magnetic Zeroes
    • 35 1975 Johnny Thunders & The Heartbreakers
    • 35 1959 Academy of St. Martin in the Fields
    • 34 2010 Noel Gallagher’s High Flying Birds
    • 34 1978 Deutsch Amerikanische Freundschaft
    • 34 1959 Van McCoy & The Soul City Symphony
    • 33 2010 RPA & The United Nations Of Sound
    • 33 1995 Robbie Williams And Jane Horrocks
    • 33 1978 Orchestral Manoeuvres in the Dark
    • 33 1974 George Thorogood & The Destroyers
    • 33 1965 Big Brother & The Holding Company
    • 33 1957 Cliff Bennett & The Rebel Rousers
    • 33 1955 The Clancy Brothers & Tommy Makem
    • 32 2010 The Ghost Of A Saber Tooth Tiger
    • 32 2007 The Pains of Being Pure at Heart
    • 32 2005 Margot & the Nuclear So and So’s
    • 32 1990 Emily Haines & The Soft Skeleton
    • 32 1967 Kenny Rogers & The First Edition
    • 32 1962 Mitch Ryder & The Detroit Wheels
    • 32 1961 Patti LaBelle & Michael McDonald
    • 32 1960 Frankie Valli & The Four Seasons
    • 32 1960 Astor Piazzolla & Kronos Quartet
    • 32 1959 Maurice Williams and The Zodiacs
    • 32 1954 The Sensational Alex Harvey Band
    • 31 1992 Jools Holland And Stereophonics
    • 31 1990 Armand van Helden’s Sampleslaya
    • 31 1977 Erste Allgemeine Verunsicherung
    • 31 1976 Tom Petty and The Heartbreakers
    • 31 1966 Nancy Sinatra And Lee Hazlewood
    • 31 1964 Björn Ulvaeus & Benny Andersson
    • 31 1963 The Paul Butterfield Blues Band
    • 31 1963 John Mayall & The Bluesbreakers
    • 31 1962 Martha Reeves and the Vandellas
    • 31 1957 Herb Alpert & The Tijuana Brass
    • 31 1950 Frank Zappa & Captain Beefheart
Longest Names by Year 1950 – 1954 Mean name length: 13.086 Median name length: 13 Longest name length: 43 Longest Names
  • 43 Benedictine Monks of Santo Domingo de Silos
  • 32 The Sensational Alex Harvey Band
  • 31 Frank Zappa & Captain Beefheart
  • 30 Harold Melvin & The Blue Notes
  • 28 The Dutch Swing College Band
  • 28 Le Mystère des voix Bulgares
  • 28 James Carter & The Prisoners
  • 27 Master Musicians of Jajouka
  • 26 Los Guaracheros de Oriente
  • 26 Los Corraleros De Majagual
  • 24 The Dave Brubeck Quartet
  • 24 The Charlie Daniels Band
  • 24 Lee Andrews & The Hearts
  • 24 Gladys Knight & The Pips
  • 24 Dutch Swing College Band
  • 23 Vieja Trova Santiaguera
  • 23 The Oscar Peterson Trio
  • 23 Johnny & The Hurricanes
  • 22 The Sweet Inspirations
1955 – 1959 Mean name length: 13.486 Median name length: 12 Longest name length: 44 Longest Names
  • 44 Van McCoy & The Soul City Symphony Orchestra
  • 35 Academy of St. Martin in the Fields
  • 34 Van McCoy & The Soul City Symphony
  • 33 The Clancy Brothers & Tommy Makem
  • 33 Cliff Bennett & The Rebel Rousers
  • 32 Maurice Williams and The Zodiacs
  • 31 Herb Alpert & The Tijuana Brass
  • 30 Van Mccoy & the Soul City Symp
  • 30 Smokey Robinson & The Miracles
  • 30 Little Anthony & The Imperials
  • 29 Van Morrison & The Chieftains
  • 29 Nelson Riddle & His Orchestra
  • 29 George Clinton and Parliament
  • 29 Frankie Lymon & The Teenagers
  • 29 Clancy Brothers & Tommy Makem
  • 28 John Fred & His Playboy Band
  • 27 Rocio Durcal & Juan Gabriel
  • 27 Paul Revere and The Raiders
  • 27 Cliff Richard & The Shadows
  • 27 Byron Lee & The Dragonaires
1960 – 1964 Mean name length: 13.18 Median name length: 12 Longest name length: 36 Longest Names
  • 36 Captain Beefheart and his Magic Band
  • 32 Patti LaBelle & Michael McDonald
  • 32 Mitch Ryder & The Detroit Wheels
  • 32 Frankie Valli & The Four Seasons
  • 32 Astor Piazzolla & Kronos Quartet
  • 31 The Paul Butterfield Blues Band
  • 31 Martha Reeves and the Vandellas
  • 31 John Mayall & The Bluesbreakers
  • 31 Björn Ulvaeus & Benny Andersson
  • 29 Sam The Sham And The Pharaohs
  • 29 Quicksilver Messenger Serv…
  • 29 Nancy Sinatra & Lee Hazlewood
  • 29 Martha Reeves & The Vandellas
  • 29 La Arrolladora Banda El Limón
  • 29 Billy J. Kramer & The Dakotas
  • 28 Joe Cocker & Jennifer Warnes
  • 28 El Gran Combo de Puerto Rico
  • 27 Tommy James & The Shondells
  • 27 Sam the Sham & The Pharaohs
  • 27 Eric Burdon and the Animals
1965 – 1969 Mean name length: 12.688 Median name length: 12 Longest name length: 47 Longest Names
  • 47 The Nitty Gritty Dirt Band & Kris Kristofferson
  • 47 Charles Wright & The Watts 103rd St Rhythm Band
  • 33 Big Brother & The Holding Company
  • 32 Kenny Rogers & The First Edition
  • 31 Nancy Sinatra And Lee Hazlewood
  • 29 Quicksilver Messenger Service
  • 29 New Riders of the Purple Sage
  • 28 The United States of America
  • 28 Gary Puckett & The Union Gap
  • 28 Crosby, Stills, Nash & Young
  • 28 Creedence Clearwater Revival
  • 27 The Flying Burrito Brothers
  • 26 The Nitty Gritty Dirt Band
  • 26 The Incredible String Band
  • 24 The Chocolate Watch Band
  • 24 The Allman Brothers Band
  • 24 The 13th Floor Elevators
  • 24 Country Joe and the Fish
  • 23 Van der Graaf Generator
1970 – 1974 Mean name length: 12.276 Median name length: 12 Longest name length: 39 Longest Names
  • 39 Afrika Bambaataa & The Soul Sonic Force
  • 36 Jonathan Richman & The Modern Lovers
  • 33 George Thorogood & The Destroyers
  • 30 Hamilton, Joe Frank & Reynolds
  • 30 Grandmaster Flash & The Furiou
  • 30 Elvis Costello & The Imposters
  • 29 The Ozark Mountain Daredevils
  • 29 England Dan & John Ford Coley
  • 28 The Love Unlimited Orchestra
  • 28 Steve Harley & Cockney Rebel
  • 25 The Fabulous Thunderbirds
  • 25 Premiata Forneria Marconi
  • 25 Manfred Mann’s Earth Band
  • 24 The Marshall Tucker Band
  • 24 Love Unlimited Orchestra
  • 24 Kenny G & Lenny Williams
  • 24 KC and The Sunshine Band
  • 24 Electric Light Orchestra
  • 24 Bachman-Turner Overdrive
1975 – 1979 Mean name length: 11.458 Median name length: 11 Longest name length: 36 Longest Names
  • 36 Gloria Estefan & Miami Sound Machine
  • 35 Johnny Thunders & The Heartbreakers
  • 34 Deutsch Amerikanische Freundschaft
  • 33 Orchestral Manoeuvres in the Dark
  • 31 Tom Petty and The Heartbreakers
  • 31 Erste Allgemeine Verunsicherung
  • 27 Richard Hell & The Voidoids
  • 27 Ian Dury and the Blockheads
  • 26 Marius Müller-Westernhagen
  • 25 Siouxsie and the Banshees
  • 24 The Alan Parsons Project
  • 24 Television Personalities
  • 24 Kenny “Babyface” Edmonds
  • 23 Prince & The Revolution
  • 23 Os Paralamas do Sucesso
  • 23 Evelyn “Champagne” King
  • 22 Yellow Magic Orchestra
  • 22 Michael Schenker Group
  • 22 Martha and the Muffins
  • 22 Leevi and the Leavings
1980 – 1984 Mean name length: 11.32 Median name length: 11 Longest name length: 41 Longest Names
  • 41 Emir Kusturica & The No Smoking Orchestra
  • 29 Lloyd Cole and the Commotions
  • 27 The Mighty Mighty Bosstones
  • 27 Lloyd cole & the commotions
  • 25 Nick Cave & The Bad Seeds
  • 25 Frankie Goes to Hollywood
  • 25 Fantastic Plastic Machine
  • 25 Bruce Hornsby & The Range
  • 24 The Jesus and Mary Chain
  • 23 The Legendary Pink Dots
  • 23 Juan Luis Guerra y 4.40
  • 23 Everything but the Girl
  • 23 Corrosion of Conformity
  • 22 Fields of the Nephilim
  • 22 Einstürzende Neubauten
  • 21 Red Hot Chili Peppers
  • 21 New Kids on the Block
  • 21 Katrina and the Waves
  • 20 They Might Be Giants
  • 20 The Vaughan Brothers
1985 – 1989 Mean name length: 11.322 Median name length: 11 Longest name length: 29 Longest Names
  • 29 Béla Fleck and The Flecktones
  • 26 The Future Sound of London
  • 25 Los Auténticos Decadentes
  • 24 The James Taylor Quartet
  • 23 Los Fabulosos Cadillacs
  • 23 Boogie Down Productions
  • 22 Manic Street Preachers
  • 22 Die Fantastischen Vier
  • 21 Toad the Wet Sprocket
  • 21 The Smashing Pumpkins
  • 21 The Innocence Mission
  • 21 The Brand New Heavies
  • 21 Steven Curtis Chapman
  • 21 Mary Chapin Carpenter
  • 21 Hootie & the Blowfish
  • 21 Engenheiros do Hawaii
  • 21 Donavon Frankenreiter
  • 21 Compton’s Most Wanted
  • 20 Terence Trent D’Arby
  • 20 Switchblade Symphony
1990 – 1994 Mean name length: 10.872 Median name length: 10 Longest name length: 48 Longest Names
  • 48 …And You Will Know Us By The Trail Of The Dead
  • 46 The Presidents of the United States of America
  • 32 Emily Haines & The Soft Skeleton
  • 31 Jools Holland And Stereophonics
  • 31 Armand van Helden’s Sampleslaya
  • 28 The Brian Jonestown Massacre
  • 27 Godspeed You! Black Emperor
  • 26 Chester Charles Bennington
  • 25 Del tha Funkee Homosapien
  • 24 Trans-Siberian Orchestra
  • 24 Sixpence None the Richer
  • 24 Rage Against the Machine
  • 23 Pete Rock & C.L. Smooth
  • 23 Medeski Martin and Wood
  • 23 John Michael Montgomery
  • 23 G. Love & Special Sauce
  • 22 Harry Gregson-Williams
  • 22 Bonnie “Prince” Billie
  • 21 The Chemical Brothers
1995 – 1999 Mean name length: 11.268 Median name length: 11 Longest name length: 38 Longest Names
  • 38 Jessica Simpson duet with Marc Anthony
  • 37 Someone Still Loves You Boris Yeltsin
  • 33 Robbie Williams And Jane Horrocks
  • 29 Someone Still Loves You Boris
  • 29 Me First and the Gimme Gimmes
  • 28 Handsome Boy Modeling School
  • 27 Ted Leo and The Pharmacists
  • 27 Black Rebel Motorcycle Club
  • 25 The Dillinger Escape Plan
  • 25 Supreme Beings of Leisure
  • 24 The All-American Rejects
  • 24 Mindless Self Indulgence
  • 24 Damian “Jr. Gong” Marley
  • 23 The Cinematic Orchestra
  • 23 The American Analog Set
  • 23 Queens of the Stone Age
  • 23 Flight of the Conchords
  • 23 DaRude Vs Zombie Nation
  • 23 Bullet for My Valentine
  • 23 Buena Vista Social Club
2000 – 2004 Mean name length: 11.26 Median name length: 11 Longest name length: 43 Longest Names
  • 43 Richard Cheese & Lounge Against The Machine
  • 26 The Red Jumpsuit Apparatus
  • 24 Architecture in Helsinki
  • 23 The Boy Least Likely To
  • 23 The Black Dahlia Murder
  • 23 Scary Kids Scaring Kids
  • 21 The Whitest Boy Alive
  • 21 The Pigeon Detectives
  • 21 Streetlight Manifesto
  • 21 Death From Above 1979
  • 20 The Secret Handshake
  • 20 The Polyphonic Spree
  • 20 Midnight Juggernauts
  • 20 Manchester Orchestra
  • 20 Funeral for a Friend
  • 20 From Autumn to Ashes
  • 20 Bring Me the Horizon
  • 19 Theory of a Deadman
  • 19 The Beautiful Girls
  • 19 Secondhand Serenade
2005 – 2009 Mean name length: 12.118 Median name length: 11 Longest name length: 37 Longest Names
  • 37 Edward Sharpe and the Magnetic Zeroes
  • 32 The Pains of Being Pure at Heart
  • 32 Margot & the Nuclear So and So’s
  • 30 Isobel Campbell & Mark Lanegan
  • 29 You, Me, and Everyone We Know
  • 29 The Good, the Bad & the Queen
  • 27 dan le sac vs Scroobius Pip
  • 27 The Rural Alberta Advantage
  • 25 The Asteroids Galaxy Tour
  • 25 Does It Offend You, Yeah?
  • 24 The Tallest Man On Earth
  • 24 The Airborne Toxic Event
  • 24 Selena Gomez & The Scene
  • 24 I Set My Friends on Fire
  • 24 Forever the Sickest Kids
  • 24 Clap Your Hands Say Yeah
  • 23 The Last Shadow Puppets
  • 23 Reverend and The Makers
2010 – 2014 Mean name length: 11.658 Median name length: 11 Longest name length: 51 Longest Names
  • 51 Tim and Sam’s Tim and the Sam Band with Tim and Sam
  • 37 Antoine Dodson & The Gregory Brothers
  • 35 RPA and the United Nations of Sound
  • 34 Noel Gallagher’s High Flying Birds
  • 32 The Ghost Of A Saber Tooth Tiger
  • 30 Destroy Rebuild Until God Show
  • 27 Pussycat Dolls & Snoop Dogg
  • 26 Rend Collective Experiment
  • 25 Giorgos Alkaios & Friends
  • 25 Frankie Rose and the Outs
  • 25 Brooklyn Tabernacle Choir
  • 24 Unknown Mortal Orchestra
  • 24 Den svenska björnstammen
  • 24 California Swag District
  • 24 A Pale Horse Named Death
  • 23 Young Artists for Haiti
  • 23 The Jet Age Of Tomorrow
  • 23 Jessie and the Toy Boys
  • 23 Black Country Communion

Categories: Music Rec

Save Justin Bieber from the death metal

Sun, 01/01/2012 - 18:03

I just finished my holiday break coding project. It’s a 3D music maze built with WebGL that runs in your browser.  You can wander around the maze and sample music and enjoy the album art.  It’s like being in 1992 with a fresh copy of Castle Wolfenstein 3D – but with music instead of Nazis.     If you wander through the maze long enough you may stumble upon a little game embedded in the maze called ‘Save Justin Bieber from the death metal’.  That’s all I’m going to say about that.

The maze uses Echo Nest playlists and 7Digital media (album art and 30 second samples).   I used the totally awesome Three.js by my new hero MrDoob. You’ll need a WebGL-enabled browser like Google’s chrome.  Give it a go here:  The 3D Music Maze.

Update:  Bieber Death Metal really exists.


Categories: Music Rec

The Million Song Dataset just got 50 million times better

Tue, 12/20/2011 - 23:08

Today Thierry has just pushed out the full Taste Profile addition to the Million Song Dataset. This includes user-play data for over a million users. Specifically the data includes nearly 50 million play count triples (user-song-playcount) for a million users and 385 thousand songs in the Million Song Dataset.

The data is provided by The Echo Nest (awesome company, that Echo Nest).  Thierry also hints that there may be a contest similar to the Netflix prize coming soon.  Should be a fun way to spend the holidays.  Read more about the data here:   The Echo Nest Taste Profile Subset.

 

 


Categories: Music Rec

Artists that called it a day in 2011

Sun, 12/18/2011 - 15:16

It is that time of year when music critics make their year-in-review lists: best albums, worst albums, best new artists and so on.   To help critics with their year-end review, I’ve put together a list of the top artists that stopped performing in 2011 – due to retirement, breaking up or due to death.

I made this list using by calling Echo Nest artist search call, limiting the results to artists with an ending year of 2011.  Here’s the salient bit of python:

           results = artist.search(artist_end_year_after=2010, artist_end_year_before=2012,                              buckets=['urls', 'years_active'], sort='hotttnesss-desc')

You can see the list of the 3,300 or so artists that stopped performing in 2011 here: Artists that called it a day in 2011. Thanks to Matt Santiago, master of data quality at The Echo Nest, for coming up with the idea for the list.

In the same vein, I created a list of the top 100 artists (based upon Echo Nest hotttnesss) that became active or released their first recording in 2011.

Check this list out at: Top New Artists for 2011


Categories: Music Rec

Another reason why working at The Echo Nest is so awesome

Wed, 12/14/2011 - 00:57

Created by Echo Nest crew …


Categories: Music Rec

Boston Music Hack Day 2011 video

Wed, 12/07/2011 - 16:14

Nifty video by Eric Steinhardt


Categories: Music Rec

Spotify, Android, Apple TV, And The New Appathy | Fast Company

Tue, 12/06/2011 - 16:41

Interesting article on the flood of apps coming to us from every which way:

This is confusing. And that is actually one big risk–we’ll all get fed up of the label “app” being slapped on every bit of additional code for all our gadgets from every variant of an “app store.” Will we then tire of paying $0.79 for every tweak and flashy extra? That’s a potential outcome in a dynamic market-driven system like this. Marketers could then go into overdrive to get their particular apps noticed among the flood.

Spotify, Android, Apple TV, And The New Appathy | Fast Company.


Categories: Music Rec

The Future of Mood in Music

Tue, 12/06/2011 - 15:01

One of my favorite hacks from Music Hack Day London is Mood Knobs.  It is a Spotify App that generates Echo Nest playlists by mood. Turn some cool virtual analog knobs to generate playlists.

The developers have put the source in github. W00t.  Check it all out here: The Future of Mood in Music.


Categories: Music Rec

Music Hack Day London Photos

Mon, 12/05/2011 - 14:08

Thomas Bonte, master photographer has posted his photos for Music Hack Day London.  Thomas really captures what it is like to be there in person. Thanks Thomas!


Categories: Music Rec

My Music Hack Day London hack

Sun, 12/04/2011 - 15:01

It is Music Hack Day London this weekend.  However, I am in New England, not Olde England, so I wasn’t able to enjoy in all the pizza, beer and interesting smells that come with a 24 hour long hackathon.  But that didn’t keep me from writing code. Since Spotify Apps are the cool new music hacking hotttnesss, I thought I’d create a Spotify related hack called the Artist Picture Show. It is a simple hack – it shows a slide show of artist images while you listen to them. It gets the images from The Echo Nest artist images API and from Flickr.  It is a simple app, but I find the experience of being able to see the artist I’m listening too to be quite compelling.


Slightly more info on the hack here.

 


Categories: Music Rec

Building a Spotify App

Fri, 12/02/2011 - 14:01

On Wednesday November 30, Spotify announced their Spotify Apps platform that will let developers create Spotify-powered music apps that run inside the Spotify App.   I like Spotify and I like writing music apps so I thought I would spend a little time kicking the tires and write about my experience.

First thing, the Spotify Apps are not part of the official Spotify client, so you need to get the Spotify Apps Preview Version.  This version works just like the version of Spotify except that it includes an APPS section in the left-hand navigator.

If you click on the App Finder  you are presented with a dozen or so Spotify Apps including Last.fm,  Rolling Stones, We are Hunted and Pitchfork.  It is worth your time to install a few of these apps and see how they work in Spotify to get a feel for the platform. MoodAgent has a particularly slick looking interface:

A Spotify App is essentially a web app run inside a sandboxed web browser within Spotify.  However, unlike a web app you can’t just create a Spotify App, post it on a website and release it to the world. Spotify is taking a cue from Apple and is creating a walled-garden for their apps. When you create an app, you submit it to Spotify and if they approve of it, they will host it and it will magically appear in the APPs sections on millions of Spotify desktops.

To get started you need to have your Spotify account enabled as a ‘developer’. To do this you have to email your credentials to  platformsupport@spotify.com.    I was lucky, it took just a few hours for my status to be upgraded to developer (currently it is taking one to three days for developers to get approved).  Once you are approved as a developer, the Spotify client automagically gets a new ‘Develop’ menu that gives you access to the Inspector, shows you the level of HTML5 support and lets you easily reload your app:

Under the hood, Spotify Apps is based on Chromium so those that are familiar with Chrome and Safari will feel right at home debugging apps.  Right click on your app and you can bring up the familiar Inspector to get under the hood of your application.

Developing a Spotify App is just like developing a modern HTML5 app.  You have a rich toolkit: CSS, HTML and Javascript. You can use jQuery, you can use the many Javascript  libraries. Your app can connect to 3rd party web services like The Echo Nest.  The  Spotify Apps supports just about everything your Chrome browser supports with some exceptions: no web audio, no video, no geolocation and no Flash (thank god).

Since your Spotify App is not being served over the web, you have to do a bit of packaging to make it available to Spotify during development.   To do this you create a single directory for your app. This directory should have at least the index.html file for your app and a manifest.json file that contains info about your app.  The manifest  has basic info about your app.  Here’s the manifest for my app:

% more manifest.json { "BundleType": "Application", "AppIcon": { "36x18": "MusicMaze.png" }, "AppName": { "en": "MusicMaze" }, "SupportedLanguages": [ "en" ], "RequiredPermissions": [ "http://*.echonest.com" ] }

The most important bit is probably the ‘RequiredPermissions’ field. This contains a list of hosts that my app will communicate with. The Spotify App sandbox will only let your app talk to hosts that you’ve explicitly listed in this field. This is presumably to prevent a rogue Spotify App using the millions of Spotify desktops as a botnet.  There are lots of other optional fields in the manifest. All the details are on the Spotify Apps integration guidelines page.

I thought it would be pretty easy to port my MusicMaze to Spotify.   And it turned out it really was. I just had to toss the HTML, CSS and Javascript into the application directory, create the manifest, and remove lots of code.  Since the Spotify App version runs inside Spotify, my app doesn’t have to worry about displaying album art, showing the currently playing song, album and artist name, managing a play queue, support searching for an artist. Spotify will do all that for me. That let me remove quite a bit of code.

Integrating with Spotify is quite simple (at least for the functionality I needed for the Music Maze). To get the currently playing artist I used this code snippet:

var sp = getSpotifyApi(1); function getCurrentArtist() { var playerTrackInfo = sp.trackPlayer.getNowPlayingTrack(); if (playerTrackInfo == null) { return null; } else { return track.album.artist; } }

To play a track in spotify given its Spotify URI use the snippet:

function playTrack(uri) { sp.trackPlayer.playTrackFromUri(uri, {         onSuccess: function() { console.log("success");} ,         onFailure: function () { console.log("failure");},         onComplete: function () { console.log("complete"); }     }); }

You can easily add event listeners to the player so you are notified when a track starts and stops playing. Here’s my code snippet that will create a new music maze whenever the user plays a new song.

function addAudioListener() { sp.trackPlayer.addEventListener("playerStateChanged", function (event) { if (event.data.curtrack) { if (getCurrentTrack() != curTrackID) { var curArtist = getCurrentArtist(); if (curArtist != null) { newTree(curArtist); } } } }); }

Spotify cares what your app looks like.  They want apps that run in Spotify to feel like they are part of Spotify. They have a set of UI guidelines that describe how to design your app so it fits in well with the Spotify universe.   They also helpfully supply a number of CSS themes.

Getting the app up and running and playing music in Spotify was really easy. It took 10 minutes from when I received my developer enabled account until I had a simple Echo Nest playlisting app running in Spotify

Getting the full Music Maze up and running took a little longer, mainly because I had to remove so much code to make it work.  The Maze itself works really well in Spotify.   There’s quite a bit of stuff that happens when you click on an artist node.  First, an Echo Nest artist similarity call is made to find the next set of artists for the graph. When those results arrive, the animation for the expanding the graph starts.  At the same time another call to Echo Nest is made to get an artist playlist for the currently selected artist. This returns a list of ‘good’ songs by that artist.  The first one is sent off to Spotify for it to play.  Click on a node again and the next song it that list of good songs plays.  Despite all these web calls, there’s no perceptible delay from the time you click on a node in the graph until you hear the music.

Here’s a video of the Music Maze in action.  Apologies for the crappy audio, it was recorded from my laptop speakers.

Here’s the down side of creating a Spotify App.  I can’t show it to you right now.  I have to submit it to Spotify and only when and if the approve it, and when they decided to release it will it appear in Spotify.  One of the great things about web development is that you can have an idea on Friday night and spend a weekend writing some code and releasing it to the world by Sunday night.  In the Spotify Apps world, the nimbleness of the web is lost .

Overall, the developer experience for writing Spotify Apps is great.  It is a very familiar programming environment for anyone who’s made a modern web app. The debugging tools are the same ones you use for building web apps. You can use all your favorite libraries and toolkits and analytics packages that you are used to.   I did notice some issues with some of  the developer docs – in the tutorial sample code the ‘manifest.json’ is curiously misspelled ‘maifest.json’.  The JS docs didn’t always seem to match reality.   For instance, as far as I can tell, there’s no docs for the main Spotify object or the trackPlayer.  To find out how to do things, I gave up on the JS docs and instead just dove into some of the other apps to see how they did stuff . (I love a world where you ship the source when you ship your app).  Update – In the comments Matthias Buchetics points us to this Stack Overflow post that points out where to find the Spotify JavaScript source in the Spotify Bundle.  At least we can look at the code until the time when Spotify releases better docs.

Update2 – here’s a gist that shows the simplest Spotify App that calls the Echo Nest API.  It creates a list of tracks that are similar to the currently playing artist.  Another Echo Nest based Spotify App called Mood Knobs is also on github.

From a technical perspective, Spotify has done a good job of making it easy for developers to write apps that can tap into the millions of songs in the Spotiverse.   For music app developers, the content and audience that Spotify brings to the table will be hard to ignore.  Still there are some questions about the Spotify Apps program that we don’t know the answer to:

  • How quickly will they turn around an app?  How long will it take for Spotify to approve a submitted app? Will it be hours, days, weeks?  How will updates be managed?  Typical web development turnaround on a bug fix is measured in seconds or minutes not days or weeks.  If I build a Music Hack Day hack in Spotify, will I be the only one able to use it?
  • How liberal will Spotify be about approving apps? Will they approve a wide range of indie apps or will the Spotify App store be dominated by the big music brands?
  • How will developers make money?  Spotify says that there’s no way for developers to make money building Spotify apps. No Ads, no revenue share.  No 99 cent downloads.  It is hard to imagine why developers  would flock to a platform if there’s no possibility of making money.

I hope to try to answer some of these questions. I have a bit of cleanup to do on my app, but hopefully sometime this weekend, I’ll submit it to Spotify to see how the app approval process works.  I’ll be sure to write more about my experiences as I work through the process.


Categories: Music Rec

The Music Matrix – Exploring tags in the Million Song Dataset

Mon, 11/28/2011 - 01:02

Last month Last.fm contributed  a massive set of tag data to the Million Song Data Set. The data set includes:

  • 505,216 tracks with at least one tag
  • 522,366 unique tags
  • 8,598,630 (track – tag) pairs

A popular track like Led Zep’s Stairway to Heaven has dozens of unique tags applied hundreds of times.

There is no end to the number of interesting things you can do with these tags: Track similarity for recommendation and playlisting, faceted browsing of the music space, ground truth for training autotagging systems etc.

I think there’s quite a bit  to be learned about music itself by looking at these tags.  We live in a post-genre world where most music no longer fits into a nice tidy genre categories.  There are hundreds of overlapping subgenres and styles.  By looking at how the tags overlap we can get a sense for the structure of the new world of music.     I took the set of tags and just looked at how the tags overlapped to get a measure of how often a pair of tags co-occur.  Tags that have high co-occurrence represent overlapping genre space.   For example, among the 500 thousand tracks the tags that co-occur the most are:

  • rap co-occurs with hip hop 100% of the time
  • alternative rock co-occurs with rock 76% of the time
  • classic rock co-occurs with rock 76% of the time
  • hard rock co-occurs with rock 72% of the time
  • indie rock co-occurs with indie 71% of the time
  • electronica co-occurs with electronic 69% of the time
  • indie pop co-occurs with indie 69% of the time
  • alternative rock co-occurs with alternative 68% of the time
  • heavy metal co-occurs with metal 68% of the time
  • alternative co-occurs with rock 67% of the time
  • thrash metal co-occurs with metal 67% of the time
  • synthpop co-occurs with electronic 66% of the time
  • power metal co-occurs with metal 65% of the time
  • punk rock co-occurs with punk 64% of the time
  • new wave co-occurs with 80s 63% of the time
  • emo co-occurs with rock 63% of the time

It is interesting to see how the subgenres like hard rock or synthpop overlaps with the main genre and how all rap overlaps with Hip Hop.   Using simple overlap we can also see which tags are the least informative. These are tags that overlap the most with other tags, meaning that they are least descriptive of tags.  Some of the least distinctive tags are: Rock, Pop, Alternative, Indie, Electronic and Favorites.  So when you tell someone you like ‘rock’  or ‘alternative’ you are not really saying too much about your musical taste.

The Music Matrix

I thought it might be interesting to explore the world of music via overlapping tags, and so I built a little web app called The Music Matrix. The Music Matrix shows the overlapping tags for a tag neighborhood or an artist via a heat map. You can explore the matrix, looking at how tags overlap and listening to songs that fit the tags.

With this app you can enter a genre, style, mood or other type of tag.  The app will then find the 24 tags with the highest overlap with the seed and show the confusion matrix.  Hotter colors indicate high overlap.    Mousing over a cell will show you the percentage overlap between the two corresponding tags and clicking on a cell will play a track that has high tag counts for the two tags.   I find that I can learn a lot about a genre of music by looking at the 24 tag neighborhood for a genre and listening to examples. Some interesting neighborhoods to explore are:

You can also explore by moods:

And other facets:

If you are not sure what genre or style is for an artist, you can just start with the top tags for the artist like so:

Use the Music Matrix to explore a new genre of music or to find music that matches a set of styles.  Find out how genres overlap. Listen to prototypical examples of different styles. Click on things, have fun.  Check it out:

The Music Matrix

The code for the Music Matrix is on Github.  Thanks to Thierry for creating the Million Song Data Set  (the best research data set ever created) and thanks to Last.fm for contributing a very nice set of tag data to the data set.


Categories: Music Rec

How to avoid demo fail

Sun, 11/13/2011 - 16:37

So you’ve spent all weekend working on an awesome hack. It is demo time. You have exactly 2 mins to show it off to your hacking peers. You are at the podium, you look out at the faces in the crowd that are anticipating your demo. And nothing works. The 2 minutes stretch to two hours as you wait for that web page with your hack to load. You stammer a “what you would see if this was working” explanation and you leave the stage to a smattering of applause a much more humble person.

As one of the organizers for the Music Hack Day hackathon, I’ve sat through about 500 music hack demos in the last few years and I’ve probably seen at least 50 demo failures. Most of them could have been avoided with just a little bit of preparation. So here’s a list of the most common ways for demos to fail and how you can avoid them.

Hardware Failures

Hooking your computer up to a projector and audio projector should be easy, but sometimes it can be the most vexing of all. If you have the opportunity, do an A/V check before the demo session so you will have all the kinks worked out. Here are the most common failures:

  • Missing Adapter – Don’t be surprised if you get to the podium to give your demo and the only thing there is a VGA connector. It never hurts to have an adapter that works with your computer/device in your pocket just in case. (but if you leave your adapter at the podium, you will never see it again).
  • Projector won’t sync – it is the worst feeling in the world to connect your laptop to a projector and have it not see the projector. You should know how to force your computer to detect displays.
  • No Internet – you are sitting in the audience hitting refresh on your demo web page ever 3 seconds. All is well. It is your turn to give your demo, you close your laptop, walk up to the podium, open it up, plug it in and find that your web page is no longer loading. I’ve see this happen dozens of times. It is easy to forget that when you close your laptop you may lose your network connection and may have to re-login to the local Internet provider before you get access. If you are running a non-web based demo that needs the Internet, this may be hard to notice. What’s worse, when there’s a big demo audience, with lots of laptops, iPads and iPhones, you may no longer even be able to reconnect to the local network. All the local IPs may be used up.
  • Non-mirrored display – Lots of hackers have dual display setups. This can work against you when it is time to give a demo. What you see on your laptop in front of you is not what your audience can see. Moreover, the display topology probably won’t match the demo room layout so you may find you can’t even find a way to get your mouse onto the proper screen. Before you give a demo, make sure display mirroring is on.
  • Unexpected display resolution – Projectors usually have a much lower resolution than your desktop. If you are running your demo in a browser, usually you can adjust to a lower resolution, but if your app is written to expect a fixed display size (such as common with a 3D library, or Processing), your app may just not work. Be especially careful if your app needs to switch into fullscreen mode.
  • Colors don’t show properly – I’ve seen demos with beautiful visualizations fail because projectors couldn’t show the colors well. If you are relying on colors and textures in your app an A/V check is mandatory.
  • No audio jack – At a Music Hack Day you can expect that there will be an audio jack that pipes your laptop audio to the P/A system, but this is not always the case for other hacking events. If you are at a non-music hacking event, double check to make sure that there is an adequate audio hookup. There’s nothing that sounds worse than a demo where you have to hold a microphone up to your laptop speakers so the audience can hear your music.
  • Audio Problems –  (Added on 12/6/11) (This tip from Yuli Levtov).  For those doing hacks based on certain audio-based programming languages e.g. Pure Data, SuperCollider, MaxMSP etc., plugging and un-plugging the mini-jack in a laptop can make these applications behave strangely, as some OSs think the soundcard is being swapped.

    The solution to this is either a) use a USB soundcard and plug into the headphone jack output at the podium, or b) leave a headphone splitter (small, inexpensive piece of kit) plugged into the headphone output of your laptop at all times, and simply plug the podium minijack into the headphone splitter when you come to give your demo. This will prevent your OS thinking the soundcard has changed, and avoid any nasty needs to re-boot your whole music masterpiece.

  • Too many things to hook up – No, you probably don’t need your power supply for a 2 minute demo. Probably don’t need your mouse either. Think twice about that turntable, those lasers, the full rack of keyboards and midi sequencers. Every extra item you bring to the podium doubles the chances of demo fail. Some of the best hacks ever were essentially slide show presentations

Podium Failures

Even if you have successfully hooked up your gear to the projector and audio you are not out of the woods yet. Giving a demo at a podium can be tricky

  • Can’t type and hold a microphone at the same time – it is hard enough to type in front of a room full of people. The adrenalin is flowing and your hands are shaking. It is ten times worse if you are also trying to hold a microphone while typing. If there’s a podium or clip on microphone use it. Don’t try to type with a handheld microphone.
  • That’s no podium, that’s a table – sometimes there’s no podium, your laptop will be on a desk. You can chose to give your demo standing up and do crouch typing, or sit at the desk where no one will be able to see you. Be ready for unusual setups.
  • Notificatus Interruptus – Don’t forget to turn off growl, email and twitter clients that like to put up friendly messages in the middle of your demo.
  • No place to put my mouse – If you really need to use a mouse, be ready to find that there’s no room at the podium for a mouse and a laptop.
  • It’s chaos up there! – When timing is tight, you’ll find that you are trying to setup your demo while the previous demo is tearing down and while the MC is at the same time trying to get the on deck demo ready. Too many people, too many things to setup, too little time make for a very stressful couple of minutes. Don’t get flustered.

Presentation Failures

Once you have everything setup and connected properly it is time to give actually give your demo. There are still ways to snatch success from the jaws of failure:

  • Practice – Giving a demo can be challenging. You are standing at a podium in front of a couple hundred people. Your showing off something that you’ve only just finished building. There may be bugs that you need to work around, the screen may be at the wrong resolution, your hands may be shaking. You may get flustered because the audio volume was too low. With all of this stuff going on, you will forget to demo that cool feature, or you will run out of time before you get to the showstopper. The key to a great demo is Practice Practice Practice. Know what you are going to demo, know what the results will be. Know what you are going to say. Time it, give yourself a few extra seconds of time. Run through it all 10 times.
  • Tell us what your demo does – You’ve been living your demo all weekend, you know what it does, but the 200 people in the audience don’t. Tell us what it does. Tell us in a couple of different ways. Make it clear why it is new, cool and worth paying attention to.
  • Budget the time properly – You have 2 minutes. We don’t need to know about the github issue you had. We don’t need to know about the difficulties you had installing numpy and scipy. Get to the meat of the demo.
  • Don’t waste time telling us about what you failed to do – I’ve heard lots of demos where I was told about this nifty feature that they couldn’t get to work. Don’t demo your failures, demo you successes.
  • Make your demo do one thing – Two minutes is not a long time. Especially when you are showing something complex. You may have 5 nifty features in your demo, but you will never be able to demo them all. Pick the coolest feature in your demo and plan to show it a couple of times in a couple of different ways.
  • Demo it! – Don’t tell us what your demo is going to do. Show it to us.
  • Be enthusiastic – Excitement is contagious. If you are excited about what you are showing, we will get excited too. If you are bored, we will be checking our twitter feed.
Building a music hack in 24 hours is a challenge. But perhaps an even bigger challenge is to successfully demo it in 2 minutes. A few minutes of practice combined with a few minutes of checking out the A/V setup can turn your hack from a demo fail to a demo win.

Categories: Music Rec

FOAF file linkedinqdostwitter logolast.fm soundcloud logo