Nell’iperspazio con Rocket: il Framework Web di Rust!
The Echo Nest Solution for Understanding Music Content and Consumers
1.
2. 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
3. Our API
Our API is 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 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
6. 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'
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 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
9. 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
10. 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
11. More APIs!
• Taste Profiles for personalization
• Advanced Playlisting
• Song identification
Plus, client libraries for popular platforms:
Python Java Ruby iOS Android etc
12. 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
13. Our playlist engine powers 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
• 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
16. 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
18. Open EMI
• Dozens of 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 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
34. With remix you can
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)
40. 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
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