{'fraction_non_alphanumeric': 0.021505376344086023, 'fraction_numerical': 0.007168458781362007, 'mean_word_length': 5.895061728395062, '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}}
A conversation-based framework for musical improvisation

Many recent computer applications seek to support or even participate in structured collaborations with humans. Examples range from computer-supported collaborative work to interactive music systems. This thesis presents a general model for structured collaboration based on conversational turn-taking. According to the model, collaboration participants share both a representation of the collaboration's structure and the algorithms governing navigation through that structure. ImprovisationBuilder, an object-oriented framework written in Smalltalk-80, supports this model for musical improvisation. The framework demonstrates how computers can participate in musical improvisation, and how the study of conversation can improve that participation. Two musical improvisational domains are described. The first is a free-form three part canon defined by Sal Martirano's Sound and Logic system. The second is the tradition of small jazz ensemble performance made popular in the 1940's and 50's. ImprovisationBuilder was successfully applied to these domains.