SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
API Workshop
           November 21, 2010
           Paul Lamere
           paul@echonest.com




Friday, November 20, 2009
listening                    reading




     World of Music Audio                      learning             World of Music Text




                                         Solutions




                            WHAT THE ECHO NEST DOES

Friday, November 20, 2009
READING
                                       Artist
                                      • Tag Cloud
                                      • Similar Artists
                                      • Familiarity
                                      • Hotttnesss
                                      • News
                                      • Audio
                                      • Images
                                      • Video
                                      • Reviews
                                      • Biography




Friday, November 20, 2009
Track
                                                                                                                                                       LISTENING                                                                            •Tempo
                                                                                                                                                                                                                                            • Key
                                       Dm7        G7       CM7 C#O Dm7                           G7        CM7 C#O Dm7      G7        CM7 C#O Dm7           G7        CM7 C#O

                                                                                                                                                                                                                                            • Time Signature
                                       x 10
                                              4
                                                                                                                                                                                                                                            • Mode
                                                                                                                                                                                                                                            • Sections
                                  2

                                  1
               wave form




                                  0




                                                                                                                                                                                                                                            • Pitch
                                ! -1

                                ! -2
                                       0               2          4                                    6          8              10               12             14              16




                                                                                                                                                                                                                                            • Timbre
                                  1
                                0.8                                                          25
                                                                      auditory spectrogram
               loudness




                                0.6                                                          20

                                0.4




                                                                                                                                                                                                                                            • Tatums
                                                                                             15
                                0.2
                                                                                             10
                                  0
                                       0               2          4                                    6          8              10               12             14              16
                                                                                                 5

                                 25




                                                                                                                                                                                                                                            • Beats
                                                                                                 1
                                                                                                  0                   0.5                 1                           1.5                    2 sec.
                                 20
          spectrogram




                                                                                              1
            auditory




                                 15
                                                                                             0.8
                                 10
                                                                      segmentation




                                                                                                                                                                                                                                            • Bars
                                  5                                                          0.6

                                  1
                                       0               2          4                          0.4       6          8              10               12             14              16

                                                                                             0.2
                                  B




                                                                                                                                                                                                                                            • Duration
                                  A
                                                                                              0
               chromagram




                                                                                                   0                  0.5                 1   20                      1.5                    2 sec.
                                  G
                                                                                             B
                                                                                             A#
                                  E
                                                                                             A                                                40
                                  D
                                                                      pitch features




                                                                                                                                                                                                                                            • Loudness
                                                                                             G#
                                  C                                                          G

                                       0               2          4                          F#        6          8              10           6012               14              16
                                                                                             F
                                                                                             E
                                  B
          segment-synchronous




                                                                                             D#
                                                                                             D                                                80
                                  A




                                                                                                                                                                                                                                            • Metadata
             chromagram




                                                                                             C#
                                  G                                                          C
                                                                                                   0                  0.5                 1                           1.5                    2 sec.
                                                                                                                                           100
                                  E                                                          25
                                  D
                                                                                             20                                            120
                                                                      timbre features




                                  C




                                                                                                                                                                                                                                            • Segments
                                       0               2          4                                    6          8              10               12             14              16
                                                                                             15
                                                                                                                                           140
                                                                                             10




                                                                                                                                                                                                                                            • Fade in
                                                                                              5                                            160

                                                                                              1
                                                                                                            2         4          6            8             10              12        14              16 segments
                                                                                                                                           180




                                                                                                                                                                                                                                            • Fade out
                                                                                                                                           200


                                                                                                                                           220


                                                                                                                                                       20        40         60   80    100      120       140       160   180   200   220



Friday, November 20, 2009
developer.echonest.com
Friday, November 20, 2009
developer.echonest.com
Friday, November 20, 2009
Query:
             http://developer.echonest.com/api/get_similar
               ?api_key=YOUR_API_KEY
               &id=music://id.echonest.com/~/AR/AR2UWUD1187B9B3B01&rows=3
               &version=3
   Response:




Friday, November 20, 2009
CLIENT LIBRARIES
                     Echo Nest
                       Remix
                                            Java
                                                         3RD PARTY
                                                            Cocoa
                   Pyechonest                         Flash       Ruby
                                                         Processing


                               Echo Nest Web Services
                            http://developer.echonest.com/pages/resources
Friday, November 20, 2009
The Echo Nest
                              Artist API




Friday, November 20, 2009
Friday, November 20, 2009
Friday, November 20, 2009
Friday, November 20, 2009
Get your gaga on ... from python

             >> from pyechonest import artist
             >>
             >> gaga = artist.search_artists(‘Lady Gaga’)[0]
             >> gaga
             <Artist ‘Lady Gaga’>

             >> gaga.hotttnesss()
             0.86328906000000005

             >> gaga.similar(2)
             [<Artist 'Ashley Tisdale'>, <Artist 'Britney Spears'>]




Friday, November 20, 2009
ARTIST RADIO IN TEN LINES OF CODE


    def wander(band, max=10):
        """ generate a playlist by wandering a seed artist neighborhood """
        played = []
        while max:
            if band.audio():
                audio = random.choice(band.audio())
                if audio['url'] not in played:
                    play(audio)
                    played.append(audio['url'])
                    max -= 1
            band = random.choice(band.similar())




Friday, November 20, 2009
Find Weezer’s neighbors in Java
       ArtistAPI artistAPI = new ArtistAPI(MY_ECHO_NEST_API_KEY);
       List<Artist> artists = artistAPI.searchArtist("Weezer”, false);
       if (artists.size() > 0) {
           for (Artist artist : artists) {
                List<Scored<Artist>> similars =
                      artistAPI.getSimilarArtists(artist, 0, 10);
                for (Scored<Artist> simArtist : similars) {
                     System.out.println("   " + simArtist.getItem());
                }
            }
        }


Friday, November 20, 2009
Things you can build with
                                 The Echo Nest
                                    Artist API




Friday, November 20, 2009
Friday, November 20, 2009
Friday, November 20, 2009
PLAYLISTING




Friday, November 20, 2009
PLAYLISTING




Friday, November 20, 2009
Friday, November 20, 2009
More engaging music discovery
                The Music Exploration Space




Friday, November 20, 2009
The Echo Nest
                              Track API




Friday, November 20, 2009
25




                                              auditory spectrogram
                                                                     20


                                                                     15

                   auditory spectrogram
                                                                     10


                                                                         5


                                                                         1
                                                                          0         0.5       1            1.5             2 sec.
                                                                      1


                                                                     0.8
                                              segmentation

                                                                     0.6

                                 segments                            0.4


                                                                     0.2


                                                                      0
                                                                           0        0.5       1            1.5             2 sec.

                                                                     B
                                                                     A#
                                                                     A
                                              pitch features




                                                                     G#
                                                                     G


                             pitch features
                                                                     F#
                                                                     F
                                                                     E
                                                                     D#
                                                                     D
                                                                     C#
                                                                     C
                                                                           0        0.5       1            1.5             2 sec.

                                                                     25


                                                                     20
                                              timbre features




                                                                     15

                            timbre features                          10


                                                                      5


                                                                      1
                                                                               2    4     6       8   10         12   14            16 segments




                                                                                   JEHAN STYLE
Friday, November 20, 2009
4
                                                    x 10
                                               2

                                               1

                                               0
                              beat markers
                                             ! -1

                                             ! -2
                                                 0               5    10         15         20         25
                                             240
                                             190

                                             143

                                tempogram    114
                                              96

                                             72
                                              60
                                                    0            5    10         15         20         25
                                               1

                                             0.8

                                             0.6
                            tempo spectrum   0.4

                                             0.2

                                               0
                                                60          72       96    114        143        190        240




                                                             JEHAN STYLE
Friday, November 20, 2009
Friday, November 20, 2009
ECHO NEST REMIX API

                               chop sound into:

        Sections


        Bars

        Beats
                                                     ALL SONG
        Segments                                   ELEMENTS ARE
                                                  ITEMS IN A LIST
Friday, November 20, 2009
Delving into ‘Billie Jean’
           >> from pyechonest import track
           >>
           >> t=track.upload("BillieJean.mp3")
           >> t.tempo
           {'confidence': 0.966, 'value': 116.944}

           >> len(t.bars)
           142

           >> len(t.segments)
           1259
           >> t.segments[10]

           {'duration': 0.252, 'loudness_begin': -46.009,
            'loudness_end': -44.121, 'loudness_max': -30.931,
            'pitches': [0.342, 0.873, 0.843, 1.0, 0.511, 0.432, 0.841,
                        0.432, 0.691, 0.687, 0.329, 0.672],
            'start': 2.50204,
            'timbre': [19.50, 130.611, -114.94, 112.246, 28.369, -60.277,
                       -23.689, -10.537, 4.514, 12.957, -25.44, 2.88],
            'time_loudness_max': 0.0171}



Friday, November 20, 2009
Things you can build with
                                 The Echo Nest
                                    Track API




Friday, November 20, 2009
The Click Track Detector

                                                   Nirvana




                            Britney Spears
Friday, November 20, 2009
The Loudness war
                The loss of dynamic range in modern recordings




Friday, November 20, 2009
MUSIC VISUALIZATION




Friday, November 20, 2009
Friday, November 20, 2009
Visualizing Kid-A
                Song visualizations by using Echo Nest Analysis




                                    Visualizations by Chris Mueller
Friday, November 20, 2009
Visualizing Song self similarity
                  The shape of the song



    Madonna, Like A Prayer




                                                              Reich, Steve – Music for 18 Musicians: Pulses




                                     Visualization by Chris Mueller
Friday, November 20, 2009
SYNCHSTEP




                            MATCH MUSIC TO YOUR PACE

Friday, November 20, 2009
Song visualization on the iPhone
                Cocoa framework for the Echo Nest




Friday, November 20, 2009
Beethoven Hero
                Synchronizing visualizations with music




                                                          By Anita Lillie
Friday, November 20, 2009
Friday, November 20, 2009
THE ECHO NEST REMIX API




Friday, November 20, 2009
CLIENT LIBRARIES
                     Echo Nest
                       Remix
                                            Java
                                                         3RD PARTY
                                                            Cocoa
                   Pyechonest                         Flash       Ruby
                                                         Processing


                               Echo Nest Web Services
                            http://developer.echonest.com/pages/resources
Friday, November 20, 2009
Friday, November 20, 2009
>> song.segments
                                                         [segment, segment, segment...]
                                                         >> song.segments[10].start
                                                         34.502
                                                         >> song.segments[10].timbre
                                                         [-30.2, -10.4, 4.5, 3.2...]
                                                         >> song.segments[10].pitch
                                                         [0.5, 0.13, 1.0, .... ]


                                                         >> song.beats.reverse()



                                                         >> for i in segments:
                                                            i.stretch(2)
                                                            i = i + othersong.segment[12]


         >> You can mix elements, time stretch them, detect & change pitch, move them
         around, repeat them on downbeats, find a closest match in another song, detect and
         modify volume envelopes, read/write mp3, aiff, wav




                   ALL SONG ELEMENTS ARE ITEMS IN A LIST
Friday, November 20, 2009
WHAT
                            THE ECHO NEST REMIX API
                                    DOES




Friday, November 20, 2009
def one(input_filename, output_filename):
             audiofile = audio.LocalAudioFile(input_filename)
             bars = audiofile.analysis.bars
             collect = audio.AudioQuantumList()
             for bar in bars:
                 collect.append(bar.children()[0])
             out = audio.getpieces(audiofile, collect)
             out.encode(output_filename)




Friday, November 20, 2009
MAKE WEB SITES
Friday, November 20, 2009
MAKE WEB SITES
Friday, November 20, 2009
Hyperingo



      st = modify.Modify()
      afile = audio.LocalAudioFile(in_filename)
      beats = afile.analysis.beats
      total = float(len(beats))
      out_shape = (2*len(afile.data),)
      for i, beat in enumerate(beats):
          delta =  i / total
          new_ad = st.shiftTempo(afile[beat], 1 + delta / 2)
          out_data.append(new_ad)
      out_data.encode(out_filename)



Friday, November 20, 2009
Hyperingo



      st = modify.Modify()
      afile = audio.LocalAudioFile(in_filename)
      beats = afile.analysis.beats
      total = float(len(beats))
      out_shape = (2*len(afile.data),)
      for i, beat in enumerate(beats):
          delta =  i / total
          new_ad = st.shiftTempo(afile[beat], 1 + delta / 2)
          out_data.append(new_ad)
      out_data.encode(out_filename)



Friday, November 20, 2009
I’ve always wanted to hear
                            Michael Jackson trying to sing
                                Amerie’s “One Thing”


                                        -B.L.


                                   MAKE MUSIC
Friday, November 20, 2009
Make a James Brown Machine


                                  MAKE MUSIC
Friday, November 20, 2009
Let’s hear The Black Eyes Peas in 5/4.

                                            -P.L.
                                       MAKE MOVIES
Friday, November 20, 2009
API Workshop
       November 21, 2010
       Paul Lamere
       paul@echonest.com




Friday, November 20, 2009

Contenu connexe

Dernier

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

The Echo Nest workshop for Boston Music Hack Day

  • 1. API Workshop November 21, 2010 Paul Lamere paul@echonest.com Friday, November 20, 2009
  • 2. listening reading World of Music Audio learning World of Music Text Solutions WHAT THE ECHO NEST DOES Friday, November 20, 2009
  • 3. READING Artist • Tag Cloud • Similar Artists • Familiarity • Hotttnesss • News • Audio • Images • Video • Reviews • Biography Friday, November 20, 2009
  • 4. Track LISTENING •Tempo • Key Dm7 G7 CM7 C#O Dm7 G7 CM7 C#O Dm7 G7 CM7 C#O Dm7 G7 CM7 C#O • Time Signature x 10 4 • Mode • Sections 2 1 wave form 0 • Pitch ! -1 ! -2 0 2 4 6 8 10 12 14 16 • Timbre 1 0.8 25 auditory spectrogram loudness 0.6 20 0.4 • Tatums 15 0.2 10 0 0 2 4 6 8 10 12 14 16 5 25 • Beats 1 0 0.5 1 1.5 2 sec. 20 spectrogram 1 auditory 15 0.8 10 segmentation • Bars 5 0.6 1 0 2 4 0.4 6 8 10 12 14 16 0.2 B • Duration A 0 chromagram 0 0.5 1 20 1.5 2 sec. G B A# E A 40 D pitch features • Loudness G# C G 0 2 4 F# 6 8 10 6012 14 16 F E B segment-synchronous D# D 80 A • Metadata chromagram C# G C 0 0.5 1 1.5 2 sec. 100 E 25 D 20 120 timbre features C • Segments 0 2 4 6 8 10 12 14 16 15 140 10 • Fade in 5 160 1 2 4 6 8 10 12 14 16 segments 180 • Fade out 200 220 20 40 60 80 100 120 140 160 180 200 220 Friday, November 20, 2009
  • 7. Query: http://developer.echonest.com/api/get_similar ?api_key=YOUR_API_KEY &id=music://id.echonest.com/~/AR/AR2UWUD1187B9B3B01&rows=3 &version=3 Response: Friday, November 20, 2009
  • 8. CLIENT LIBRARIES Echo Nest Remix Java 3RD PARTY Cocoa Pyechonest Flash Ruby Processing Echo Nest Web Services http://developer.echonest.com/pages/resources Friday, November 20, 2009
  • 9. The Echo Nest Artist API Friday, November 20, 2009
  • 13. Get your gaga on ... from python >> from pyechonest import artist >> >> gaga = artist.search_artists(‘Lady Gaga’)[0] >> gaga <Artist ‘Lady Gaga’> >> gaga.hotttnesss() 0.86328906000000005 >> gaga.similar(2) [<Artist 'Ashley Tisdale'>, <Artist 'Britney Spears'>] Friday, November 20, 2009
  • 14. ARTIST RADIO IN TEN LINES OF CODE def wander(band, max=10): """ generate a playlist by wandering a seed artist neighborhood """ played = [] while max: if band.audio(): audio = random.choice(band.audio()) if audio['url'] not in played: play(audio) played.append(audio['url']) max -= 1 band = random.choice(band.similar()) Friday, November 20, 2009
  • 15. Find Weezer’s neighbors in Java ArtistAPI artistAPI = new ArtistAPI(MY_ECHO_NEST_API_KEY); List<Artist> artists = artistAPI.searchArtist("Weezer”, false); if (artists.size() > 0) { for (Artist artist : artists) { List<Scored<Artist>> similars = artistAPI.getSimilarArtists(artist, 0, 10); for (Scored<Artist> simArtist : similars) { System.out.println("   " + simArtist.getItem()); } } } Friday, November 20, 2009
  • 16. Things you can build with The Echo Nest Artist API Friday, November 20, 2009
  • 22. More engaging music discovery The Music Exploration Space Friday, November 20, 2009
  • 23. The Echo Nest Track API Friday, November 20, 2009
  • 24. 25 auditory spectrogram 20 15 auditory spectrogram 10 5 1 0 0.5 1 1.5 2 sec. 1 0.8 segmentation 0.6 segments 0.4 0.2 0 0 0.5 1 1.5 2 sec. B A# A pitch features G# G pitch features F# F E D# D C# C 0 0.5 1 1.5 2 sec. 25 20 timbre features 15 timbre features 10 5 1 2 4 6 8 10 12 14 16 segments JEHAN STYLE Friday, November 20, 2009
  • 25. 4 x 10 2 1 0 beat markers ! -1 ! -2 0 5 10 15 20 25 240 190 143 tempogram 114 96 72 60 0 5 10 15 20 25 1 0.8 0.6 tempo spectrum 0.4 0.2 0 60 72 96 114 143 190 240 JEHAN STYLE Friday, November 20, 2009
  • 27. ECHO NEST REMIX API chop sound into: Sections Bars Beats ALL SONG Segments ELEMENTS ARE ITEMS IN A LIST Friday, November 20, 2009
  • 28. Delving into ‘Billie Jean’ >> from pyechonest import track >> >> t=track.upload("BillieJean.mp3") >> t.tempo {'confidence': 0.966, 'value': 116.944} >> len(t.bars) 142 >> len(t.segments) 1259 >> t.segments[10] {'duration': 0.252, 'loudness_begin': -46.009, 'loudness_end': -44.121, 'loudness_max': -30.931, 'pitches': [0.342, 0.873, 0.843, 1.0, 0.511, 0.432, 0.841, 0.432, 0.691, 0.687, 0.329, 0.672], 'start': 2.50204, 'timbre': [19.50, 130.611, -114.94, 112.246, 28.369, -60.277, -23.689, -10.537, 4.514, 12.957, -25.44, 2.88], 'time_loudness_max': 0.0171} Friday, November 20, 2009
  • 29. Things you can build with The Echo Nest Track API Friday, November 20, 2009
  • 30. The Click Track Detector Nirvana Britney Spears Friday, November 20, 2009
  • 31. The Loudness war The loss of dynamic range in modern recordings Friday, November 20, 2009
  • 34. Visualizing Kid-A Song visualizations by using Echo Nest Analysis Visualizations by Chris Mueller Friday, November 20, 2009
  • 35. Visualizing Song self similarity The shape of the song Madonna, Like A Prayer Reich, Steve – Music for 18 Musicians: Pulses Visualization by Chris Mueller Friday, November 20, 2009
  • 36. SYNCHSTEP MATCH MUSIC TO YOUR PACE Friday, November 20, 2009
  • 37. Song visualization on the iPhone Cocoa framework for the Echo Nest Friday, November 20, 2009
  • 38. Beethoven Hero Synchronizing visualizations with music By Anita Lillie Friday, November 20, 2009
  • 40. THE ECHO NEST REMIX API Friday, November 20, 2009
  • 41. CLIENT LIBRARIES Echo Nest Remix Java 3RD PARTY Cocoa Pyechonest Flash Ruby Processing Echo Nest Web Services http://developer.echonest.com/pages/resources Friday, November 20, 2009
  • 43. >> song.segments [segment, segment, segment...] >> song.segments[10].start 34.502 >> song.segments[10].timbre [-30.2, -10.4, 4.5, 3.2...] >> song.segments[10].pitch [0.5, 0.13, 1.0, .... ] >> song.beats.reverse() >> for i in segments: i.stretch(2) i = i + othersong.segment[12] >> You can mix elements, time stretch them, detect & change pitch, move them around, repeat them on downbeats, find a closest match in another song, detect and modify volume envelopes, read/write mp3, aiff, wav ALL SONG ELEMENTS ARE ITEMS IN A LIST Friday, November 20, 2009
  • 44. WHAT THE ECHO NEST REMIX API DOES Friday, November 20, 2009
  • 45. def one(input_filename, output_filename): audiofile = audio.LocalAudioFile(input_filename) bars = audiofile.analysis.bars collect = audio.AudioQuantumList() for bar in bars: collect.append(bar.children()[0]) out = audio.getpieces(audiofile, collect) out.encode(output_filename) Friday, November 20, 2009
  • 46. MAKE WEB SITES Friday, November 20, 2009
  • 47. MAKE WEB SITES Friday, November 20, 2009
  • 48. Hyperingo st = modify.Modify() afile = audio.LocalAudioFile(in_filename) beats = afile.analysis.beats total = float(len(beats)) out_shape = (2*len(afile.data),) for i, beat in enumerate(beats): delta =  i / total new_ad = st.shiftTempo(afile[beat], 1 + delta / 2) out_data.append(new_ad) out_data.encode(out_filename) Friday, November 20, 2009
  • 49. Hyperingo st = modify.Modify() afile = audio.LocalAudioFile(in_filename) beats = afile.analysis.beats total = float(len(beats)) out_shape = (2*len(afile.data),) for i, beat in enumerate(beats): delta =  i / total new_ad = st.shiftTempo(afile[beat], 1 + delta / 2) out_data.append(new_ad) out_data.encode(out_filename) Friday, November 20, 2009
  • 50. I’ve always wanted to hear Michael Jackson trying to sing Amerie’s “One Thing” -B.L. MAKE MUSIC Friday, November 20, 2009
  • 51. Make a James Brown Machine MAKE MUSIC Friday, November 20, 2009
  • 52. Let’s hear The Black Eyes Peas in 5/4. -P.L. MAKE MOVIES Friday, November 20, 2009
  • 53. API Workshop November 21, 2010 Paul Lamere paul@echonest.com Friday, November 20, 2009