Generating Playback Sequences of Songs with Constraint Satisfaction Programming

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Author: Josefin Nilsson; [2020]

Keywords: ;

Abstract: 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.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)