The Echo Nest Solution
understanding music content and consumers

                  Rich Music Data




        content                     culture




  12 years of R&D at MIT, Columbia and Berkeley


         Our API is our product
Our API

Our API is our product. Everything a
customer can do so can you.

developer.echonest.com
Artist API
          2 million artists
• Search             • News
• Similar            • Reviews
• Familiarity        • Images
• Hottttnesss        • Video
• Bios               • Location
• Blogs              • Suggest
• Terms              • Extract
SIMILAR ARTISTS IN 2 LINES OF CODE
for a in artist.similar(names=['lady gaga']):           print
a.name




    MadonnaChristina AguileraBritney SpearsKylie MinogueKaty
    PerryScissor SistersRihannaBeyoncéAshley TisdaleLivvi FrancLa
    RouxParis HiltonShe Wants RevengeThe Pussycat DollsMarina and
    The Diamonds
Top recent news stories for Adele
 adele = artist.Artist('Adele')for news in adele.news:                    print
 news['date_posted'], news['name']




2012-02-06T17:37:00 Grammys: Who Should Win the Major Categories2012-02-06T00:00:00
Noel Gallagher: Adele's Music Career Won't Last2012-02-06T00:00:00 Noel Gallagher Admits
He Feels Sorry For Adele2012-02-06T00:00:00 Dave Grohl's Grammy pride2012-02-
06T00:00:00 British Artists Dominate 2011 Market: Adele, Jessie J2012-02-06T00:00:00 Adele
called 'too fat'
Song API
              30 million songs
• Search                 • Segments
• Similar Songs          • Timbre
• Tempo                  • Pitch
• Key & Mode             • Loudness
• Time Signature         • Energy
• Beats                  • Danceability
• Downbeats              • Speechiness
Track Analysis and Remix Summary
Song I/O
  • Upload to analyze tracks
  • Render audio and video
                                       auditory spectrogram

Song search
  • Search for songs
                                                   segments

Song analysis
  • Tempo, Key, Mode, Time Signature
Song Hierarchy                                 pitch features

  • Section, Bars, Beats, Tatums
Segments
  • Timbre, Pitch, Loudness                   timbre features


  Manipulations
  • Rearranging, blending, time stretching,
    pitch shifting, video, looping,                             It turns music into silly putty
  • fade-ins, fade-outs, crossfades, find
    similar, sorting
Song API example


Find the loudest songs by thrash artists
  song/search?sort=loudness-desc&description=thrash



Find indie songs for jogging
  song/search?min_tempo=120&style=indie&max_tempo=125


Find hottest songs by Lady Gaga
 song/search?sort=hotttnesss-desc&artist=lady+gaga
Audio properties in a few lines of code

results = song.search(artist='Michael Jackson', title='billie jean')if
len(results) > 0: print 'tempo', results[0].audio_summary['tempo']
   print 'dance', results[0].audio_summary['danceability']     print
'energy', results[0].audio_summary['energy']



           tempo 117.128dance 0.97energy 0.47
More APIs!

• Taste Profiles for personalization
• Advanced Playlisting
• Song identification
Plus, client libraries for popular platforms:
     Python Java Ruby iOS Android etc
ARTIST RADIO IN 2 LINES OF CODE

for song in playlist.static(type='artist-radio', artist='weezer'):          print son
song.artist_name




              Island In The Sun by Weezer1979 by The Smashing PumpkinsWalk by
              Foo FightersDance, Dance by Fall Out BoyBlast Off! by Rivers
              CuomoOh Me, Oh My by Nerf HerderBirdhouse in Your Soul by They
              Might Be GiantsSmells Like Teen Spirit by NirvanaAlison by Elvis
              CostelloGirl, You'll Be a Woman Soon by Urge OverkillStacy's Mom by
              Fountains of WayneThe Middle by Jimmy Eat WorldWorry A Lot by The
              Like Young1985 by Bowling for SoupDo You Realize?? by The Flaming
              Lips
Our playlist engine powers the listening
experience for millions of music listeners
The Playlist API

• Fine grained control over:
 • artist selection, variety
    • hotttness, familiarity, location
 • song selection
    • Any musical attributes (e.g. tempo range, key)
 • song ordering
    • Artist or song attributes (e.g. loudness)
Some examples


• Play tracks by Weezer and Radiohead
  playlist/static?&artist=weezer&artist=radiohead&results=20&type=artist


• Weezer artist radio
  playlist/static?&artist=weezer&artist=radiohead&type=artist-radio


• Playlist of music by pop divas ordered by tempo
  playlist/static?&description=pop&description=diva&type=artist-
  description&artist_min_familiarity=.9&sort=tempo-asc
Audio Fingerprinter


• Identify songs based upon audio
• Fingerprinter executables and libraries for
  Windows, Mac and Linux
• Song ID typically in less than a second per song
• Currently in beta
• More info at:
http://groups.google.com/group/enmfp
Easy Integration
•   7Digital             •   Deezer
•   Spotify              •   Discogs
•   Rhapsody             •   EMI
•   Lyricfind            •   Jambase
•   Seatwave             •   MusixMatch
•   Rdio                 •   SongMeanings
•   Free Music Archive   •   Twitter
•   Facebook             •   Songkick
•   MusicBrainz
Open EMI
• Dozens of artist sandboxes
• Audio
• Video
• Images
• More ...
Content Available
                Audio (inc metadata)   Video                Imagery       Promo Tools     Web Tools

    Selection       2,000 tracks

                Over 10,000 tracks
                       + artwork


                      70 tracks

                                                                                        Web banners
                     41 albums            135          86 Image assets
                                                       27 Photosessions
                                                                              26        Games
                       + artwork       (coming soon)
                                                                                        Screensavers

                     71 albums            180          26 Image assets                  Web banners
                                                       8 Photosessions
                                                                              35        Games
                       + artwork       (coming soon)



                     24 albums             32          Logos
                                                       2 Photosessions
                                                                              16
                       + artwork       (coming soon)



                     11 albums             49          Logos
                                                       4 Photosessions
                                                                               9
                       + artwork       (coming soon)




                     13 albums             31          Logos
                                                       Photosession
                                                                              12
                       + artwork       (coming soon)



                     14 albums             27          Logos
                                                       5 Photosessions
                                                                              11
                       + artwork       (coming soon)



                     10 albums             23          Logo
                                                       {hotosession
                                                                               9
                       + artwork       (coming soon)
                                                                                                       19
Get ready for Christmas!
Constrain song searches and playlists to songs that match a
given ‘song type’


Example:     Justin Bieber Christmas Radio


http://developer.echonest.com/api/v4/playlist/static?api_key=key&art
song_type=christmas



      Demo: http://static.echo
nest.com/demo/xmas.html
Some cool things people have built
   with The Echo Nest API
The Music Maze
Map of Music Styles
Roadtrip Mixtape
Playlist demos
Bipolar Radio - one button steering
Playlist demos
Boil the frog - path finding through the artist space
Stewart Copeland




#SXMusicData   http://labs.echonest.com/click/
The Machine




#SXMusicData
MIDEM Music Machine




             QuickTime™ and a
           H.264 decompressor
     are needed to see this picture.
Bangarang Boomerang




http://static.echonest.com/BohemianRhapsichord/index.html
http://static.echonest.com/BohemianRhapsichord/index.html
The Infinite Jukebox
The Infinite Jukebox




     infinitejuke.com
Echo Nest Remix




Turns music into silly putty
With remix you can
             chop sound into:
Sections

Bars

Beats
                              And then
                          programmatically
Tatums                   manipulate all of the
                           bits and pieces
Segments
slicing and dicing
   Create a remix from beat one of every bar
   Create a remix from beat one of every bar




    bars = audiofile.analysis.bars    collect =
[]    for bar in bars:
collect.append(bar.children()[0])    out =
audio.getpieces(audiofile, collect)
out.encode(output_filename)
 audio.getpieces(audiofile, collect)
out.encode(output_filename)
beat reversing




    beats = audiofile.analysis.beats   collec
= []
    beats.reverse()    for beat in beats:
 collect.append(beat)    out =
audio.getpieces(audiofile, collect)
out.encode(output_filename)
 audio.getpieces(audiofile, collect)
out.encode(output_filename)
 audio.getpieces(audiofile, collect)
remix video
Tristan’s The Swinger
               Makes any song swing
               Makes any song swing




#MusicData
Echo Nest Remix




http://echonest.github.com/remix/
How can I get started?

Get a key & check out our api docs -
developer.echonest.com
Get a wrapper for your language - C,
iOS, Python, Java, Ruby, PHP, more
If you want to make music get Remix
from our GitHub: github.com/echonest/
Talk to us!
      paul@echonest.com
developer.echonest.com




     paul@echonest.com

Echo nest-api-boston-2012

  • 2.
    The Echo NestSolution understanding music content and consumers Rich Music Data content culture 12 years of R&D at MIT, Columbia and Berkeley Our API is our product
  • 3.
    Our API Our APIis our product. Everything a customer can do so can you. developer.echonest.com
  • 4.
    Artist API 2 million artists • Search • News • Similar • Reviews • Familiarity • Images • Hottttnesss • Video • Bios • Location • Blogs • Suggest • Terms • Extract
  • 5.
    SIMILAR ARTISTS IN2 LINES OF CODE for a in artist.similar(names=['lady gaga']): print a.name MadonnaChristina AguileraBritney SpearsKylie MinogueKaty PerryScissor SistersRihannaBeyoncéAshley TisdaleLivvi FrancLa RouxParis HiltonShe Wants RevengeThe Pussycat DollsMarina and The Diamonds
  • 6.
    Top recent newsstories for Adele adele = artist.Artist('Adele')for news in adele.news: print news['date_posted'], news['name'] 2012-02-06T17:37:00 Grammys: Who Should Win the Major Categories2012-02-06T00:00:00 Noel Gallagher: Adele's Music Career Won't Last2012-02-06T00:00:00 Noel Gallagher Admits He Feels Sorry For Adele2012-02-06T00:00:00 Dave Grohl's Grammy pride2012-02- 06T00:00:00 British Artists Dominate 2011 Market: Adele, Jessie J2012-02-06T00:00:00 Adele called 'too fat'
  • 7.
    Song API 30 million songs • Search • Segments • Similar Songs • Timbre • Tempo • Pitch • Key & Mode • Loudness • Time Signature • Energy • Beats • Danceability • Downbeats • Speechiness
  • 8.
    Track Analysis andRemix Summary Song I/O • Upload to analyze tracks • Render audio and video auditory spectrogram Song search • Search for songs segments Song analysis • Tempo, Key, Mode, Time Signature Song Hierarchy pitch features • Section, Bars, Beats, Tatums Segments • Timbre, Pitch, Loudness timbre features Manipulations • Rearranging, blending, time stretching, pitch shifting, video, looping, It turns music into silly putty • fade-ins, fade-outs, crossfades, find similar, sorting
  • 9.
    Song API example Findthe loudest songs by thrash artists song/search?sort=loudness-desc&description=thrash Find indie songs for jogging song/search?min_tempo=120&style=indie&max_tempo=125 Find hottest songs by Lady Gaga song/search?sort=hotttnesss-desc&artist=lady+gaga
  • 10.
    Audio properties ina few lines of code results = song.search(artist='Michael Jackson', title='billie jean')if len(results) > 0: print 'tempo', results[0].audio_summary['tempo'] print 'dance', results[0].audio_summary['danceability'] print 'energy', results[0].audio_summary['energy'] tempo 117.128dance 0.97energy 0.47
  • 11.
    More APIs! • TasteProfiles for personalization • Advanced Playlisting • Song identification Plus, client libraries for popular platforms: Python Java Ruby iOS Android etc
  • 12.
    ARTIST RADIO IN2 LINES OF CODE for song in playlist.static(type='artist-radio', artist='weezer'): print son song.artist_name Island In The Sun by Weezer1979 by The Smashing PumpkinsWalk by Foo FightersDance, Dance by Fall Out BoyBlast Off! by Rivers CuomoOh Me, Oh My by Nerf HerderBirdhouse in Your Soul by They Might Be GiantsSmells Like Teen Spirit by NirvanaAlison by Elvis CostelloGirl, You'll Be a Woman Soon by Urge OverkillStacy's Mom by Fountains of WayneThe Middle by Jimmy Eat WorldWorry A Lot by The Like Young1985 by Bowling for SoupDo You Realize?? by The Flaming Lips
  • 13.
    Our playlist enginepowers the listening experience for millions of music listeners
  • 14.
    The Playlist API •Fine grained control over: • artist selection, variety • hotttness, familiarity, location • song selection • Any musical attributes (e.g. tempo range, key) • song ordering • Artist or song attributes (e.g. loudness)
  • 15.
    Some examples • Playtracks by Weezer and Radiohead playlist/static?&artist=weezer&artist=radiohead&results=20&type=artist • Weezer artist radio playlist/static?&artist=weezer&artist=radiohead&type=artist-radio • Playlist of music by pop divas ordered by tempo playlist/static?&description=pop&description=diva&type=artist- description&artist_min_familiarity=.9&sort=tempo-asc
  • 16.
    Audio Fingerprinter • Identifysongs based upon audio • Fingerprinter executables and libraries for Windows, Mac and Linux • Song ID typically in less than a second per song • Currently in beta • More info at: http://groups.google.com/group/enmfp
  • 17.
    Easy Integration • 7Digital • Deezer • Spotify • Discogs • Rhapsody • EMI • Lyricfind • Jambase • Seatwave • MusixMatch • Rdio • SongMeanings • Free Music Archive • Twitter • Facebook • Songkick • MusicBrainz
  • 18.
    Open EMI • Dozensof artist sandboxes • Audio • Video • Images • More ...
  • 19.
    Content Available Audio (inc metadata) Video Imagery Promo Tools Web Tools Selection 2,000 tracks Over 10,000 tracks + artwork 70 tracks Web banners 41 albums 135 86 Image assets 27 Photosessions 26 Games + artwork (coming soon) Screensavers 71 albums 180 26 Image assets Web banners 8 Photosessions 35 Games + artwork (coming soon) 24 albums 32 Logos 2 Photosessions 16 + artwork (coming soon) 11 albums 49 Logos 4 Photosessions 9 + artwork (coming soon) 13 albums 31 Logos Photosession 12 + artwork (coming soon) 14 albums 27 Logos 5 Photosessions 11 + artwork (coming soon) 10 albums 23 Logo {hotosession 9 + artwork (coming soon) 19
  • 20.
    Get ready forChristmas! Constrain song searches and playlists to songs that match a given ‘song type’ Example: Justin Bieber Christmas Radio http://developer.echonest.com/api/v4/playlist/static?api_key=key&art song_type=christmas Demo: http://static.echo nest.com/demo/xmas.html
  • 21.
    Some cool thingspeople have built with The Echo Nest API
  • 22.
  • 23.
  • 24.
  • 25.
    Playlist demos Bipolar Radio- one button steering
  • 26.
    Playlist demos Boil thefrog - path finding through the artist space
  • 27.
    Stewart Copeland #SXMusicData http://labs.echonest.com/click/
  • 28.
  • 29.
    MIDEM Music Machine QuickTime™ and a H.264 decompressor are needed to see this picture.
  • 30.
  • 31.
  • 32.
    The Infinite Jukebox TheInfinite Jukebox infinitejuke.com
  • 33.
    Echo Nest Remix Turnsmusic into silly putty
  • 34.
    With remix youcan chop sound into: Sections Bars Beats And then programmatically Tatums manipulate all of the bits and pieces Segments
  • 35.
    slicing and dicing Create a remix from beat one of every bar Create a remix from beat one of every bar bars = audiofile.analysis.bars collect = [] for bar in bars: collect.append(bar.children()[0]) out = audio.getpieces(audiofile, collect) out.encode(output_filename) audio.getpieces(audiofile, collect) out.encode(output_filename)
  • 36.
    beat reversing beats = audiofile.analysis.beats collec = [] beats.reverse() for beat in beats: collect.append(beat) out = audio.getpieces(audiofile, collect) out.encode(output_filename) audio.getpieces(audiofile, collect) out.encode(output_filename) audio.getpieces(audiofile, collect)
  • 37.
  • 38.
    Tristan’s The Swinger Makes any song swing Makes any song swing #MusicData
  • 39.
  • 40.
    How can Iget started? Get a key & check out our api docs - developer.echonest.com Get a wrapper for your language - C, iOS, Python, Java, Ruby, PHP, more If you want to make music get Remix from our GitHub: github.com/echonest/ Talk to us! paul@echonest.com
  • 41.
    developer.echonest.com paul@echonest.com

Editor's Notes

  • #20 AUDIO “albums” = multi track singles + different territory releases + clean/explicit versions VIDEO = official (+ 30sec clips of official) + EPKs + interviews + documentaries + teasers + clean/explicit versions of each where appropriate - full vid + 30 sec clips are considered separate assets (therefore number of full vid approx = half of vid assets listed) IMAGERY = posters + print ads + photosessions + logos + wallpapers etc. PROMO TOOLS = biographies + press releases