{'fraction_non_alphanumeric': 0.016651248843663275, 'fraction_numerical': 0.004625346901017576, 'mean_word_length': 5.254335260115607, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Generating guitar solos by integer programming

In this paper, we present a framework for computer-aided composition (CAC) that uses exact combinatorial optimisation methods to generate guitar solos from a newly proposed data-set of licks over an accompaniment based on the 12-bar blues chord progression. An integer programming formulation, which can be solved to optimality by a branch-and-cut algorithm, was developed for this problem whose objective is to determine an optimal sequence of a set of licks given a matrix of transition costs derived from user preferences. The generated solos are displayed in tablature format. Outputs of the system were evaluated in an empirical experiment with 173 participants. The results show that the solos whose licks were optimally sequenced were significantly more enjoyed than those randomly sequenced. We project that the developed framework could be of potential use to guitarists looking for original material; as an educational tool for future composers; and to support composers in discovering unique and novel compositional ideas.