The Echo Nest workshop for Boston Music Hack Day
Upcoming SlideShare
Loading in...5
×
 

The Echo Nest workshop for Boston Music Hack Day

on

  • 3,502 views

This is a slide deck for the Echo Nest API workshop presented at the Boston Music Hack Day on November 21, 2010. Note that the live presentation has music and video that is not present in this deck

This is a slide deck for the Echo Nest API workshop presented at the Boston Music Hack Day on November 21, 2010. Note that the live presentation has music and video that is not present in this deck

Statistics

Views

Total Views
3,502
Views on SlideShare
2,324
Embed Views
1,178

Actions

Likes
1
Downloads
31
Comments
1

5 Embeds 1,178

http://musicmachinery.com 1171
http://translate.googleusercontent.com 3
http://www.slideshare.net 2
http://www.hanrss.com 1
http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • The            setup            in            the            video            no            longer            works.           
    And            all            other            links            in            comment            are            fake            too.           
    But            luckily,            we            found            a            working            one            here (copy paste link in browser) :            www.goo.gl/yT1SNP
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

The Echo Nest workshop for Boston Music Hack Day The Echo Nest workshop for Boston Music Hack Day Presentation Transcript

  • 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