Echo nest-api-boston-2012
-
Upload
paul-lamere -
Category
Technology
-
view
2.479 -
download
5
description
Transcript of Echo nest-api-boston-2012
content culture
Rich Music Data
understanding music content and consumersThe Echo Nest Solution
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
•Search
•Similar
•Familiarity
•Hottttnesss
•Bios
•Blogs
•Terms
•News
•Reviews
•Images
•Video
•Location
•Suggest
•Extract
2 million artists
for a in artist.similar(names=['lady gaga']): print a.name
SIMILAR ARTISTS IN 2 LINES OF CODE
MadonnaChristina AguileraBritney SpearsKylie MinogueKaty PerryScissor SistersRihannaBeyoncéAshley TisdaleLivvi FrancLa RouxParis HiltonShe Wants RevengeThe Pussycat DollsMarina and The Diamonds
adele = artist.Artist('Adele')for news in adele.news: print news['date_posted'], news['name']
Top recent news stories for Adele
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•Search
•Similar Songs
•Tempo
•Key & Mode
•Time Signature
•Beats
•Downbeats
•Segments
•Timbre
•Pitch
•Loudness
•Energy
•Danceability
•Speechiness
30 million songs
Track Analysis and Remix Summary
It turns music into silly putty
Song I/O•Upload to analyze tracks•Render audio and video
Song search•Search for songs
Song analysis•Tempo, Key, Mode, Time
SignatureSong Hierarchy
•Section, Bars, Beats, TatumsSegments
•Timbre, Pitch, Loudness
Manipulations•Rearranging, blending, time
stretching, pitch shifting, video, looping,
•fade-ins, fade-outs, crossfades, find similar, sorting
segments
auditory spectrogram
pitch features
timbre features
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
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']
Audio properties in a few lines of code
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
for song in playlist.static(type='artist-radio', artist='weezer'): print song.title, 'by', song.artist_name
ARTIST RADIO IN 2 LINES OF CODE
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
• Spotify
• Rhapsody
• Lyricfind
• Seatwave
• Rdio
• Free Music Archive
• MusicBrainz
• Deezer
• Discogs
• EMI
• Jambase
• MusixMatch
• SongMeanings
• Songkick
Open EMI•Dozens of artist
sandboxes
•Audio
•Video
•Images
•More ...
19
Content Available
Audio (inc metadata)
Video Imagery Promo Tools Web Tools
2,000 tracks
Over 10,000 tracks
+ artwork
70 tracks
41 albums+ artwork
135(coming soon)
86 Image assets 27 Photosessions 26
Web bannersGamesScreensavers
71 albums+ artwork
180(coming soon)
26 Image assets 8 Photosessions 35 Web banners
Games
24 albums+ artwork
32(coming soon)
Logos 2 Photosessions 16
11 albums+ artwork
49(coming soon)
Logos 4 Photosessions 9
13 albums+ artwork
31(coming soon)
Logos Photosession 12
14 albums+ artwork
27(coming soon)
Logos 5 Photosessions 11
10 albums+ artwork
23(coming soon)
Logo{hotosession 9
Selection
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&artist=justin+bieber&format=json&results=20&type=artist-radio&song_type=christmas
Demo: http://static.echonest.com/demo/xmas.html
Some cool things people have built with The Echo Nest API
The Music Maze
Map of Music Styles
Roadtrip Mixtape
Bipolar Radio - one button steeringPlaylist demos
Boil the frog - path finding through the artist spacePlaylist demos
#SXMusicData
The Machine
MIDEM Music Machine
QuickTime™ and aH.264 decompressor
are needed to see this picture.
Bangarang Boomerang
http://static.echonest.com/BohemianRhapsichord/index.html
http://static.echonest.com/BohemianRhapsichord/index.html
infinitejuke.com
The Infinite Jukebox
Echo Nest Remix
Turns music into silly putty
chop sound into:Sections
Bars
Beats
Segments
And then programmatically manipulate all of
the bits and pieces
With remix you can
Tatums
slicing and dicingCreate 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)
beat reversing
beats = audiofile.analysis.beats collect = [] beats.reverse() for beat in beats: collect.append(beat) out = audio.getpieces(audiofile, collect) out.encode(output_filename)
remix video
#MusicData
Tristan’s The SwingerMakes any song swing
How can I get started?
Get a key & check out our api docs - developer.echonest.comGet a wrapper for your language - C, iOS, Python, Java, Ruby, PHP, moreIf you want to make music get Remix from our GitHub: github.com/echonest/Talk to us! [email protected]
developer.echonest.com