SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
API Walkthrough @ MusicHackDay San Francisco '13

          Ching-Wei Chen (@cweichen)
Gracenote
●
    Founded in 1998
●
    Offices in the U.S. (SF Bay Area), Japan, Korea,
    Taiwan and Germany
●
    300+ employees
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
Some numbers...
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
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
3 developer platforms
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, …
Web API
●
    Wrappers
       ●
           Python
           https://github.com/cweichen/pygn
       ●
           PHP
           https://github.com/richadams/php-gracenote
       ●
           Java
           https://github.com/richadams/java-gracenote
Web API
●
    Wrappers
       ●
           Python
           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')
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 PLUS
        ●
            Library identification (audio fingerprinting)
        ●
            Streaming "Over The Air" identification




●
    Sample iOS & Android application in SDK
3 developer platforms
GNSDK
●
    Good for hardcore C programmers!

●
    Desktop applications
        ●
            Library identification (audio fingerprinting)

●
    Example apps
        ●
            Mood Grid & Playlisting (local collection)
GNSDK – Mood Grid
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
●
    Best Gracenote Hack: 2 passes to Outside Lands
    Music Festival




●
    Favorite Hack: Beats by Dre Pill Portable Wireless
     Speakers
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
Contact


https://


                @GracenoteDev

           Ching-Wei Chen (@cweichen)

Weitere ähnliche Inhalte

Andere mochten auch

Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
Chris Johnson
 

Andere mochten auch (8)

Battle of the Bay - Hella Hack 2013
Battle of the Bay - Hella Hack 2013Battle of the Bay - Hella Hack 2013
Battle of the Bay - Hella Hack 2013
 
Mhd nyc-2013
Mhd nyc-2013Mhd nyc-2013
Mhd nyc-2013
 
Hackathon Survival Guide
Hackathon Survival GuideHackathon Survival Guide
Hackathon Survival Guide
 
Machine Learning and Big Data for Music Discovery at Spotify
Machine Learning and Big Data for Music Discovery at SpotifyMachine Learning and Big Data for Music Discovery at Spotify
Machine Learning and Big Data for Music Discovery at Spotify
 
Algorithmic Music Recommendations at Spotify
Algorithmic Music Recommendations at SpotifyAlgorithmic Music Recommendations at Spotify
Algorithmic Music Recommendations at Spotify
 
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
 
Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
 

Ähnlich wie Gracenote API Walkthrough @ Music Hack Day SF ’13

Wp dev day_using_the_nokia_music_apis
Wp dev day_using_the_nokia_music_apisWp dev day_using_the_nokia_music_apis
Wp dev day_using_the_nokia_music_apis
Steve Robbins
 
MIDI is Staging a Comeback… in Your Browser!
MIDI is Staging a Comeback… in Your Browser!MIDI is Staging a Comeback… in Your Browser!
MIDI is Staging a Comeback… in Your Browser!
FITC
 

Ähnlich wie Gracenote API Walkthrough @ Music Hack Day SF ’13 (20)

The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019
 
MWC/ADC 2013 Using the Nokia Music Windows Phone APIs
MWC/ADC 2013 Using the Nokia Music Windows Phone APIsMWC/ADC 2013 Using the Nokia Music Windows Phone APIs
MWC/ADC 2013 Using the Nokia Music Windows Phone APIs
 
Making Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaMaking Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music China
 
Songbird
SongbirdSongbird
Songbird
 
アプリで簡単にスタンプを販売するためのAPI開発
アプリで簡単にスタンプを販売するためのAPI開発アプリで簡単にスタンプを販売するためのAPI開発
アプリで簡単にスタンプを販売するためのAPI開発
 
Web & sound
Web & soundWeb & sound
Web & sound
 
Juraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CVJuraj vysvader - Python developer's CV
Juraj vysvader - Python developer's CV
 
Audio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web APIAudio Analysis with Spotify's Web API
Audio Analysis with Spotify's Web API
 
Dial M For Mitigation
Dial M For MitigationDial M For Mitigation
Dial M For Mitigation
 
Wp dev day_using_the_nokia_music_apis
Wp dev day_using_the_nokia_music_apisWp dev day_using_the_nokia_music_apis
Wp dev day_using_the_nokia_music_apis
 
GStreamer 101
GStreamer 101GStreamer 101
GStreamer 101
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
 
DIY Your Amazon Echo
DIY Your Amazon EchoDIY Your Amazon Echo
DIY Your Amazon Echo
 
Information Aesthetics
Information AestheticsInformation Aesthetics
Information Aesthetics
 
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
 
OSINT tools for security auditing with python
OSINT tools for security auditing with pythonOSINT tools for security auditing with python
OSINT tools for security auditing with python
 
Podcasting live grouped
Podcasting live groupedPodcasting live grouped
Podcasting live grouped
 
Devoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukeboxDevoxx uk 2019 digital jukebox
Devoxx uk 2019 digital jukebox
 
MIDI is Staging a Comeback… in Your Browser!
MIDI is Staging a Comeback… in Your Browser!MIDI is Staging a Comeback… in Your Browser!
MIDI is Staging a Comeback… in Your Browser!
 
Otto AI
Otto AIOtto AI
Otto AI
 

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
  • 7.
  • 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
  • 24. GNSDK ● Good for hardcore C programmers! ● Desktop applications ● Library identification (audio fingerprinting) ● Example apps ● Mood Grid & Playlisting (local collection)
  • 26. GNSDK ● Playlist generation GENERATE PLAYLIST WHERE GN_Tempo > 120 AND GN_Mood LIKE SEED AND GN_Genre LIKE SEED LIMIT 5 PER GN_ArtistName
  • 27. GNSDK
  • 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
  • 30. Contact https:// @GracenoteDev Ching-Wei Chen (@cweichen)