30
A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits: 9 EC Bacheloropleiding Kunstmatige Intelligentie University of Amsterdam Faculty of Science Science Park 904 1098 XH Amsterdam Supervisor Dr. A.J. Bouwer Dr. F. M. Nack Intelligent Systems Lab Amsterdam (ISLA) Informatics Institute Faculty of Science University of Amsterdam Postbus 94323 1090 GE Amsterdam June 24, 2011

A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Embed Size (px)

Citation preview

Page 1: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

A prototype Intelligent Tutoring System formusical chord theory

Eva Greiner5894867

Bachelor’s thesisCredits: 9 EC

Bacheloropleiding Kunstmatige Intelligentie

University of AmsterdamFaculty of ScienceScience Park 904

1098 XH Amsterdam

SupervisorDr. A.J. BouwerDr. F. M. Nack

Intelligent Systems Lab Amsterdam (ISLA)Informatics Institute

Faculty of ScienceUniversity of Amsterdam

Postbus 943231090 GE Amsterdam

June 24, 2011

Page 2: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Abstract

An Intelligent Tutoring System (ITS) is an interactive computer environment that teaches stu-dents how to solve problems in a specific domain. This thesis describes the design and develop-ment of ChordTeacher, a prototype ITS for musical chord theory, implemented in Prolog. ThisITS consists of three main modules. The domain knowledge module contains a representationof knowledge about notes and chords. The student model keeps track of what the student hasalready learned, in the form of values for the student’s proficiency in different topics. Finally, theexercise generator selects and refines exercise types from a database. The exercises are presentedto the student. The student’s answer is evaluated and the student model updated accordingly,after which a new exercise is selected.From ChordTeacher, a powerful and practical tool could be developed that could help studentsto master many sub-domains of music theory. The thesis gives a number of suggestions forfuture work in the direction of such a system.

Page 3: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Contents

1 Introduction 21.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Goal of the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Intelligent Tutoring Systems 52.1 Domain knowledge (expert model) . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Student model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Exercise generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Diagnosis and feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Musical Background: Chord Theory 83.1 Notes, their names and representations . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Chords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3 A selection of chords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.4 Building and naming of chords . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 System Design 144.1 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Domain knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3 Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.4 Student model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.5 Exercise types and exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.6 Decision mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.6.1 Exercise selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.6.2 Diagnosis and feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Results 215.1 Domain knowledge model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.2 Student model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.3 Exercise generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.4 Implementation issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.5 Use of the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Discussion and conclusion 256.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256.3 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.3.1 Musical domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266.3.2 Technical improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266.3.3 Knowledge of the student . . . . . . . . . . . . . . . . . . . . . . . . . . . 276.3.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1

Page 4: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 1

Introduction

Music seems to be as old as humanity (Mithen, 2006). Music theory, answering the need toexplain different aspects of music, is not that old, but the seeds of modern music theory dateback to ancient Greece (Christensen, 2002). Pythagoras split the octave in twelve pieces, twelveequidistant notes. This system is still used. Aristotle was responsible for many books on musictheory, and he invented a primitive notation system for music. During the Middle Ages (6thto 11th century), pitches were given the names of letters. At this point, Western music theorystarts (Willemze, 1987). The fourteenth century brought the invention of the keyboard, andwith it, the start of the staff notation (written music). An example of staff notation is found infigure 1.1. Keyboard instruments, from which the modern piano evolved, were popular: it waseasy to play chords on them, multiple notes played at once. During the 17th and 18th centuries,the study of music led to insights into the rules underlying those combinations that soundedpleasant.

(a) A piece of music by Johannes Ockeghem, fromthe 15th century

(b) A piece of music by Frederic Chopin, fromthe 19th century

Figure 1.1: Examples of written music in staff notation. On the left, an early notation system; onthe right, the notation system as it is used today.

Teaching also is as old as humankind. Pre-literate societies passed their knowledge to the nextgeneration orally and through imitation. With the invention of symbols and letters, and later,the art of printing, the knowledge that could be preserved and passed on increased exponen-tially.

Since the introduction of computers, their potential for educational use has been recognised.The use of computers as help to teachers, or even as teachers themselves, had started. Theuse of computers in education was called CAI, for Computer-Aided Instruction. When systemsstarted being built that used Artifical Intelligence, this was called Intelligent Computer-AidedInstruction, or ICAI. This term was later replaced by ‘Intelligent Tutoring Systems’, or ITS, toindicate that this field differed more from the traditional CAI than simply adding an ‘I’ (Wenger,1987).

ChordTeacher is a prototype ITS that teaches students the rules of building and naming chords.Using this system, students of chord theory can practise with the subject matter in absence of ahuman teacher. ChordTeacher can make learning the theory of chords more fun for adults andchildren alike, by presenting challenging exercises alternating with and supporting the explana-tion of the domain. This thesis describes the realization of ChordTeacher.

2

Page 5: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

1.1 Background

The field of Intelligent Tutoring Systems (ITS) is one that grew in the 1980’s out of the fieldof Computer-Aided Instruction (CAI) (Wenger, 1987). The purpose is to build a programthat can function as a tutor. The role of a tutor is to understand the student and his or herways of learning, and respond to the student’s specific needs. Tutoring has turned out to bebeneficial for students’ performance (Anderson et al., 1985). A trend has been observed thatthe research focus has shifted during the last decennia from tutoring to more student-centeredlearning environments. ITS are however still built (McQuiggan et al., 2008; Aleven et al., 2006;Conati, 2009; Mavromatis and Brown, 2008).

For the field of music, diverse systems have been developed, including ITS (Holland, 2000;Brandao et al., 1999; Mavromatis and Brown, 2008). However, many of these systems concern(aspects of) musical composition or performance. These are so-called open-ended domains.

Open-ended domains lack the clear goals, rules and criteria for testing answers that are availablein well-formalized domains such as arithmetic (Holland, 2000). In addition, music compositionand performance can be seen as ‘problem-seeking’ domains. This means that the problemspecifications and solutions are heavily intertwined; there are few clear criteria for completion ofan assignment; and problems can always be re-interpreted. For example, in learning to composemusic, the student must continually find, revise, reject and create learning goals of problemsin the process of composing something. Often, they have been given an assignment that is noclearer than ‘compose something nice in two pages’ (Holland, 2000).

In contrast, music theory is a relatively well-formalized, theoretical domain. There is usually onlyone correct answer or small set of correct answers to a question. In particular in the sub-domainof chords, clear rules can be stated according to which the chords can be built (Willemze, 1987).This makes the domain suitable for software implementation and teaching through an ITS. Thedomain knowledge can be stated in formal rules and it is possible to define clear measures tocompare the student’s knowledge to that in the expert model (Wenger, 1987).

As said, few ITS exist that teach music theory. ChordTeacher is a system that does this. Itcan be interesting to see what the behaviour of the domain of music theory, and specifically,the sub-domain of chord theory, will be when implemented and used in an ITS. Techniques ofArtificial Intelligence are applied to teaching chord theory and the results of this are investigatedto see if it is successful.

1.2 Goal of the project

The project’s goal is the design and development of a prototype Intelligent Tutoring System,which will be called ChordTeacher. Its purpose is to use techniques of Artificial Intelligence toteach students about a small sub-domain of music theory known as chord theory. The knowledgefrom this domain is modelled and exercises are developed which the system can present to thestudent. The focus of the project is on the design of an exercise generator. This takes domainknowledge and a student model as input. It uses these inputs to select an exercise from adatabase and refine it to best fit the specific student’s learning goals. The exercise is thenpresented.The domain knowledge model must be complete and reliable. To limit the scope of the project,other modules, such as a student model and a diagnosis and feedback loop, are limited to thoseparts needed for the exercise generator.

3

Page 6: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

1.3 Thesis outline

In chapters 2 and 3, the main concepts of the project will be introduced: Intelligent TutoringSystems and chord theory, respectively. Chapter 4 describes the system design, explaininghow the different concepts from chapters 2 and 3 are implemented. It also describes the tools,mechanisms and exercises used. Chapter 5 describes the result of the project: the final program.Chapter 6 discusses the most important findings of the project and summarises and concludesthe thesis.

4

Page 7: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 2

Intelligent Tutoring Systems

An Intelligent Tutoring System (ITS) is an interactive computer environment that teaches stu-dents how to solve problems in a specific domain (Mavromatis and Brown, 2008). Any ITSneeds a number of modules to fulfil this task. These are the domain knowledge module (section2.1), the student model (section 2.2), the exercise generator (section 2.3), and the diagnosis andfeedback systems (section 2.4). An overview of these modules and how they are linked can befound in figure 2.1 and will be described in section 2.5. Chapter 4 describes how these modulesare implemented in ChordTeacher.

2.1 Domain knowledge (expert model)

As said, an ITS is usually built for a specific domain. To be able to teach a student certainknowledge, the system itself must have a representation of that knowledge. This representationis found in the ‘domain knowledge’ module. The knowledge may be presented in a number ofways, such as textual descriptions, examples, questions, and feedback to the student’s answers.The domain knowledge is the basis for all of these (Mark and Greer, 1993).

Often, in well-formalized domains, knowledge has the form of rules, such as (A∧B → C). Theserules, as well as the notions and definitions used in the system, are represented in the domainknowledge. This knowledge is used to generate exercises and to check the correctness of thestudent’s answers.

This module is often called the ‘expert model’, because it models the knowledge of a humanexpert. Often, one or more experts on the field are consulted prior to and during the buildingof the expert model. Instead of consulting experts in person, several textbooks were consideredin the development of the expert model in ChordTeacher (for instance, Willemze (1987)).

2.2 Student model

Because every student is different, and the system should select for each student the best-fittingexercise for that moment, it needs a representation of the student’s knowledge. The studentmodel contains this representation. This model may be more or less refined, depending on thesystem. Possibilities range from a simple checklist of skills the student has or has not yet learned,to a deliberately faulty ‘expert’ model, where the incorrect information indicates the student’smisconceptions (Holland, 2000). The ITS diagnoses a student’s current knowledge, stores it inthe student model and uses it to individualize its approach for every student (Holland, 2000;Angelides and Tong, 1995).

5

Page 8: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

2.3 Exercise generator

Combining the domain knowledge and the student’s knowledge, a specific exercise has to beselected for presentation. This is the task of the exercise generator. The exercise generatorselect an exercise type from a database and refines it to fit the student’s learning goals. Theresulting exercise is then presented to the student.

2.4 Diagnosis and feedback

The last modules, the diagnosis and feedback systems (which may operate as one module),evaluate the student’s answer and give appropriate feedback. The feedback may range fromsimply telling the student whether the answer was correct or not, to explaining in detail whatkinds of errors the student made and what learning process the student seems to have gonethrough. This module is also the one that stores the student’s progress and causes the studentmodel to be updated.

2.5 Overview

This section summarises how the ITS works. A graphical representation of the system and itsmodules can be found in figure 2.1.

Figure 2.1: Overview of the modules of an ITS and how they are linked

The ITS contains a representation of the domain knowledge in the expert model. It also has adatabase of exercise types. When a student starts using the system, a student model is builtfor this particular student. Then, the exercise generator combines the domain knowledge andstudent model to select a fitting exercise type from the database. This is refined to best fit thestudent’s learning goals. The resulting exercise is presented to the student, and when an answeris given, this is checked by the diagnosis system using the domain knowledge. The system gives

6

Page 9: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

feedback to the student and the student model is updated with the new knowledge the studenthas (or has not) learned. After this, the process is repeated for the next exercise, and the next,and so on. Figure 2.2 shows an illustration of this process.

Figure 2.2: The process of exercise generation.

7

Page 10: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 3

Musical Background: Chord Theory

The domain for this project is chord theory, a sub-domain of music theory. This chapter givesan explanation of this field for readers unfamiliar with music theory or chords. Those familiarwith notes and chords may skip this chapter.

3.1 Notes, their names and representations

Notes are the smallest building blocks of music. A note is the representation of a single sound,such as caused by pressing a single key on a piano or pulling a single string on a guitar. Everynote has a pitch, representing how ‘high’ it is, i.e., to which frequency it corresponds. Noteshave a specific duration, but rhythmic aspects are not discussed in this thesis.

People need to be able to refer to notes, such as the piano teacher telling his student whichkey to press, or the composer communicating what notes to play to those who will perform themusic he writes. For this, a multitude of representations have been developed. A few of theseare discussed below.

The first representation discussed is the notes’ names. For every pitch, one of the first sevenletters of the alphabet is used, starting at C. After seven, the pattern is repeated, because everytone has higher and lower versions of itself, at an interval of what is called an octave. So thepattern becomes C, D, E, F, G, A, B, C, D, etc. One follows this pattern when playing only thewhite keys of a piano from left to right (the black keys will be discussed later). As an example,figure 3.1a shows the note called ‘A’ highlighted on a piano1. The note’s location on a piano isanother representation.

(a) ‘A’ high-lighted on apiano

(b) ‘A’ instaff nota-tion

Figure 3.1: The note ‘A’ in piano representation and staff notation.

A written piece of music, called a ‘score’, is in staff notation. Figure 3.1b shows an example,of the same ‘A’ as before. The staff consists of five lines, where higher lines represent higherpitch. A note looks like this: ¯ 2. Each note is drawn either on a line or between two lines. The

1The frequency of this A is 440Hz. The next A on the left of this one, one octave lower, has a frequency of220Hz, the A another octave down has a frequency of 110Hz; the A one octave higher than the one discussed,on the right, has a frequency of 880Hz, etcetera. Going an octave to the left (lower) halves the frequency, to theright (higher) doubles it.

2The shape of the note indicates its duration. The duration is not discussed here and only one shape is used.

8

Page 11: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

position of the note indicates its pitch. In front of the staff, a clef symbol is shown, which lookslike this:

GThis specific clef is called the G-clef or treble clef3. The clef indicates to which specific pitchesthe lines of the staff correspond. Other clefs exist, but are not discussed here.

So far, the black keys on the piano have not been discussed. The tones for the white keys, A,B, C, D, E, F, and G, can be modified. The notes that correspond to the black keys are raisedor lowered notes. They have modified names. A raised note has the name of the unaltered notewith the addition of the word ‘sharp’, so, for example ‘A sharp’. A lowered note has the nameof the unaltered note with the word ‘flat’ added, as in ‘B flat’. There are symbols for thesemodifiers, called accidentals: ] for sharp and [ for flat. These symbols are used in staff notation,as well. Figure 3.2b shows an ‘A]’, A sharp, in staff notation. The sharp symbol indicatesthat the note that follows it immediately, and on the same height in the staff, should be raised.Figure 3.2a shows the corresponding key on a piano.

(a) ‘A]’ high-lighted on a pi-ano

(b) ‘A]’ instaff nota-tion

Figure 3.2: The note ‘A sharp’, or ‘A]’, in piano representation and staff notation.

When the note is lowered, this is indicated in staff notation with the flat symbol, [. Figure 3.3shows the same A, but lowered, in staff and on piano. This note is called ‘A[’, A flat.

(a) ‘A[’ high-lighted on a pi-ano

(b) ‘A[’ instaff nota-tion

Figure 3.3: The note ‘A flat’, or ‘A[’, in piano representation and staff notation.

Every modified note has two names, because it can be created by raising one of the notes A, B,C, D, E, F, and G, or lowering another. In figure 3.4a, the same key is highlighted as in figure3.2a. But this time, the corresponding staff notation (figure 3.4b) is called ‘B[’, or B flat. Notethat the pitch is the same.

This leads to the following names for the modified notes, or the black keys on the piano: A]/B[,C]/D[, D]/E[, F]/G[, and G]/A[. The other notes can be raised or lowered too, but theirmodified names are not used.

A third representation, called Harmony Space, will be introduced in section 4.1.

3These are not strictly synonymous, though they are often seen as such. For the purposes of this thesis theywill be regarded as synonymous.

9

Page 12: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

(a) ‘B[’ high-lighted on a pi-ano

(b) ‘B[’ instaff nota-tion

Figure 3.4: The note ‘B flat’, or ‘B[’ in piano representation and staff notation.

3.2 Chords

The system tries to teach students chords, their names and how they are built. A chord is, inthe most literal sense, a combination of multiple notes sounding simultaneously. However, justslamming a hand on a piano will produce a combination of notes, but most likely this will notsound pleasant. Music theory, developed over centuries, has resulted in insights about whichcombinations sound pleasant. This knowledge can be formulated as rules.

As an example, see figure 3.5. This figure shows a chord called ‘G major’ (the naming of chordsis discussed in section 3.4). Figure 3.5b shows the staff notation for this chord. As can be seen,the chord is just a stacking of three notes on top of each other. The fact that they are drawnabove each other means they should be played simultaneously. Figure 3.5a shows which keyson the piano correspond to the G major chord. The highlighted keys must again be pressedsimultaneously.

(a) ‘G major’highlighted on apiano

(b) ‘G ma-jor’ in staffnotation

Figure 3.5: The chord ‘G major’ in piano representation and staff notation.

3.3 A selection of chords

Even when following the rules for building valid chords, a large number of chords can be made.A small selection of these is explained in described next.

Only chords of three or four notes are used, both being more common than chords of five ormore notes. The three-note chords are called triads. The four-note chords are called seventhchords.

In Western music, the diatonic scale is predominant. Further explanation of this concept can befound in, for example, Willemze (1987) (in Dutch). In this diatonic scale, only seven main chordtypes occur. These are three triads, called major triad, minor triad, and diminished triad, andfour seventh chords, the major seventh, dominant seventh, minor seventh, and half-diminishedseventh. The next section explains how these different chords are built.

10

Page 13: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

3.4 Building and naming of chords

A chord’s name consists of two parts: the name of a note and an annotation. The note nameindicates the root of the chord. The root is literally the root of the chord: the note on whichthe chord is built. Although there are exceptions, the root can usually be considered the lowestnote of the chord4. The root is also the basis for the name of the chord, so in ‘G major’, theroot is G.

The other part of a chord’s name is the annotation which indicates the type of chord. Thesetypes are the seven named in the last section: major, minor, and diminished triads, and major,dominant, minor, and half-diminished seventh chords. Table 3.1 at the end of this sectionsummarises all chord types. Note that for every root (unaltered or modified note), each of theseseven chord types can be built.

To be able to understand how chords are built in the system, one must know the concept of athird. A third is a specific interval between two notes. An interval, in the musical sense, is thedistance or pitch difference between two notes. This distance can be measured in semitones.On a piano, this is easy: every key, both black and white keys included, is in an interval of onesemitone with the next. For example, the A[ and A discussed in section 3.1 differ one semitone,as do A and A]/B[ (remember that A] and B[ have the same pitch).

Now, the distance between two notes can be counted. A distance of three or four semitones iscalled a third: three semitones is a minor third, four semitones is called a major third. Figure3.6 shows major and minor thirds for the now familiar note A. Note that the word ‘third’ is alsoused in the sense where ‘C is the minor third of A’.

(a) A and itsmajor third, C],highlighted on apiano

(b) A and itsmajor third,C], in staffnotation

(c) A and itsminor third, C,highlighted on apiano

(d) Aand itsminorthird, C,in staffnotation

Figure 3.6: Major and minor thirds of A in staff and piano.

Now that it is clear what major and minor thirds are, the difference between the chord typescan be explained. Chords can be seen as ‘stacks of thirds’. The different chord types, such asmajor triad, indicate what thirds (major or minor) are stacked and in what order. For example,

4Music theory also knows inversions of chords, where the relative location of a note within the chord is altered.The root may then no longer be the lowest note. Inversions are not used or discussed here; only the so-called rootposition is used.

11

Page 14: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

a major triad is built as follows (illustrated in figure 3.7). First, the root has to be determined.G shall be used as an example, see figure 3.7a. A major triad is built of first a major third andthen a minor third. The major third for G is four semitones higher than G: B. B is stackedon top of G (figure 3.7b). Then, the minor third for B is three semitones above B. It is D. Dis stacked on top of B, and the resulting chord, the major triad ‘G major’, is found in figure3.7c.

(a) G (b) G andits majorthird, B

(c) G, B,and B’s mi-nor third, D

Figure 3.7: The building of a major triad, G major, in staff notation.

As another example, the chord called minor seventh can be built in a similar way. Again, thefirst step is to select the root, which in this case will be F (see figure 3.8a). A minor seventhchord is built with first a minor third, then a major third, and finally, another minor third. F’sminor third is A[ (see figure 3.8b). A[’s major third is C, which is added to F and A[ (see figure3.8c). Finally, C’s minor third, E[ is stacked on top of F, A[ and C, and this gives the finalchord, F minor seventh, as shown in figure 3.8d.

(a) F (b) F and itsminor third,A[

(c) F, A[,and A[’s ma-jor third, C

(d) F, A[, C,and C’s mi-nor third, E[

Figure 3.8: The building of a minor seventh chord, F minor seventh, in staff notation.

Actually, figure 3.8c is already a chord, called a minor triad (F minor). All seventh chords arebuilt by stacking another major or minor third on top of an already valid triad.

Table 3.1 shows all seven chord types discussed, explains how they are built, and shows anexample of each in staff notation.

Remember that every chord type of these seven can be built from every note, using the note asa root; there are seven unaltered notes and five modified ones, so this makes for 7× (7 + 5) = 84different possible chords. Many more chord types exist, but these fall outside the scope of thisproject.

12

Page 15: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chord Type Shorthand Thirds Example name Example

Major triad majMajor thirdMinor third

G majorGmaj

Minor triad minMinor thirdMajor third

D minorDmin

Diminished triad dimMinor thirdMinor third

B diminishedBdim

Major seventhchord

maj7Major thirdMinor thirdMajor third

C major seventhCmaj7

Dominantseventh chord

dom7Major thirdMinor thirdMinor third

G dominant seventhGdom7

Minor seventhchord

min7Minor thirdMajor thirdMinor third

E minor seventhEmin7

Half-diminishedseventh chord

m7b5Minor thirdMinor thirdMajor third

B half-diminished seventhBm7b5

Table 3.1: Overview of the seven chord types discussed, giving name, shorthand notation, thethirds used to build it, and an example for each.

13

Page 16: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 4

System Design

This chapter describes the system design, i.e., the way the concepts introduced in chapter 3 areimplemented. First, the tools used are discussed (section 4.1). Then, the domain knowledgeintroduced in chapter 3 is implemented (section 4.2). Next, the three representations used inthe exercises are introduced in section 4.3 and the specific form of the student model is discussedin section 4.4. The exercise types and exercises used in the system are described in section 4.5.Section 4.6 concludes the chapter with a description of the decision mechanisms, such as theexercise selection and feedback systems.

4.1 Tools

Prolog The system is implemented in Prolog. Prolog is a declarative programming language,making it well suited for the implementation of knowledge bases and rules.

Harmony Space Harmony Space is an interface developed by Simon Holland. It is designedto encourage fast learning of practice and theory of tonal harmony. It enables novices to quicklylearn to play correct chord sequences. Its interface displays chords in an intuitive way that iseasy to work with (Holland, 1994).

XPCE XPCE is an object-oriented library for graphical user interfaces in Prolog. It is usedfor communicating with the user and to facilitate multiple-choice questions.

4.2 Domain knowledge

The domain knowledge, as introduced in chapter 3, must be written in rules to make it suitablefor software implementation. This section describes these rules.

First, knowledge of notes is needed. Each pair of notes has a semitone distance between them,one step. The notes are, in low-to-high order:C - C]/D[ - D - D]/E[ - E - F - F]/G[ - G - G]/A[ - A - A]/B[ - B.Two octaves are represented: the one from ‘C4’ to ‘B4’ and the one from ‘C5’ to ‘B5’. Thesecond octave is needed to make all used chords possible. A note has a name and an octave,such as ‘a/4’. This is represented as follows:

note_name(a).

octave(4).

note(Name/Octave) :-

note_name(Name),

octave(Octave).

14

Page 17: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

To build chords, thirds are used. Thirds consist of two notes, with 3 (minor thirds) or 4 (majorthirds) semitone steps between them.

A chord is defined as a combination of 3 or 4 notes. The notes must form a specific combinationof thirds. The root, which is the lowest note is used as the basis on which to build. For example,a major triad is represented as follows:

maj(Root, Third, Fifth):-

major_third(Root,Third),

minor_third(Third,Fifth).

The reverse can also be found: if a set of notes forms the correct stacking of thirds, its type willbe determined.

The name of a chord consists of two parts: the name of the root, and an annotation to indicatethe chord type. A shorthand for the names is used, as listed below1 , but the long names canalso be found. A chord will then be called, for example, ‘C minor seventh’, or in shorthand,‘Cmin7’.

Chord name Shorthand

Major triad majMinor triad minDiminished triad dimMajor seventh maj7Dominant seventh dom7Minor seventh min7Half-diminished seventh m7b5

For the naming of the chords in the different representations (Harmony Space, piano and staffnotation, see section 4.3), it is enough for the program to know how the notes and their namesmatch to the notes in the representation.

4.3 Representations

To teach the student the knowledge described in chapter 3 and section 4.2, three representationsare used.

Piano The first representation is the piano. As seen in section 3, notes and chords can behighlighted on a piano. An example can be found in figure 4.1a. This highlighting is used inexplanations and exercises. In exercises where the student has to enter one or more notes, thisis done using an on-screen keyboard, where the student selects the keys.

Staff notation The second representation used is the staff notation, the standard notationsystem for Western music. An example of a chord in staff notation is shown in figure 4.1b. Inexercises where the student has to enter notes, this will be done using multiple-choice menuswith the names of the notes, instead of clicking on the lines of the staff.

1The notation for the half-diminished seventh chord is actually ‘m7[5’. Because the [ symbol is not availablein Prolog, the letter ‘b’ is used.

15

Page 18: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

(a) ‘G major’highlighted on apiano

(b) ‘G ma-jor’ in staffnotation

(c) ‘G major’ in theHarmony Space rep-resentation

Figure 4.1: The chord ‘G major’ in piano representation and staff notation.

c

Harmony Space The third and last representation is the one from Harmony Space, describedin section 4.1. An example of a chord in Harmony Space can be found in figure 4.1c, where theused notes are highlighted using red circles. If the student has to enter notes, they can do so byclicking the circles.

4.4 Student model

To determine which exercises to select for the student and which to skip, the system needs toknow what the student already knows. This is done using a value for the user’s proficiency ineach topic or representation.

The student can be trained in each of the seven chord types: major, minor and diminishedtriads, and major, dominant, minor and half-diminished seventh chords. The proficiency valueswill indicate how good the student is at recognising and building each chord type. Also, thestudent can be trained in each of the representations: piano, staff notation, and Harmony Space.The values for these proficiencies will indicate how skilled the student is at reading and buildingchords in this representation. Additionally, the student can have a proficiency in (major andminor thirds), as these are part of the learning process.

As said, the user’s proficiency in each of the topics and representations is represented by avalue. This value ranges from 0 to 1. A value of zero means the student is a beginner (orthere is no information yet on the student’s knowledge). The student has no knowledge and nomisconceptions.

Answering an exercise correctly will add a value to the user’s proficiency in the subject of theexercise; usually a chord type. As each exercise is given in a certain representation and thestudent learns the representation along the way, a value is also added to the user’s proficiencyin that representation. The values added differ from exercise to exercise, because the exerciseshave different difficulty levels. An easier exercise adds a smaller value when answered correctlythan does a more difficult one. Similarly, answering a question wrongly will cause values tobe subtracted from the user’s proficiency in the current chord type and representation. Theproficiencies are restricted to values between 0 and 1; if a value would drop below 0 or rise above1, it is instead set to 0 or 1, respectively.

The values for proficiency the student has in the different topics in one area (i.e., thirds, chordtypes, and representations) are combined to represent the student as a point in n-D space, where

16

Page 19: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

n is the number of different topics, i.e., 1 for the thirds, 7 for the chord types, and 3 for therepresentations. As an illustrative example, see figure 4.2. It shows the 2-D proficiency spacefor major and minor triads. It has one dimension for the student’s proficiency in major triads,and one for minor triads. When in (0,0), the student does not know anything about either chordtype. The more exercises on one of these chord types the student answers correctly, the highertheir value for this chord type will be; i.e., their point in figure 4.2 will move up or right. Thistwo-dimensional space is to illustrate the concept; the actual proficiency space for chord typeshas seven dimensions.

Figure 4.2: Illustration in 2-D of the ‘proficiency space’, for major and minor triads. The red dot,labelled 1, is a student who has no proficiency in either chord type. The dot labelled 5 representsa student who has a high proficiency in major triads, but a low one in minor triads. The studentrepresented by the dot labelled 4 has a very high proficiency in both triads.

For the representations, the space is implemented analogously, a 3-D space.

The student model consists of these three points, one for chord types and one for representations,and one for thirds, as an auxiliary point.

4.5 Exercise types and exercises

A number of different exercises types are available for the student. An exercise type is an exercisethat has not yet been assigned a specific chord type and representation. An exercise has beenassigned these specifics and is ready for presentation to the student. However, for reasons ofreadability, the terms are sometimes used interchangeably in this thesis.

17

Page 20: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

It is assumed that the student has some knowledge of notes in the different representations.The first exercises deal with the basis for chords as they are built in ChordTeacher: major andminor thirds. These exercises are preliminary: if the student does not have enough proficiencyin thirds, they will likely not be able to solve the other exercises.

There are two exercises on thirds, listed in table 4.1 . Once the student has sufficiently mastered

No. Exercise Learning goal Prior knowledge needed

P1 Show a note and its third,ask if it is a major or aminor third

Recognising major and minorthirds in a representation

What are notes? How arethirds built in therepresentation?

P2 Show a note, ask the user toenter its major and minorthirds

Building major and minorthirds in a representation

What are notes and thirds?How are thirds built in therepresentation?

Table 4.1: The preliminary exercises on thirds

the theory of thirds, chords are introduced. Exercises to learn chord types are selected andpresented. There are several exercise types, which can be roughly divided into two categories:exercises that teach the student to recognise and/or build a specific chord type on the one hand,and exercises that deal with more advanced topics on the other. An example of a learning goalfor such a topic is ‘Understanding that the pattern of black and white piano keys in a chord isirrelevant for its chord type’. The exercise types are listed below. The exercise types that teacha chord type are marked with ‘C’, the more advanced exercises with ‘A’.

The advanced exercises have different versions: one for Harmony Space (labelled ‘HS’) and onefor piano (labelled ‘P’). The exercises are not suitable for staff notation. These exercises arealike, but differ in the specific question asked, because ‘chord shape’ in Harmony Space is adifferent concept than on piano.

Every exercise type has a range, in which the student’s proficiency must fall for the exercise tobe selected. For example, exercise C4 has ex range(exC4, 0.4, 0.8). This means that theexercise can be selected for any chord type in which the student’s proficiency is between 0.4and 0.8. The more advanced exercises are selected from the same pool as the exercises on chordtypes. They are also presented with a specific chord type; their ranges start higher to make surethat the student has enough proficiency in the chord type to solve the exercise.

4.6 Decision mechanisms

This section describes the most important decision mechanisms.

4.6.1 Exercise selection

From the exercise types available in the database, one is selected and refined for the student.If the student is not yet proficient in thirds, exercises on thirds are selected first. This is donebecause thirds are necessary pre-knowledge for most exercises.

Once the student has gained a high enough proficiency in thirds, other exercises are selected.The student is given an exercise on the chord type he or she has the lowest proficiency in, i.e.,knows the least about. From the pool of all chord types, the one in which the student has thelowest proficiency is selected. All exercises with a range containing this proficiency are pooledand one is selected at random. Next, the representation in which the student has the lowest

18

Page 21: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

No. Exercise Learning goal Prior knowledge needed

C1 Play chords of two typesand ask the user if they canhear a difference; or askwhich chord is which type

Recognising sounddifferences between the twochord types

What are notes and chords?

C2 Show chords with names ofa type, show a chord of thesame type and ask for itsname

Recognising a chord type ina representation

What are notes and chords?Chords are named aftertheir roots. What is achord’s root?

C3 Show chords of type A andtype B, with the same root;then show a different rootwith type A and ask theuser what the chord of typeB with this same root is

Recognising and building achord type in arepresentation

What are notes and chords?

C4 Show a chord in arepresentation and ask forits name

Recognising a chord type ina representation

What are notes and chords?What is a chord’s root?Chords are named aftertheir roots.

C5 Give 2 or 3 notes and askthe user to fill in the missingnote. Version 1: give thechord type, version 2: tellthe user which note ismissing (1, 2, 3 or 4)

Building a chord type in arepresentation

What are notes and chords?Some knowledge of how thechord type is built in therepresentation

C6 Give a chord name and askthe user to enter the chord

Building the chord type in arepresentation

What are notes and chords?What is a chord’s root?Chords are named aftertheir roots. How does thechord type look in therepresentation?

A1HS Show a chord in HarmonySpace and ask the user tofind one with the sameshape, within the scale

Recognising and buildingthe chord type in HarmonySpace

What are notes and chords?

A1P Show a chord on piano andask the user to find a chordwith the same shape, withinthe scale (where ‘shape’ isdefined as the pattern ofthirds)

Recognising and buildingthe chord type on piano;understanding the patternof black and white keys isirrelevant for chord type orshape; understanding thepattern of thirds is relevant

What are notes, chords andthirds, and how do theylook on piano?

A2HS Show a chord of type A anda chord of type B inHarmony Space, ask theuser what the shapedifferences are

Recognising a chord type inHarmony Space

What are notes and chords?How does chord type A lookin Harmony Space?

A2P Show 2 chords of type Aand one of type B on piano,ask for the odd one out

Understanding the patternof black and white keys isirrelevant for chord type orshape; understanding thepattern of thirds is relevant

What are notes and chords?Some proficiency in chordtype A

Table 4.2: The exercises on chord types

19

Page 22: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

proficiency is selected. This way, the student is always trained in the areas in which he or sheneeds the most training.

4.6.2 Diagnosis and feedback

The student’s answer is evaluated by checking it against the domain knowledge. For manyexercises, the answer is a chord name, or one or more notes of a chord. In either case, theother (notes and name, respectively) is known, and the diagnosis system validates that nameand notes match.

The student is given simple feedback: whether the answer is correct or not. If, on the firstattempt, the student answers incorrectly, he or she is given another chance. If the studentanswers correctly on the first attempt, he or she is given another exercise of the same type, withthe same chord type and in the same representation, but with a different specific chord.

With every answer, correct or incorrect, the student model is updated. An exercise-specificvalue is added to the student’s proficiency in chord type and representation. In case of a correctanswer, this is a positive value; if the answer was incorrect, the value is negative.

20

Page 23: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 5

Results

This chapter summarises the result of the project: ChordTeacher. ChordTeacher is a workingsystem in Prolog that can select and present exercises on chord theory.

5.1 Domain knowledge model

The domain knowledge of ChordTeacher consists of a sub-domain of chord theory. It has knowl-edge of three main concepts: notes, thirds and chords.

Notes A note is defined as the combination of a known note name (C to B, with sharpsincluded, 12 in total) and a known octave (4 or 5). Every note has a right neighbour(note on right), enabling the program to determine whether a note is higher than another.The neighbouring notes also form the basis for another important predicate: distance/3, thatcomputes the distance, in semitone steps, form one note to another.

Thirds A third is a specific interval between two notes: three semitones (for a minor third)or four semitones (for a major third). A and B satisfy major third(A, B) if both are notes, Bis higher than A, and there is a distance of four between them.

Chords Thirds form the basis for building chords. The chords that are represented are themajor, minor and diminished triads, and major, dominant, minor, and half-diminished seventhchords. Each chord is a combination of major and/or minor thirds. For example, three notes,A, B and C, form a minor triad (implemented as min/3) if A and B satisfy minor third(A, B)

and B and C satisfy major third(B, C).

With the predicate chord(Type, Name, Chord) it is possible to ask for the notes (Chord, alist of notes) when given a name or a type, or for the name (and/or type) when given a list ofnotes.

Double predicates All third and chord predicates can be called with instantiated or unin-stantiated arguments. This is not true for all predicates.

higher than/2 can only work correctly with instantiated variables. This is due to the cut (!)in the following line: right neighbour(NoteA, NoteB),!. This cut is necessary to make sure noincorrect answers are given upon backtracking. There is an extra predicate, find higher note(A,

B), that finds all notes B that are higher than A, while backtracking. The cut, missing in thispredicate, is the only difference between the two.

A similar solution exists for the distance predicate. There are, in fact, two predicates:distance1/3 and distance2/3. distance1/3 takes two instantiated notes as its first twoarguments. The third argument, Distance, can be instantiated or not. This predicate gives onecorrect answer and does not backtrack. Again, it contains cuts, in this line (and three similar

21

Page 24: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

lines): higher than(NoteA, NoteB),!. The cuts prevent the predicate from backtracking andfinding incorrect answers. However, they also prevent all answers being found if called withuninstantiated notes: it finds only one answer, or cannot find two notes that are in differentoctaves (i.e., one is in octave 4 and the other in octave 5). This is the reason for the existenceof distance2/3. This predicate takes two (or one) uninstantiated notes and an instantiateddistance as arguments, and finds (through backtracking) all pairs of notes with that distance.The distance works in both directions: c/5 and f/5 have a distance of 5, as do f/5 and c/5.

5.2 Student model

A student model consists of multiple proficiency values: one for thirds, seven for the seven differ-ent chord types, and three for the three different representations, piano, staff notation and Har-mony Space. They can be updated using the set proficiency/2 and change proficiency/2

predicates. Both take as arguments a topic or representation (such as thirds, maj, or piano)and a value. set proficiency/2 sets the proficiency for the given area to the given value;change proficiency/2 adds the value, which may be positive or negative, to the student’sproficiency in the area.

5.3 Exercise generation

ChordTeacher has a database of exercise types to select for the student. The generation ofexercises is illustrated below.

if student’s proficiency in thirds falls in range for a thirds exercisefind the representation in which the student’s proficiency is lowestfind all exercises on thirds for which the student’s proficiency in thirds falls in its rangeselect one at randompresent it to the student, using the selected representation

elsefind the chord type in which the student’s proficiency is lowestfind the representation in which the student’s proficiency is lowestfind all exercises on chord_types for which the student’s proficiency

in the selected chord type falls in its rangeselect one at randompresent it to the student, with the selected chord type and representation

An example of the presentation of an exercise (exercise C4, on chord types) looks like this:

find all chords with the given typeselect one at randomshow it to the user in a dialog, using the given representationask for its name (root and type)validate user’s answerif user’s answer is correct

update the student model accordinglytell the user the answer was correctselect a new chord at random from the remaining possible chordsshow it and ask for its namecheck the user’s answer

22

Page 25: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

update the student model accordinglytell the user whether the answer was correctreturn to the menu

elseupdate the student model accordinglytell the user the answer was incorrectshow the same chord and ask them to try againcheck the user’s answerupdate the student model accordinglytell the user whether the answer was correctreturn to the menu

5.4 Implementation issues

The implementation of ChordTeacher differs from the initial description in a number of aspects.These are discussed in this section.

Flats As explained in chapter 3, modified notes have two names, such as A] and B[, for thesame pitch. From a musical perspective however, these are not the same note. This is becauseof the key in which the note or chord occurs, a topic not covered in thesis. As an example, seefigure 5.1. In the chord ‘E major triad’ (figure 5.1a, a G] occurs: E - G] - B. In F minor, on theother hand, F - A[ - C, an A[ occurs (figure 5.1b). Saying that E major would be built from E- A[ - B or F minor from F - G] - C would be incorrect. Moreover, sharp and flats rarely occurside by side in a chord. It is therefore confusing and incorrect if the system presented ‘F] - B[ -D[’ as an F sharp major triad. For these reasons, flats are not included in the implementation.This still causes musically incorrect chords to be presented and asked for, but less, and it reducesconfusion. A more complete solution is discussed in section 6.3.1.

(a) E major (b) F minor

Figure 5.1: The E major and F minor triads.

Linking the tools The links between the different tools, such as Prolog and Harmony Space,have not yet been established. This means that when a figure of a chord in Harmony Spaceor piano representation is shown, this is a previously saved image. Nor can the user selectnotes by clicking piano keys or circles in Harmony Space; the selection of notes is done usingmultiple-choice menus. This also applies to the images of chords in staff notation.

Unimplemented exercises Not all exercises mentioned in table 4.2 are implemented. Inparticular, exercises C1, C5, A1P and A2HS are not implemented.

23

Page 26: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Non-graphical interfaces Most exercises do not yet have a graphical interface. They arepresented and answered in Prolog’s command line.

Also, only a selection of chords has a graphical representation. The other chords are presentedin text, either in the command line or in a dialog screen, depending on the implementation ofthe exercise.

5.5 Use of the program

All necessary files can be found in the file ‘ASP EvaGreiner Code.zip’. The program starts whenconsulting the file asp eg start.pl. No other files or commands are needed, the program givesan explanation of how to answer exercises.

24

Page 27: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Chapter 6

Discussion and conclusion

This chapter contains the concluding remarks for this thesis. It summarises and discusses themost important results and gives recommendations for future work.

6.1 Background

Many Intelligent Tutoring Systems (ITS) that teach an aspect of music work with performanceor composition; open-ended, problem-seeking domains (Holland, 2000; Brandao et al., 1999;Mavromatis and Brown, 2008). As opposed to these domains, the building and naming ofchords is a well-formalized sub-domain of music theory, in which it is important to practise tomaster the subject matter. Ideally, a student would have a private tutor, who tells the studentwhether he or she answered correctly, selects new exercises, and monitors the learning process:what has the student learned, and what misconceptions have they adopted?

6.2 Results

The goal of this project was to build a prototype Intelligent Tutoring System to teach studentschord theory. The resulting system is called ChordTeacher. The focus during development hasbeen on the exercise generator.

ChordTeacher is a working system, implemented in Prolog, that has knowledge of a selection ofchord types and a database of exercises to select for the student. It makes use of three ways(representations) to present chords to the student: highlighted piano keys, staff notation, andHarmony Space. To keep track of which chord types the student has already mastered, it keepsa student model, consisting of proficiency values.

From the project, it can be concluded that it is possible to use techniques from Artificial Intel-ligence for teaching chord theory. Especially, the knowledge from the domain of chord theory issuited for implementation in a logic programming language like Prolog. The knowledge can beformulated in facts and rules, and this type of programming language is suitable to rule-basedreasoning.

However, the representation of one aspect of the domain is not straightforward: the repetitivenature of the musical notes (the octaves). The fact that the pattern of notes (from C to B) repeatsitself seems very natural to humans. It is, however, hard to model this in Prolog. Prolog’s depth-first search mechanisms cause loops when searching for ever higher notes in a circular pattern.This has been solved by explicitly modelling two octaves, called ‘4’ and ‘5’. Every note has tobe given an octave as well as a name, breaking the circularity of the pattern.

25

Page 28: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

6.3 Future work

To turn ChordTeacher into a complete tutoring system that can be used in real music educationsettings, it would be desirable to cover a broad range of sub-domains of music theory. An exten-sive database of exercise types on the different topics in the domain could be developed. Apartfrom selecting the most appropriate exercise for the student, explanation would be desirable onwhy that exercise was chosen. Feedback could consist of an explanation of what kind of error thestudent made, and how to keep from repeating it. Ideally, the system could diagnose the bestway to learn for a specific student, and use the teaching method best suited to this student’sway of learning. It could be a powerful tool for helping students to master many aspects ofmusic theory. The thesis concludes with the following suggestions for future work that couldhelp reach this objective.

6.3.1 Musical domain

Broader scope The current system allows, in most exercises, all chords, both in and outsideof the scale of C. However, it is usual that music is written in a specific key, where it is notlimited to just the key of C. The key enables only a selection of chords: those that lie withinthe scale. This is one example of a domain that could be added to the system. Many moreadditional sub-domains of music theory could form candidates for additions to the system.

Chord sequences One chord is only the beginning. In music, multiple chords are usedsequentially in chord sequences. There are several sequences that are frequently used. HarmonySpace has been developed to help students, from novice to advanced, learn these sequences.Adding exercises on chord sequences to the curriculum would be a good way to make use of thespecific qualities of Harmony Space.

Sound integration Using only written music will not teach students the most importantdifference between chord types: they sound different. Using MIDI (Musical Instrument DigitalInterface) or OSC (Open Sound Control, the format used by Harmony Space) would enablestudents to learn to appreciate sound differences along the way.

Correct handling of modified notes As mentioned in section 5.4, only sharps are imple-mented in ChordTeacher. To make for musically correct chords and exercises, flats could bere-introduced. It would be necessary to alter the representation so that the system ‘knows’ thatalthough A] and B[ have the same pitch, they are not the same note for the purpose of buildingchords.

6.3.2 Technical improvements

Build-up of the curriculum When learning chords of three and four notes, it makes senseto start with the three-note chords. Once these have been mastered, the student can proceedto learning four-note chords – which are, moreover, built by adding another note to one of thealready familiar three-note chords. It would therefore be an improvement to add to the exercisegenerator a mechanism that would, not control the precise order in which the chord types arepresented, but make sure a chord type is only presented when some requirement is met, such asa prerequisite chord type.

26

Page 29: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Multiple users and interrupted sessions In ChordTeacher, the student model lasts onlyas long as the program runs. Giving each student a username-based file, their progress can besaved or retrieved when the student quits or restarts the program. This also allows multipleusers to use the system (and interrupt their sessions), for all their separate student models aresaved.

Generating images Using MIDI or OSC commands, it would be possible to dynamicallycreate the images that show notes, thirds or chords. A MIDI sequencer could be used for staffnotation. Harmony Space has a visual ‘piano roll’, so it could be used for both the piano andHarmony Space representations. This prevents the necessity of a large database of images.

6.3.3 Knowledge of the student

Extended student model The student model could be extended to not just hold a proficiencyvalue, but a more specified representation of the student’s knowledge. It could represent whatrules and definitions the student has learned, as well as the misconceptions (incorrect rules) theyhave internalized.

Prior knowledge and explanations ChordTeacher assumes students know something aboutnotes, but no more. A useful extension would be to assess what the student already knows beforestarting the curriculum. This would require more explanations to be available, which would bepresented or not, according to the student’s knowledge.

Diagnosis and feedback In addition to telling the student that their answer was incorrect,the system could diagnose what kind of error a student made and give more informative anddidactically sound feedback.

6.3.4 Evaluation

Asking users to work with the system and evaluating their progress and subjective judgementcould improve the system. Questions that could be investigated include:

• Does ChordTeacher help students in learning chord theory? This question could be an-swered both by measuring if students have made progress during the use of the system,and asking students if they feel they have learned something.

• Do students like working with ChordTeacher?

• What aspects, from the user’s point of view, would be desirable to add or alter?

The target user group is novices with some knowledge of notes. This group would therefore bethe ideal group for the evaluation. To include those unfamiliar with notes, an explanation ofnotes could be added to the program or presented on paper prior to using the system.

It could also be interesting to let users with some knowledge of notes and chords test the system,to evaluate the program’s ability to start on their own level.

Lastly, a subjective evaluation study amongst teacher of music theory and practice could be avaluable addition. This could give insight into how these professionally involved people viewthe system, and suggestions for improvement from experts in the specific field of teaching chordtheory.

27

Page 30: A prototype Intelligent Tutoring System for musical chord … · A prototype Intelligent Tutoring System for musical chord theory Eva Greiner 5894867 Bachelor’s thesis Credits:

Bibliography

Aleven, V., McLaren, B., Sewall, J., and Koedinger, K. (2006). The Cognitive Tutor AuthoringTools (CTAT): Preliminary evaluation of efficiency gains. In Ikeda, M., Ashley, K., andChan, T.-W., editors, Intelligent Tutoring Systems, volume 4053 of Lecture Notes in ComputerScience, pages 61–70. Springer Berlin / Heidelberg.

Anderson, J. R., Boyle, C. F., and Reiser, B. J. (1985). Intelligent tutoring systems. Science,228(4698):456–462.

Angelides, M. C. and Tong, A. K. Y. (1995). Implementing multiple tutoring strategies in anintelligent system for music learning. Journal of Information Technology, (10).

Bloom, B. S. and Krathwohl, D. R. (1956). Taxonomy of Educational Objectives: The Classifi-cation of Educational Goals. Handbook I: Cognitive Domain. Longmans, New York.

Brandao, M., Wiggins, G., and Pain, H. (1999). Computers in music education. In In Proceedingsof the AISB’99 Symposium on Musical Creativity.

Christensen, T., editor (2002). The Cambridge history of Western music theory. CambridgeUniversity Press.

Conati, C. (2009). Intelligent tutoring systems: new challenges and directions. In Proceedingsof the 21st international joint conference on Artificial intelligence, pages 2–7, San Francisco,CA, USA. Morgan Kaufmann Publishers Inc.

Holland, S. (1994). Learning about harmony with Harmony Space: an overview. In Smith,M. and Wiggins, G., editors, Music Education: An Artificial Intelligence Approach. SpringerVerlag, London.

Holland, S. (2000). Artificial intelligence in music education: a critical review. In Miranda, E.,editor, Readings in Music and Artificial Intelligence, Contemporary Music Studies, volume 20,pages 239–274. Harwood Academic Publishers, Amsterdam.

Mark, M. A. and Greer, J. E. (1993). Evaluation methodologies for intelligent tutoring systems.Journal of Artificial Intelligence in Education, 4:129–153.

Mavromatis, P. and Brown, M. (2008). An intelligent tutoring system for tonal counterpoint:From process to structure. In Proceedings of the fourth Conference on Interdisciplinary Mu-sicology (CIM08), Thessaloniki, Greece.

McQuiggan, S., Mott, B., and Lester, J. (2008). Modeling self-efficacy in intelligent tutoringsystems: An inductive approach. User Modeling and User-Adapted Interaction, 18:81–123.

Mithen, S. (2006). The singing Neanderthals: the origins of music, language, mind, and body.Weidenfeld & Nicholson Ltd, London.

Ohlsson, S. (1986). Some principles of intelligent tutoring. Instructional Science, 14:293–326.

Wenger, E. (1987). Artificial Intelligence and Tutoring Systems. Computational and Cogni-tive Approaches to the Communication of Knowledge. Morgan Kaufmann Publishers, Inc.,California.

Willemze, T. (1987). Algemene muziekleer. Het Spectrum BV, Utrecht.

28