PDF of RailsConf Spotify Keynote

Transcription

PDF of RailsConf Spotify Keynote
Music + Data = Fun!
Some experiments in how we can use music data
to help improve the listening experience
RailsConf
May 6, 2016
Paul Lamere
The Aerosmith Anomaly
Relative listens per day
Relative
Number of Listens
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
“Close Shave” with Asteroid 2012 DA1
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
“Close Shave” with Asteroid 2012 DA1
‘Potentially Hazardous Asteroid’ EM26 near miss
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
“Close Shave” with Asteroid 2012 DA1
‘Potentially Hazardous Asteroid’ EM26 near miss
Rosetta spacecraft orbits Comet 67P
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
Philae landing site selected on Comet 67P
“Close Shave” with Asteroid 2012 DA1
‘Potentially Hazardous Asteroid’ EM26 near miss
Rosetta spacecraft orbits Comet 67P
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
Philae landing site selected on Comet 67P
“Close Shave” with Asteroid 2012 DA1
‘Potentially Hazardous Asteroid’ EM26 near miss
Rosetta spacecraft orbits Comet 67P
Robotic lander Philae touched down
on Comet 67P
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
Philae landing site selected on Comet 67P
“Close Shave” with Asteroid 2012 DA1
‘Potentially Hazardous Asteroid’ EM26 near miss
Rosetta spacecraft orbits Comet 67P
Robotic lander Philae touched down
on Comet 67P
“Don’t want to miss a thing” - Aerosmith
Relative streams per day
Strange listen spikes detected
“Don’t want to miss a thing” - Aerosmith
https://insights.spotify.com/us/2014/11/21/aerosmith-rosetta-comet/
A little bit about the speaker
Why do we care?
I’ve got 30 million songs in my pocket.
Now what?
Data about music
Music Metadata
artists, albums songs, labels
Cultural Data
What people are saying about music
Listener Data
Who listened to what and when
Acoustic Data
What the music sounds like
Data about music
Music Metadata
artists, albums songs, labels
Cultural Data
What people are saying about music
Listener Data
Who listened to what and when
Acoustic Data
What the music sounds like
Music Metadata
artists, albums songs, labels
•
5 Million artists
•
10 Million albums
•
40 Million tracks
name, biographies, images, years active, artist location,
band members, genre
title, year of release, artist, genre, track list, related
releases. album art, producer, label
title, year of release, duration, genre,
The most boring data
Music Metadata
Many challenges with music metadata
A simple query:
What are the songs on the album “White Christmas” by Bing Crosby
Let’s pause for a quiz
Why is this formula troublesome for music recommendation and discovery?
(ΔMī¹=αΣDi[n][ΣFij[n-1]+Fexti[[n̄¹]])
Let’s pause for a quiz
Why is this formula troublesome for music recommendation and discovery?
Because it is the name of a
song by Aphex Twin
(ΔMī¹=αΣDi[n][ΣFij[n-1]+Fexti[[n̄¹]])
OMG Metadata
OMG Metadata
The The
OMG Metadata
The The
Duran Duran Duran
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
!!!
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
!!!
†††
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
!!!
†††
///▲▲▲\\\
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
!!!
†††
///▲▲▲\\\
▼□■□■□■
OMG Metadata
The The
Duran Duran Duran
DJ Donna Summer
GL SS †33†H
!!!
†††
///▲▲▲\\\
▼□■□■□■
Various Artists
OMG Metadata
The 22 bands named Eclipse
Experiment #1
Answer a very important question on Quora
Have band names been getting longer?
Have band names been getting longer?
let’s use the some data to find out
• Collect the top 500 artists for each 5 year window
(via Echo Nest or Musicbrainz)
• Calculate the average name length for period.
Have artist names been getting longer?
Let’s find out with data!
Have artist names been getting longer?
Let’s find out with data!
• Collect the top 500 artists for each 5 year window
• Calculate the average name length for period.
Have artist names been getting longer?
Let’s find out with data!
• Collect the top 500 artists for each 5 year window
• Calculate the average name length for period.
The code is shorter than Zach’s answer
Have band names been getting longer?
Have band names been getting longer?
Year
NO
1955 - 1959!
Average name length
The average length of artist names peaked in the period from 1955-1959.
Average name length was 2 characters longer in 1955 than in 2012
Band names from 1955-1959
44 Van McCoy & The Soul City Symphony Orchestra
35 Academy of St. Martin in the Fields
33 The Clancy Brothers & Tommy Makem
33 Cliff Bennett & The Rebel Rousers
32 Maurice Williams and The Zodiacs
31 Herb Alpert & The Tijuana Brass
30 Smokey Robinson & The Miracles
30 Little Anthony & The Imperials
29 Van Morrison & The Chieftains
29 Nelson Riddle & His Orchestra
29 George Clinton and Parliament
29 Frankie Lymon & The Teenagers
29 Clancy Brothers & Tommy Makem
Longest band names
51
48
47
46
44
43
43
41
39
37
37
37
36
36
2010
1994
1967
1993
1959
2000
1950
1981
1972
2010
2005
1999
2009
1977
Tim and Sam’s Tim and the Sam Band with Tim and Sam
...And You Will Know Us By The Trail Of The Dead
Charles Wright & The Watts 103rd St Rhythm Band
The Presidents of the United States of America
Van McCoy & The Soul City Symphony Orchestra
Richard Cheese & Lounge Against The Machine
Benedictine Monks of Santo Domingo de Silos
Emir Kusturica & The No Smoking Orchestra
Afrika Bambaataa & The Soul Sonic Force
Antoine Dodson & The Gregory Brothers
Edward Sharpe and the Magnetic Zeroes
Someone Still Loves You Boris Yeltsin
Sten Anderson and the Hungry Fathers
Gloria Estefan & Miami Sound Machine
Data about music
Music Metadata
artists, albums songs, labels
Cultural Data
What people are saying about music
Listener Data
Who listened to what and when
Acoustic Data
What the music sounds like
Cultural Data
What people are saying about music
Artist Bios
The web
Playlists
Reviews
Blogs
Lyrics
Forums
Events
Social sites
Understanding an artist
black metal
powerful
metal
extreme
melodic black metal
gothic
run-of-the-mill atmospheric
strong
unique
symphonic epic
orchestration
Norwegian fast
melodic
heavy
famous
Cultural artist similarity
Artist Bios
The web
Reviews
Blogs
Lyrics
Forums
Events
Social sites
Playlists
Cultural artist similarity
pop dance diva sexy female
guilty pleasure teen 00s rock
california dance-pop hot 10s
90s Norway satanic 10s fast
dark 00s heavy melodic
symphonic metal epic
extreme gothic black-metal
Experiment #2
Exposing a listener to new music
Experiment #2
Exposing a listener to new music
The extreme edition
Help a Katy Perry fan
to Dimmu Borgir
l
Help a Katy Perry fan listen to Dimmu Borgir
pop dance diva sexy female
guilty pleasure teen 00s rock
california dance-pop hot 10s
90s Norway satanic 10s fast
dark 00s heavy melodic
symphonic metal epic
extreme gothic black-metal
pop dance diva sexy female
guilty pleasure teen 00s rock
california dance-pop hot 10s
female metal goth 10s emo
diva dark gothic rock
numetal guilty pleasure
melodic pop epic 00s
90s Norway satanic 10s fast
dark 00s heavy melodic
symphonic metal epic
extreme gothic black-metal
Katy Perry
Dimmu Borgir
http://www.stanford.edu/~dgleich/demos/worldofmusic/WorldOfMusic.html
Katy Perry
Evanescence
Dimmu Borgir
http://www.stanford.edu/~dgleich/demos/worldofmusic/WorldOfMusic.html
Katy Perry
Evanescence
Dimmu Borgir
http://www.stanford.edu/~dgleich/demos/worldofmusic/WorldOfMusic.html
Data about music
Music Metadata
artists, albums songs, labels
Cultural Data
What people are saying about music
Listener Data
Who listened to what and when
Acoustic Data
What the music sounds like
Listener Data
Listener Data
Who listened to what and when
• User / Song/ action / timestamps
•
•
Action: play, skip, favorite, rate, ban, volume change, etc.
10 million listeners generate one
billion data points per week
Experiment #3
Who are the most passionate fans?
Dubstep Fan
Metal heads
Passion Index - Average plays per fan
Two artists - each with 1,000,000 plays
200, 000 fans
5 plays per fan
Low Passion
10,000 fans
100 plays per fan
High Passion
Data is this example is fictitious and does not represent the real fans or plays for either of these two fine artists
Passion Index
Passion Index
High plays per listener
Passion Index
Low plays per listener
Who has the most passionate fans?
Who has the most passionate fans?
Who has the most passionate fans?
Who has the most passionate fans?
Average 115 plays per fan
Who has the most passionate fans?
Average 115 plays per fan
Passion Index
passionate
Metal heads are
passionate
music fans
9 out of the top 20 are metal bands.
Zero are dubstep
Passion Index
passionate
Metal heads are
passionate
music fans
9 out of the top 20 are metal bands.
Zero are dubstep
Passion Index
Who has the least
passionate fans?
Passion Index
Who has the least
passionate fans?
Passion Index
Who has the least
passionate fans?
Passion Index
Who has the least
passionate fans?
Average only 5 plays per ‘fan’
Passion Index
Who has the least
passionate fans?
Average only 5 plays per ‘fan’
Passion Index
Who has the least
passionate fans?
Average only 5 plays per ‘fan’
Experiment #4
What can we learn from two
billion playlists?
Top playlist names on Spotify
Rap
Country
House
Rock
Music
Chill
Party
Workout
Gym
Roadtrip
Top playlist names on Spotify
Rap
Country
House
Rock
Music
Chill
Party
Workout
Gym
Roadtrip
17 of the top 100 playlist names are genre related
Top playlist names on Spotify
Rap
Country
House
Rock
Music
Chill
Party
Workout
Gym
Roadtrip
17 of the top 100 playlist names are genre related
41 of the top 100 playlist names are context related
Top playlist names on Spotify
Rap
Country
House
Rock
Music
Chill
Party
Workout
Gym
Roadtrip
17 of the top 100 playlist names are genre related
41 of the top 100 playlist names are context related
Context is the new genre
Top context-related playlists
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Training and workout
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Mood
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Travel
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Romance
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Time
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Focus
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Socializing
Chill Party Workout Relax Gym Dance Sleep Pregame Car
Feel Good Roadtrip Summer Work Study Sex Pump up Night
Drive Training Gaming Shower Ski Snowboarding Cafe
Homework Twerk On the road Motivation School 420 Dinner
Running Friends Sad XC School Yoga Winter Coffee Sleepy Flow
Girls Night Commute Drinking Crossfit Break Up Inspiration
Smoking Romance Afterski Preparty Beach Cardio Hike Fly
Afternoon Happiness Training Walk Predrinks Office Cry
Wake up Travel Fitness Focus Cleaning Cruising Lifting Evening
Rainy Day Autumn Train Love Worship Depression Morning
Context is important, but …
Context is important, but …
Context is hard!
Context is important, but …
Context is hard!
Let’s find music for a particular context by mining tracks
from the 2 billion existing playlists
Context is important, but …
Context is hard!
Let’s find music for a particular context by mining tracks
from the 2 billion existing playlists
“Create a playlist of mainstream tracks good for running for an 55 year-old male”
The Playlist Miner
Query: Distinctive mainstream running songs for 55+ year-old male
running
morning run
running tunes
2 Billion
Playlists
songs for my run
running
fast run
tuesday run
“running”
10,000 running playlists
The Playlist Miner
Query: Distinctive mainstream running songs for 55+ year-old male
running
morning run
100,000 ranked running songs
1.
2.
3.
4.
5.
running tunes
songs for my run
running
fast run
ay run
running playlists
aggregate tracks
Filter tracks by
demographics,
popularity, etc.
R
B
G
E
I
The Playlist Miner
Query: Distinctive mainstream running songs for 55+ year-old male
1.
2.
3.
4.
5.
Filter tracks by
demographics,
popularity, etc.
Running on Empty - Jackson Browne
Born to Run - Bruce Springsteen
Gonna Fly Now (Rocky) - Bill Conti
Eye of the Tiger - Survivor
I Ran (So Far Away) - Flock of Seagulls
Top 55+ year-old male Running tracks
1.
2.
3.
4.
5.
Running on Empty - Jackson Browne
Born to Run - Bruce Springsteen
Gonna Fly Now (Rocky) - Bill Conti
Eye of the Tiger - Survivor
I Ran (So Far Away) - Flock of Seagulls
Top 55+ year-old male Running tracks
1.
2.
3.
4.
5.
Running on Empty - Jackson Browne
Born to Run - Bruce Springsteen
Gonna Fly Now (Rocky) - Bill Conti
Eye of the Tiger - Survivor
I Ran (So Far Away) - Flock of Seagulls
Top 55+ year-old male Running tracks
1.
2.
3.
4.
5.
Running on Empty - Jackson Browne
Born to Run - Bruce Springsteen
Gonna Fly Now (Rocky) - Bill Conti
Eye of the Tiger - Survivor
I Ran (So Far Away) - Flock of Seagulls
Top 18-24 year-old female Running tracks
1.
2.
3.
4.
5.
Runaway Baby - Bruno Mars
I Just Wanna Run - The Downtown Fiction
Stronger - Kelly Clarkson
Fighter - Christina Aguilera
Every chance we get we run - David Guetta
Top 18-24 year-old female Running tracks
1.
2.
3.
4.
5.
Runaway Baby - Bruno Mars
I Just Wanna Run - The Downtown Fiction
Stronger - Kelly Clarkson
Fighter - Christina Aguilera
Every chance we get we run - David Guetta
Top 18-24 year-old female Running tracks
1.
2.
3.
4.
5.
Runaway Baby - Bruno Mars
I Just Wanna Run - The Downtown Fiction
Stronger - Kelly Clarkson
Fighter - Christina Aguilera
Every chance we get we run - David Guetta
Top 55+ year-old male Roadtrip tracks
1.
2.
3.
4.
5.
On the Road Again - Willie Nelson
Running On Empty - Jackson Browne
Radar Love - Golden Earring
On the Road Again - Canned Heat
Ventura Highway - America
Top 55+ year-old male Roadtrip tracks
1.
2.
3.
4.
5.
On the Road Again - Willie Nelson
Running On Empty - Jackson Browne
Radar Love - Golden Earring
On the Road Again - Canned Heat
Ventura Highway - America
Top 55+ year-old male Roadtrip tracks
1.
2.
3.
4.
5.
On the Road Again - Willie Nelson
Running On Empty - Jackson Browne
Radar Love - Golden Earring
On the Road Again - Canned Heat
Ventura Highway - America
Top 18-24 year-old female Roadtrip tracks
1.
2.
3.
4.
5.
All Summer Long - Kid Rock
Beautiful Life - Union J
Superbad - Jesse McCarthy
Ride - JTR
Rockstar - A Great Big World
Top 18-24 year-old female Roadtrip tracks
1.
2.
3.
4.
5.
All Summer Long - Kid Rock
Beautiful Life - Union J
Superbad - Jesse McCarthy
Ride - JTR
Rockstar - A Great Big World
Top 18-24 year-old female Roadtrip tracks
1.
2.
3.
4.
5.
All Summer Long - Kid Rock
Beautiful Life - Union J
Superbad - Jesse McCarthy
Ride - JTR
Rockstar - A Great Big World
Top 55+ year-old male Sexy Time tracks
1.
2.
3.
4.
5.
Love Me - The Little Willies
Let’s Get it On - Marvin Gaye
A Whiter Shade of Pale - Procol Harum
Nobody Does it Better - Carly Simon
You’ll Never Find Another Love Like Mine - Lou Rawls
Top 55+ year-old male Sexy Time tracks
1.
2.
3.
4.
5.
Love Me - The Little Willies
Let’s Get it On - Marvin Gaye
A Whiter Shade of Pale - Procol Harum
Nobody Does it Better - Carly Simon
You’ll Never Find Another Love Like Mine - Lou Rawls
Top 55+ year-old male Sexy Time tracks
1.
2.
3.
4.
5.
Love Me - The Little Willies
Let’s Get it On - Marvin Gaye
A Whiter Shade of Pale - Procol Harum
Nobody Does it Better - Carly Simon
You’ll Never Find Another Love Like Mine - Lou Rawls
Top 18-24 year-old female Sexy Time tracks
1.
2.
3.
4.
5.
Love Faces - Trey Songz
Take You Down - Chris Brown
Dive In - Trey Songz
Birthday Sex - Jeremih
Kisses Down Low - Kelly Rowland
Top 18-24 year-old female Sexy Time tracks
1.
2.
3.
4.
5.
Love Faces - Trey Songz
Take You Down - Chris Brown
Dive In - Trey Songz
Birthday Sex - Jeremih
Kisses Down Low - Kelly Rowland
Top 18-24 year-old female Sexy Time tracks
1.
2.
3.
4.
5.
Love Faces - Trey Songz
Take You Down - Chris Brown
Dive In - Trey Songz
Birthday Sex - Jeremih
Kisses Down Low - Kelly Rowland
Top 55+ year-old male Break Up tracks
1.
2.
3.
4.
5.
Cry Like a Baby - The Box Tops
The Heart of the Matter - Don Henley
Crying in the Rain - The Everly Brothers
Crying - Roy Orbison
Always on my Mind - Willie Nelson
Top 55+ year-old male Break Up tracks
1.
2.
3.
4.
5.
Cry Like a Baby - The Box Tops
The Heart of the Matter - Don Henley
Crying in the Rain - The Everly Brothers
Crying - Roy Orbison
Always on my Mind - Willie Nelson
Top 55+ year-old male Break Up tracks
1.
2.
3.
4.
5.
Cry Like a Baby - The Box Tops
The Heart of the Matter - Don Henley
Crying in the Rain - The Everly Brothers
Crying - Roy Orbison
Always on my Mind - Willie Nelson
Top 18-24 year-old female Break Up tracks
1.
2.
3.
4.
5.
F*ck It (I Don’t Want You Back) - Eamon
Too Little, Too Late - JoJo
Potential BreakUp Song - Aly & AJ
Since U Been Gone - Kelly Clarkson
Leave (Get Out) - JoJo
Top 18-24 year-old female Break Up tracks
1.
2.
3.
4.
5.
F*ck It (I Don’t Want You Back) - Eamon
Too Little, Too Late - JoJo
Potential BreakUp Song - Aly & AJ
Since U Been Gone - Kelly Clarkson
Leave (Get Out) - JoJo
Experiment #5
Using scrubbing data to find the best part of a song
Using scrubbing data to find
the best part of a song
Most common scrub-to location in the song based upon millions of listeners
Using scrubbing data to find
the best part of a song
Most common scrub-to location in the song based upon millions of listeners
Using scrubbing data to find
the best part of a song
Most common scrub-to location in the song based upon millions of listeners
Hotspot is an awesome
drop detector
What’s the most
prominent Hip Hop ?
Find the biggest drop by
an artist from the
19th Century
Classic Rock:
It’s all about the guitar solo
The greatest ‘moment’
in Classic Rock
The greatest scream
in Rock
The best 15 seconds of the
Rolling Stones
I will always love the chorus
Why do we care?
• 30 second previews generation
• The ultimate drop detector
• Guide automatic song transitions for Party
Mode and Run to the Beat
• “Play the best part” button
Just the Drop
Data about music
Music Metadata
artists, albums songs, labels
Cultural Data
What people are saying about music
Listener Data
Who listened to what and when
Acoustic Data
What the music sounds like
Acoustic Data
How can we do this?
What the music sounds like
Machine Listening
waveform
analysis
summarization
Audio
Tempo
Spectrum
Segment
Experiment #6
Is a human setting the beat for your favorite song?
Stewart Copeland
http://labs.echonest.com/click/
Stewart Copeland
http://labs.echonest.com/click/
Stewart Copeland
http://labs.echonest.com/click/
Stewart Copeland
http://labs.echonest.com/click/
Stewart Copeland
http://labs.echonest.com/click/
Machine score: 25%
HUMAN Drummer
The Machine
The Machine
The Machine
The Machine
Machine score: 97%
MACHINE Drummer
How we used to listen to music
How we listen to music now
How we listen to music now
Let’s bring back some of that interactivity in the next 8 experiments
Experiment #7
Find the most dramatic moments in your music
Finding the dramatic bits in your music
Finding the dramatic bits in your music
Finding the dramatic bits in your music
Finding the dramatic bits in your music
Experiment #8
Create advanced dynamic visualizations for your music
Experiment #9
Automatically remix your music
Data-driven algorithmic music remixing
First beat of every bar
track = remixer.analyze_track(’bad romance.mp3’)
beats = []
for beat in track['analysis']['beats']:
if beat['index_in_parent'] == 0:
beats.append(beat)
remixer.render(beats).export(’one romance.mp3’)
Data-driven algorithmic music remixing
First beat of every bar
track = remixer.analyze_track(’bad romance.mp3’)
beats = []
for beat in track['analysis']['beats']:
if beat['index_in_parent'] == 0:
beats.append(beat)
remixer.render(beats).export(’one romance.mp3’)
Data-driven algorithmic music remixing
First beat of every bar
track = remixer.analyze_track(’bad romance.mp3’)
beats = []
for beat in track['analysis']['beats']:
if beat['index_in_parent'] == 0:
beats.append(beat)
remixer.render(beats).export(’one romance.mp3’)
Data-driven algorithmic music remixing
First beat of every bar
track = remixer.analyze_track(’bad romance.mp3’)
beats = []
for beat in track['analysis']['beats']:
if beat['index_in_parent'] == 0:
beats.append(beat)
remixer.render(beats).export(’one romance.mp3’)
Data-driven algorithmic music remixing
First beat of every bar
track = remixer.analyze_track(’bad romance.mp3’)
beats = []
for beat in track['analysis']['beats']:
if beat['index_in_parent'] == 0:
beats.append(beat)
remixer.render(beats).export(’one romance.mp3’)
Data-driven algorithmic music remixing
beat reversing
track = remixer.analyze_track('bad romance.mp3')
beats = track['analysis']['beats']
remixer.render(reversed(beats)).export('rev.mp3')
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
Data-driven algorithmic music remixing
beat reversing
track = remixer.analyze_track('bad romance.mp3')
beats = track['analysis']['beats']
remixer.render(reversed(beats)).export('rev.mp3')
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
Data-driven algorithmic music remixing
beat reversing
track = remixer.analyze_track('bad romance.mp3')
beats = track['analysis']['beats']
remixer.render(reversed(beats)).export('rev.mp3')
16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
Data-driven algorithmic music remixing
beat reversing
track = remixer.analyze_track('bad romance.mp3')
beats = track['analysis']['beats']
remixer.render(reversed(beats)).export('rev.mp3')
16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
Experiment #10
‘Improve’ your favorite song by changing the drummer
The Bonhamizer
Some songs just need a little Bonzo
fun.
The Bonhamizer
Some songs just need a little Bonzo
fun.
The Bonhamizer
Some songs just need a little Bonzo
fun.
The Bonhamizer
Some songs just need a little Bonzo
fun.
The Bonhamizer
Some songs just need a little Bonzo
John Bonham
fun.
+
=
FUNNER!!
Experiment #11
Make your favorite song ‘swing’
Experiment #11
Make your favorite song ‘swing’
4 straight beats
Experiment #11
Make your favorite song ‘swing’
4 straight beats
4 swinging beats
Make any song ‘swing’
Make any song ‘swing’
Make any song ‘swing’
Make any song ‘swing’
Make any song ‘swing’
Make any song ‘swing’
Experiment #12
Make your favorite song last forever
The Infinite Jukebox
For when your favorite song isn’t long enough
Experiment #13
Turn your favorite song into a canon
The Autocanonizer
Experiment #14
Play with your favorite song
Girl Talk in a Box
Treat your favorite song like a musical instrument
I’ve got 30 million songs in my pocket.
Now what?
Data that help us
better
understand the
world of music
will be
increasingly
important
Music + Data = Fun!
Some experiments in how we can use music data
to help improve the listening experience
Demos: bit.ly/MusicAtRailsConf
Paul Lamere
@plamere