Generating Playback Sequences of Songs with Constraint Satisfaction Programming

With the right songs at the right time, a playback sequence of songs can fulfil the two fundamentals of a good music listening experience: the desire for repetition and the desire for surprise. Many businesses play continuous music in their locations with automatic playback generation, and for them,...

Full description

Bibliographic Details
Main Author: Nilsson, Josefin
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2020
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-279298
id ndltd-UPSALLA1-oai-DiVA.org-kth-279298
record_format oai_dc
collection NDLTD
language English
format Others
sources NDLTD
topic Computer Sciences
Datavetenskap (datalogi)
spellingShingle Computer Sciences
Datavetenskap (datalogi)
Nilsson, Josefin
Generating Playback Sequences of Songs with Constraint Satisfaction Programming
description With the right songs at the right time, a playback sequence of songs can fulfil the two fundamentals of a good music listening experience: the desire for repetition and the desire for surprise. Many businesses play continuous music in their locations with automatic playback generation, and for them, a good music experience can improve the overall customer satisfaction as well as increase sales. This is something that Soundtrack Your Brand, a Stockholm based mu- sic streaming company, seize by offering their clients music tailored for their business. One way of generating playback sequences of songs given a playlist and at the same time define criteria that the sequence should fulfil is by modelling it as a Constraint Satisfaction Problem. The problem can be defined as given a playlist of songs as input, generate a playback sequence of the songs such as a set of constraints over the attributes of the songs in the playback is satisfied. This thesis investigates if Constraint Satisfaction Programming is a viable approach for generating playback sequences and if so, how efficiently it can be done. A Constraint Satisfaction Programming sequencer is implemented which models three types of constraints and uses a Hill Climbing approach to solve the playback problem. The proposed sequencer is benchmarked against the current solution at Soundtrack Your Brand, which is a greedy algorithm, as well as a purely random shuffle. The results show that the proposed sequencer outperforms both the current solution and a random shuffle with regards to how well they satisfied the stated constraints. The efficiency of the sequencer is measured with regards to run-time and memory usage in different scenarios where the results indicate a viable performance when the size of the playlist increases. When comparing the proposed sequencer to the current solution, it is found that the sequencer has a short run-time for each of the playlist size that was tested. By combining the benchmarking- and efficiency evaluation results, the thesis concludes that it is possible to generate playback sequences with Constraint Satisfaction Programming and that it can be done efficiently enough for it to be run in a production environment. === Med rätt låt vid rätt tidpunkt kan uppspelningssekvenser av låtar uppfylla de två grundläggande egenskaperna av en bra musiklyssningsupplevelse: önskan för upprepning och önskan för överraskningar. Många företag spelar musik kontinuerligt i sina lokaler med automatisk uppspelningsordning, och för dem kan en bra musikupplevelse förbättra den generella kundbelåtenheten samt öka försäljningen. Det här är något som Soundtrack Your Brand, ett musik- streamingföretag baserat i Stockholm, utnyttjar genom att erbjuda sina kunder musik skräddarsydd för deras företag. Ett sätt att generera uppspelningssekvenser av låtar givet en spellista och samtidigt definiera kriterier sekvensen ska uppfylla är genom att modellera det som ett villkorsproblem. Problemet kan definieras som att givet en spellista av låtar som indata, generera en uppspelningssekvens av låtar så att en mängd villkor över låtarna i sekvensens attribut är uppfyllda. Det här examensarbetet undersöker om Constraint Satisfaction Programming är en möjlig lösning för att generera uppspelningssekvenser och i så fall, hur effektivt det går att göra det. En Constraint Satisfaction Programming-sekvenserare implementeras som modellerar tre olika typer av villkor och an- vänder ett Hill Climbing-tillvägagångssätt för att lösa uppspelningsproblemet. Den föreslagna sekvenseraren jämförs med den nuvarande lösningen på Soundtrack Your Brand, som är en girig algoritm, samt en matematiskt slump- mässig blandning. Resultaten visar att den föreslagna lösningen presterar bättre än både den nuvarande lösningen och den slumpmässiga blandningen när det kommer till hur väl de uppfyller de definierade villkoren. Sekvenserarens effektivitets mäts med avseende på körtid om minnesanvändning i olika scenarion där resultaten indikerar bra prestanda när storleken på spellistan ökar. När den föreslagna sekvenseraren jämförs med den nuvarande lösningen har sekvenseraren kortare körtid för alla storlekar av spellistor som testades. Genom att kombinera resultaten av jämförelsen och effektivitetsutvärderingen slår det här examensarbetet fast att det är möjligt att generera uppspelningssekvenser med Constraint Satisfaction Programming och att det kan göras tillräckligt effektivt för att köras i en produktionsmiljö.
author Nilsson, Josefin
author_facet Nilsson, Josefin
author_sort Nilsson, Josefin
title Generating Playback Sequences of Songs with Constraint Satisfaction Programming
title_short Generating Playback Sequences of Songs with Constraint Satisfaction Programming
title_full Generating Playback Sequences of Songs with Constraint Satisfaction Programming
title_fullStr Generating Playback Sequences of Songs with Constraint Satisfaction Programming
title_full_unstemmed Generating Playback Sequences of Songs with Constraint Satisfaction Programming
title_sort generating playback sequences of songs with constraint satisfaction programming
publisher KTH, Skolan för elektroteknik och datavetenskap (EECS)
publishDate 2020
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-279298
work_keys_str_mv AT nilssonjosefin generatingplaybacksequencesofsongswithconstraintsatisfactionprogramming
AT nilssonjosefin genererauppspelningssekvenseravlatarmedconstraintsatisfactionprogramming
_version_ 1719338424299683840
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-2792982020-08-19T05:33:43ZGenerating Playback Sequences of Songs with Constraint Satisfaction ProgrammingengGenerera uppspelningssekvenser av låtar med Constraint Satisfaction ProgrammingNilsson, JosefinKTH, Skolan för elektroteknik och datavetenskap (EECS)2020Computer SciencesDatavetenskap (datalogi)With the right songs at the right time, a playback sequence of songs can fulfil the two fundamentals of a good music listening experience: the desire for repetition and the desire for surprise. Many businesses play continuous music in their locations with automatic playback generation, and for them, a good music experience can improve the overall customer satisfaction as well as increase sales. This is something that Soundtrack Your Brand, a Stockholm based mu- sic streaming company, seize by offering their clients music tailored for their business. One way of generating playback sequences of songs given a playlist and at the same time define criteria that the sequence should fulfil is by modelling it as a Constraint Satisfaction Problem. The problem can be defined as given a playlist of songs as input, generate a playback sequence of the songs such as a set of constraints over the attributes of the songs in the playback is satisfied. This thesis investigates if Constraint Satisfaction Programming is a viable approach for generating playback sequences and if so, how efficiently it can be done. A Constraint Satisfaction Programming sequencer is implemented which models three types of constraints and uses a Hill Climbing approach to solve the playback problem. The proposed sequencer is benchmarked against the current solution at Soundtrack Your Brand, which is a greedy algorithm, as well as a purely random shuffle. The results show that the proposed sequencer outperforms both the current solution and a random shuffle with regards to how well they satisfied the stated constraints. The efficiency of the sequencer is measured with regards to run-time and memory usage in different scenarios where the results indicate a viable performance when the size of the playlist increases. When comparing the proposed sequencer to the current solution, it is found that the sequencer has a short run-time for each of the playlist size that was tested. By combining the benchmarking- and efficiency evaluation results, the thesis concludes that it is possible to generate playback sequences with Constraint Satisfaction Programming and that it can be done efficiently enough for it to be run in a production environment. Med rätt låt vid rätt tidpunkt kan uppspelningssekvenser av låtar uppfylla de två grundläggande egenskaperna av en bra musiklyssningsupplevelse: önskan för upprepning och önskan för överraskningar. Många företag spelar musik kontinuerligt i sina lokaler med automatisk uppspelningsordning, och för dem kan en bra musikupplevelse förbättra den generella kundbelåtenheten samt öka försäljningen. Det här är något som Soundtrack Your Brand, ett musik- streamingföretag baserat i Stockholm, utnyttjar genom att erbjuda sina kunder musik skräddarsydd för deras företag. Ett sätt att generera uppspelningssekvenser av låtar givet en spellista och samtidigt definiera kriterier sekvensen ska uppfylla är genom att modellera det som ett villkorsproblem. Problemet kan definieras som att givet en spellista av låtar som indata, generera en uppspelningssekvens av låtar så att en mängd villkor över låtarna i sekvensens attribut är uppfyllda. Det här examensarbetet undersöker om Constraint Satisfaction Programming är en möjlig lösning för att generera uppspelningssekvenser och i så fall, hur effektivt det går att göra det. En Constraint Satisfaction Programming-sekvenserare implementeras som modellerar tre olika typer av villkor och an- vänder ett Hill Climbing-tillvägagångssätt för att lösa uppspelningsproblemet. Den föreslagna sekvenseraren jämförs med den nuvarande lösningen på Soundtrack Your Brand, som är en girig algoritm, samt en matematiskt slump- mässig blandning. Resultaten visar att den föreslagna lösningen presterar bättre än både den nuvarande lösningen och den slumpmässiga blandningen när det kommer till hur väl de uppfyller de definierade villkoren. Sekvenserarens effektivitets mäts med avseende på körtid om minnesanvändning i olika scenarion där resultaten indikerar bra prestanda när storleken på spellistan ökar. När den föreslagna sekvenseraren jämförs med den nuvarande lösningen har sekvenseraren kortare körtid för alla storlekar av spellistor som testades. Genom att kombinera resultaten av jämförelsen och effektivitetsutvärderingen slår det här examensarbetet fast att det är möjligt att generera uppspelningssekvenser med Constraint Satisfaction Programming och att det kan göras tillräckligt effektivt för att köras i en produktionsmiljö. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-279298TRITA-EECS-EX ; 2020:245application/pdfinfo:eu-repo/semantics/openAccess