Gracenote API Walkthrough @ Music Hack Day SF ’13
1. API Walkthrough @ MusicHackDay San Francisco '13
Ching-Wei Chen (@cweichen)
2. Gracenote
●
Founded in 1998
●
Offices in the U.S. (SF Bay Area), Japan, Korea,
Taiwan and Germany
●
300+ employees
3. Business Verticals
Music Video Automotive
Music recognition for Cloud Interactive Program Guide – TV Music recognition, playlisting and
services and Apps Listings metadata clean-up
Audio and video recognition for Cover Art and Artist Images
Discovery and playlisting Second screen Apps
Linking Enhanced voice recognition
Smart recommendations
5. Business Verticals
Music Video Automotive
Music recognition for Cloud Interactive Program Guide – TV Music recognition, playlisting and
services and Apps Listings metadata clean-up
Audio and video recognition for Cover Art and Artist Images
Discovery and playlisting Second screen Apps
Linking Enhanced voice recognition
Smart recommendations
6. Business Verticals
Music Video Automotive
Music recognition for Cloud Interactive Program Guide – TV Music recognition, playlisting and
services and Apps Listings metadata clean-up
Audio and video recognition for Cover Art and Artist Images
Discovery and playlisting Second screen Apps
Linking Enhanced voice recognition
Smart recommendations
9. Web API
●
Delivers a rich set of music metadata (XML)
●
Text Search Query
●
Returns
– Artist: genres, origin, decades, images, bio, …
– Album: cover art, track listing, …
– Track: tempo, mood, …
10. Web API
●
Wrappers
●
Python
https://github.com/cweichen/pygn
●
PHP
https://github.com/richadams/php-gracenote
●
Java
https://github.com/richadams/java-gracenote
11. Web API
●
Wrappers
●
Python
https://github.com/cweichen/pygn
●
PHP
https://github.com/richadams/php-gracenote
●
Java
https://github.com/richadams/java-gracenote
12. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
13. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
14. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
15. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
16. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
17. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
18. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
19. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
20. Web API
import pygn # Get it at https://github.com/cweichen/pygn
clientID = 'XXXXXX-XXXXXXXXXXXXXXXXXX'
userID = pygn.register(clientID) # only call it once!
metadata = pygn.searchTrack(clientID, userID,
'Backyard Babies',
'',
'Minus Celsius')
Medium Tempo, Heavy Brooding song
by a Swedish Defiant Punk band from the 1990's
22. Mobile Client
●
iOS & Android SDK
●
Provides all Web API functionality PLUS
●
Library identification (audio fingerprinting)
●
Streaming "Over The Air" identification
●
Sample iOS & Android application in SDK
28. Prizes
●
Best Gracenote Hack: 2 passes to Outside Lands
Music Festival
●
Favorite Hack: Beats by Dre Pill Portable Wireless
Speakers
29. Ideas
●
Music Taste Visualizer use Facebook likes or Last.fm scrobbles +
Gracenote metadata to create a visualization of a user’s music collection
and tastes, or his/her friend’s music tastes
●
Music ID use Gracenote fingerprinting to ID songs on mobile device and
do ???
●
Mood-based music exploration
●
Mood Lighting Change the ambient of a room, according to the
mood/tempo of the song