1. IIIA - CSIC
Taking
people
back into
social Web music
Claudio Baccigalupo – April 2009
2. Timeline and motivation
Poolcasting Web Radio (30’)
MySpace Robot (15’)
Q&A and Demo (15’)
“ e beauty of the Internet is that it connects people.
e value is in the other people. If we start to believe that
the Internet itself is an entity that has something to say, we’re
devaluing those people and making ourselves into idiots.”
– Jaron Lanier (Computer scientist, composer, visual artist)
15. How to satisfy a group of listeners?
Variety
the same song or songs by the
same artist should not be
repeated closely on a channel
16. How to satisfy a group of listeners?
Variety Smoothness
the same song or songs by the each song should be musically
same artist should not be associated with the previous
repeated closely on a channel song played in the channel
17. How to satisfy a group of listeners?
Variety Smoothness
the same song or songs by the each song should be musically
same artist should not be associated with the previous
repeated closely on a channel song played in the channel
Customisation
each song should match the
musical preferences of the
current listeners
18. How to satisfy a group of listeners?
Variety Smoothness
the same song or songs by the each song should be musically
same artist should not be associated with the previous
repeated closely on a channel song played in the channel
Customisation Fairness
each song should match the all the listeners of a channel
musical preferences of the should equally have an
current listeners enjoyable music experience
19. How to fulfil the required properties?
Variety Smoothness
each song should be musically
exclude from the channel any associated with the previous
recently played song or artist song played in the channel
Customisation Fairness
each song should match the all the listeners of a channel
musical preferences of the should equally have an
current listeners enjoyable music experience
20. How to fulfil the required properties?
Variety Smoothness
exclude from the channel any which songs and artists are
recently played song or artist “musically associated”?
How to automatically acquire knowledge
about musical associations?
Customisation Fairness
each song should match the all the listeners of a channel
musical preferences of the should equally have an
current listeners enjoyable music experience
21. Knowledge about musical associations
Poolcasting extracts this knowledge from a set of 993,825
playlists compiled by the users of MusicStrands
Playlists are sequences of songs ordered according to
musical, social and cultural criteria that are not discoverable
with acoustic-based analysis
e more the playlists where two songs or artists co-occur,
the smaller the distance at which they occur, and the smaller
the number of playlists where only one of the two occurs, the
higher their musical association
22. Knowledge about musical associations
DRG layout of co-occurrences of songs in a set of 993,825 MusicStrands playlists
23. Knowledge about musical associations
DRG layout of co-occurrences of songs in a set of 106,144 Last.fm playlists
24. Knowledge about musical associations
Top associated songs for Smoke on the Water (Deep Purple):
Space Truckin’ (VV.AA.) Cold Metal (Iggy Pop) Iron Man (Black Sabbath) China Groove ( e
Doobie Brothers) Crossroads (E. Clapton) Sunshine of your love (Cream) Wild ing (J. Hendrix)
Top associated artists for ABBA:
Agnetha Fältskog A-Teens Chic Gloria Gaynor e 5th Dimension Andy Gibb
Similar artists for ABBA (Last.fm):
Agnetha Fältskog Frida Boney M. Bee Gees Olivia Newton-John Baccara
Similar artists for ABBA (All Music Guide):
Ace of Base Gemini Maywood Bananarama Lisa Stans eld Gary Wright Roxette
25. How to fulfil the required properties?
Variety Smoothness
exclude from the channel any which songs and artists are
recently played song or artist “musically associated”?
Customisation Fairness
each song should match the all the listeners of a channel
musical preferences of the should equally have an
current listeners enjoyable music experience
26. How to fulfil the required properties?
Variety Smoothness
exclude from the channel any which songs and artists are
recently played song or artist “musically associated”?
How to automatically acquire knowledge
about the musical preferences of the listeners?
Customisation Fairness
all the listeners of a channel
which songs and artists the should equally have an
audience would like to hear? enjoyable music experience
27. Knowledge about musical preferences
Explicit preferences for songs played or scheduled on a radio
channel can be stated using the Web interface
28. Knowledge about musical preferences
Implicit preferences of participants for songs in their shared
libraries can be inferred combining rating and play count
29. How to fulfil the required properties?
Variety Smoothness
exclude from the channel any which songs and artists are
recently played song or artist “musically associated”?
Customisation Fairness
all the listeners of a channel
which songs and artists the should equally have an
audience would like to hear? enjoyable music experience
30. Variety Smoothness
exclude from the channel any which songs and artists are
recently played song or artist “musically associated”?
How to aggregate multiple preferences over time
and satisfy all the listeners of a channel?
Customisation Fairness
which songs and artists the how to create a musical
audience would like to hear? sequence that everyone likes?
31. The music selection algorithm
Shared Libraries Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
(Tears For Fears)
?
Participants
32. The music selection algorithm
Shared Libraries Music Pool Channel Pool (Rock) Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
(Tears For Fears)
?
Participants
33. The music selection algorithm
Shared Libraries Music Pool Channel Pool (Rock) Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
Retrieve candidate songs (Tears For Fears)
musically associated
with the last song played
?
Participants
34. The music selection algorithm
Shared Libraries Music Pool Channel Pool (Rock) Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
Retrieve candidate songs (Tears For Fears)
musically associated
with the last song played
Best ranked candidate
Musical preferences
among current listeners
Participants
35. Preference aggregation
ree listeners have diverging individual preferences over
which song to play after Woman in Chains (Tears For Fears)
possible aggregated
candidates preferences
-0.6 0.2 1 ?
0 0.2 0.4 ?
0.8 0.4 0 ?
0.2 0.6 -1 ?
36. Preference aggregation
ree listeners have diverging individual preferences over
which song to play after Woman in Chains (Tears For Fears)
possible aggregated
candidates preferences
-0.6 0.2 1 ?
0 0.2 0.4 ?
0.8 0.4 0 ?
0.2 0.6 -1 ?
37. Preference aggregation
To avoid misery, candidate songs that any listener “dislikes”
automatically get the lowest group preference degree
possible aggregated
candidates preferences
-0.6 0.2 1 ?
0 0.2 0.4 ?
0.8 0.4 0 ?
0.2 0.6 -1 -1
38. Preference aggregation
To avoid misery, candidate songs that any listener “dislikes”
automatically get the lowest group preference degree
possible aggregated
candidates preferences
-0.6 0.2 1 ?
0 0.2 0.4 ?
0.8 0.4 0 ?
0.2 0.6 -1 -1
39. Preference aggregation
To ensure fairness, the group preference for the remaining
candidates equals to the average of the individual preferences
possible aggregated
candidates preferences
-0.6 0.2 1 0.2
0 0.2 0.4 0.2
0.8 0.4 0 0.4
0.2 0.6 -1 -1
40. Preference aggregation
e highest ranked song is selected to be played next,
leaving some listeners more satis ed than others
possible aggregated
candidates preferences
0.2
0.2
0.8 0.4 0 0.4
-1
41. Preference aggregation
e highest ranked song is selected to be played next,
leaving some listeners more satis ed than others
possible aggregated
candidates preferences
0.2
very quite not
satis ed satis ed satis ed
0.2
0.8 0.4 0 0.4 ✓
-1
42. Preference aggregation
To achieve fairness in the long run, the preferences of less
satis ed listeners have more in uence to select the next song
successive
possible aggregated
candidates preferences
1 0.3 0.6 ?
0 0.9 0.2 ?
0.6 0.4 -0.1 ?
-0.8 0.3 -1 ?
45. The music selection algorithm
Shared Libraries Music Pool Channel Pool (Rock) Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
Retrieve candidate songs (Tears For Fears)
musically associated
with the last song played
?
Musical preferences
Best ranked candidate
Individual satisfactions among current listeners
Participants
46. The music selection algorithm
Shared Libraries Music Pool Channel Pool (Rock) Rock Channel
…
Everybody Knows
(Leonard Cohen)
You’re in the air
(R.E.M.)
Woman in Chains
Retrieve candidate songs (Tears For Fears)
musically associated
with the last song played Missing
(Calexico)
Musical preferences
Best ranked candidate
Individual satisfactions among current listeners
Participants
47. The Poolcasting architecture
playlists Database
MUSIC POOL MUSICAL ASSOCIATIONS CURRENT LISTENERS
metadata
PREFERENCES CHANNELS
list of
list of available listeners
shared songs songs
knowledge to Stream Generator
ratings and schedule
play counts
audio signal
Library Parser Song Scheduler Streaming Server
upload
song OGG stream
(256 Kbps)
share library rate songs create channel
MP3 stream
Web Interface (64 Kbps)
I N T E R N E T
Media
Personal Library Participant Player Participant
48. In favour of the “long tail” of music
Each channel plays a group-customised ordered sequence of
songs, adapting in real time to the taste of a changing
audience without any e ort by the listeners
Channels play di erent songs at di erent times depending
on which libraries are shared and which persons are listening
Whole libraries are exploited, not just the “top of the iceberg”
,
while musical associations tend to favour uncommon songs,
enabling people to discover or re-discover music
e selection process is able to satisfy an heterogeneous
group up, but only under a threshold number of listeners
54. 2,123 in common
Expanding the tree of friends
Bob
Dylan Miles Davis has
27,973 friends
Johnny Miles Coleman
Cash Davis Hawkins
Hank
Mobley
Stan
Getz
55. 2,123 in common
Expanding the tree of friends
Bob Bob Dylan has 189,037 friends,
Dylan 824 shared with Miles Davis
Jakob
Dylan Sheryl
Crow
Johnny Miles Coleman
Cash Davis Hawkins
Matt
Costa
Hank
Mobley
Stan
Getz
56. 2,123 in common
Expanding the tree of friends
Bob Coleman Hawkins has 261 friends,
Dylan 115 shared with Miles Davis
Quincy
Jones
Johnny Miles Coleman
Cash Davis Hawkins
Charlie
Hank Parker
Mobley
Stan
Getz
57. 2,123 in common
Counting shared connections
Bob
824 common friends (0%)
Dylan
286 common friends (0%)
115 common friends (44%)
Johnny Miles Coleman
Cash Davis Hawkins
Hank 2,120 common friends (14%)
17 common friends (30%)
Mobley
Stan
44 common friends (31%) Getz