Intelligent Tutoring System for Music Theory: A Knowledge-Based Programming Framework
This paper presents a programming framework for implementing intelligent tutoring systems in music theory. An Intelligent Tutoring System (ITS) is broadly defined as an interactive computer environment that teaches students how to solve problems in a specific domain. More specifically, the paper describes the Counterpoint Tutor, an ITS that coaches students in species counterpoint. The first half of the paper outlines the general ITS framework that guides the design of the Tutor. We show how the system’s development can be based on detailed analysis of skill acquisition, drawing on techniques from Artificial Intelligence and cognitive psychology. We outline the possible role that the ITS approach may play in the study and development of music theory skills. The second half of the paper shows examples of how the system’s domain knowledge—such as counterpoint rules and procedures—can be readily implemented in the knowledge-based programming language Prolog. The paper concludes with brief reports of student’s experiences from test trials of the system.
For many students, learning tonal counterpoint is pure torture; the experience is not unlike that inflicted on little Alex by Dr. Brodsky in A Clockwork Orange. it is traumatic, in part, because there are no shortcuts to success; mastering tonal counterpoint always requires a lot of time and effort. But the situation is exacerbated by current modes of instruction. Unfortunately, counterpoint tutors are usually much better at giving students lists of rules about what not to do rather than offering them concrete suggestions about what to do. They often fail to make priorities between different rules; since one rule may conflict with another, students often have a hard time deciding which one is best to use. As if this wasn’t enough, counterpoint tutors are not always careful to classify rules in a systematic way; students are often confused about whether particular rules apply locally or globally, whether rules are main or subordinate, and whether they are hard or soft. This paper sketches some ways in which computational models can be used to resolve these problems. It focuses on three specific tasks: harmonizing a pre-existing melody or bass line; elaborating a melody and accompaniment, and completing a polyphonic incipit.