Gracenote API Walkthrough @ Music Hack Day SF ’13

30
API Walkthrough @ MusicHackDay San Francisco '13 Ching-Wei Chen (@cweichen)

description

 

Transcript of Gracenote API Walkthrough @ Music Hack Day SF ’13

Page 1: Gracenote API Walkthrough @ Music Hack Day SF ’13

API Walkthrough @ MusicHackDay San Francisco '13

Ching-Wei Chen (@cweichen)

Page 2: Gracenote API Walkthrough @ Music Hack Day SF ’13

Gracenote

● Founded in 1998● Offices in the U.S. (SF Bay Area), Japan, Korea,

Taiwan and Germany● 300+ employees

Page 3: Gracenote API Walkthrough @ Music Hack Day SF ’13

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

Page 4: Gracenote API Walkthrough @ Music Hack Day SF ’13

Some numbers...

Page 5: Gracenote API Walkthrough @ Music Hack Day SF ’13

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

Page 6: Gracenote API Walkthrough @ Music Hack Day SF ’13

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

Page 7: Gracenote API Walkthrough @ Music Hack Day SF ’13
Page 8: Gracenote API Walkthrough @ Music Hack Day SF ’13

3 developer platforms

Page 9: Gracenote API Walkthrough @ Music Hack Day SF ’13

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, …

Page 10: Gracenote API Walkthrough @ Music Hack Day SF ’13

Web API

● Wrappers● Python

https://github.com/cweichen/pygn ● PHP

https://github.com/richadams/php-gracenote● Java

https://github.com/richadams/java-gracenote

Page 11: Gracenote API Walkthrough @ Music Hack Day SF ’13

Web API

● Wrappers● Python

https://github.com/cweichen/pygn ● PHP

https://github.com/richadams/php-gracenote● Java

https://github.com/richadams/java-gracenote

Page 12: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Page 13: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Page 14: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Page 15: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 16: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 17: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 18: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 19: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 20: Gracenote API Walkthrough @ Music Hack Day SF ’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')

Medium Tempo, Heavy Brooding song

by a Swedish Defiant Punk band from the 1990's

Page 21: Gracenote API Walkthrough @ Music Hack Day SF ’13

3 developer platforms

Page 22: Gracenote API Walkthrough @ Music Hack Day SF ’13

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

Page 23: Gracenote API Walkthrough @ Music Hack Day SF ’13

3 developer platforms

Page 24: Gracenote API Walkthrough @ Music Hack Day SF ’13

GNSDK

● Good for hardcore C programmers!

● Desktop applications● Library identification (audio fingerprinting)

● Example apps● Mood Grid & Playlisting (local collection)

Page 25: Gracenote API Walkthrough @ Music Hack Day SF ’13

GNSDK – Mood Grid

Page 26: Gracenote API Walkthrough @ Music Hack Day SF ’13

GNSDK

● Playlist generation

GENERATE PLAYLIST

WHERE

GN_Tempo > 120 AND

GN_Mood LIKE SEED AND

GN_Genre LIKE SEED

LIMIT 5 PER GN_ArtistName

Page 27: Gracenote API Walkthrough @ Music Hack Day SF ’13

GNSDK

Page 28: Gracenote API Walkthrough @ Music Hack Day SF ’13

Prizes

● Best Gracenote Hack: 2 passes to Outside Lands Music Festival

● Favorite Hack: Beats by Dre Pill Portable Wireless Speakers

Page 29: Gracenote API Walkthrough @ Music Hack Day SF ’13

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

Page 30: Gracenote API Walkthrough @ Music Hack Day SF ’13

@GracenoteDev

Ching-Wei Chen (@cweichen)

Contact

https://