If you can't read please download the document
Upload
oscar-celma
View
2.659
Download
2
Embed Size (px)
Citation preview
API Walkthrough @ MusicHackDay Stockholm '13
scar Celma (@ocelma)
these slides are already available at
http://slideshare.net/ocelma
Gracenote
Founded in 1998
Offices in the U.S. (SF Bay Area), Japan, Korea, Taiwan and Germany
300+ employees
Business Verticals
Video
Interactive Program Guide TV Listings
Audio and video recognition for Second screen Apps
Smart recommendations
Music
Music recognition for Cloud services and Apps
Discovery and playlisting
Linking
Automotive
Music recognition, playlisting and metadata clean-up
Cover Art and Artist Images
Enhanced voice recognition
Some numbers...
Business Verticals
Video
Interactive Program Guide TV Listings
Audio and video recognition for Second screen Apps
Smart recommendations
Music
Music recognition for Cloud services and Apps
Discovery and playlisting
Linking
Automotive
Music recognition, playlisting and metadata clean-up
Cover Art and Artist Images
Enhanced voice recognition
Business Verticals
Video
Interactive Program Guide TV Listings
Audio and video recognition for Second screen Apps
Smart recommendations
Music
Music recognition for Cloud services and Apps
Discovery and playlisting
Linking
Automotive
Music recognition, playlisting and metadata clean-up
Cover Art and Artist Images
Enhanced voice recognition
3 developer platforms
Web API
Delivers a rich set of music metadata (XML)
Text Search Query
ReturnsArtist: genres, origin, decades, images, bio,
Album: cover art, track listing,
Track: tempo, mood,
Web API
WrappersPython https://github.com/cweichen/pygn
PHP https://github.com/richadams/php-gracenote
Java https://github.com/richadams/java-gracenote
Web API
WrappersPython https://github.com/cweichen/pygn
PHP https://github.com/richadams/php-gracenote
Java https://github.com/richadams/java-gracenote
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')
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')
BIO: "Swedish punks the Backyard Babies formed in the city of Nssj in 1987 (...)"
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')
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
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
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
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
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
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
3 developer platforms
Mobile Client
iOS & Android SDK
Provides all Web API functionality PLUSLibrary identification (audio fingerprinting)
Streaming "Over The Air" identification
Sample iOS & Android application in SDK
3 developer platforms
GNSDK
Good for hardcore C programmers!
Desktop applicationsLibrary identification (audio fingerprinting)
Example appsMood Grid & Playlisting (local collection)
GNSDK
Moodgrid
GNSDK
Playlist generation GENERATE PLAYLIST WHERE GN_Tempo > 120 AND GN_Mood LIKE SEED AND GN_Genre LIKE SEED LIMIT 5 PER GN_ArtistName
GNSDK
Prizes
Theme please, not another iP*d or Android!
$300 (per team) Shopping Cart. Select from:
Arduino
Raspberry Pi
Makey Makey
Sony(waterproof! or similar)
Nike FuelBand
???
Ideas
Facebook likes (or Last.fm music activity) + Gracenote metadata create a visualization of a users music collection and tastes, or his/her friends music tastes
Mood-based exploration/navigation of your local collection
Mood Lighting Change the ambient of a room, according to the mood/tempo of the song
@GracenoteDev
Oscar Celma (@ocelma)
Get These Slides at
http://slideshare.net/ocelma
Contact
https://
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline Level