IMTCP software description & overview (2010)

-Download the software for Mac or Windows


The Interactive Music Technology Curriculum Project, or IMTCP, sought to use interactive software to teach composition and performance to non-music students. The software allows the number keys on a computer keyboard to play diatonic scale degrees and chords in a given key.

In 2010, IMTCP was conducted at Rowan University with a group of middle-school to early high school students in a one-week music camp setting during the summer. Activities involved brief explanations of terminology and harmony concepts in which the software was used exclusively to demonstrate these musical ideas. Students were asked to name 10 songs that they liked which we reduced to a single sheet of paper containing the form and chord progressions containing just the numeric diatonic chord functions.

With a list of chord functions and the ability to play such chords just by pressing a number key on the computer keyboard, students played through their favorite songs and composed original compositions using the same model. The chords generated by the software could utilize internal software timbres or could be routed to a third party DAW like GarageBand where the timbres could be changed and the data could be recorded and layered.   

As the week progressed and the understanding of building triads and taller chords by trigger a note from a diatonic scale became clearer for the students, a MIDI keyboard was introduced by which a C major scale would be used to trigger the diatonic scale degrees. The software would then take the single note of the scale played by the student and complete the chord, so that if a user played D, scale degree 2 in the key of C major, the software would add the third and fifth to the chord, F and A. The MIDI keyboard would in essence be functioning as a trigger just like the computer keyboard was being used earlier. Eventually, the software was removed completely and students played chords on their MIDI keyboard. The software also has the feature to detect pitch from a microphone so that electric guitars or acoustic instruments could be harmonized in the same way.

Students recorded several original compositions each using nothing, but the IMTCP software and GarageBand. Students were permitted to use drum loops if desired, but all other harmonic or melodic content had to be original.

In addition to composing and performing diatonic chord functions, students soon became comfortable with identifying progressions and chord functions by ear. A number of pop songs were played in which the students were able to identify the progression by ear using the software as an aid.

There were 6 IMTCP software titles used in 2010, labeled E000 - E005 each with a specific purpose. Each of these programs was introduced with an explanation of the musical concepts it highlighted before students were asked to use it to help them compose an original piece.



E000 is a basic demonstration app for showing the numerical relationships between scale degrees and how chords can be built in tertian harmony. It uses the numerical keys from a computer keyboard to trigger diatonic scale degrees or chord functions. The tonic and mode can be determined by selecting from the two pull down menus. Chord tones can be added or taken away by checking the chord tones boxes. The chord voicings themselves including the octave can be adjusted from the chord voicing menu. It can also take monophonic MIDI note from a MIDI keyboard.

The software has the option to enable auto sustain in which notes will sustain until a new note is received or the space bar is pressed. This allows notes to sustain while the user is preparing to play the next note. With manual sustain enabled, a notes will sustain only as long as the number key is held down allowing rhythmic patterns to be performed with greater accuracy than auto sustain mode. A mode using an automatic playback style can also be turned on and set in beats per minute in which sustained chords will instead be played back with a specified pattern.


E001 is similar to E000 in almost every functional aspect. It does, however have added functionality for recording MIDI data as a performance. It also has the option to route the MIDI data from the software to another audio program like GarageBand or Mixcraft. From there, the performance can be recorded in real-time in those programs. This also allows the user to change the timbre to something other than the default internal timbres of the E001 software.


E002 is basically the automata software my brother Dan and I developed in 2009 for cell phone-based performance which was later adapted for a TI:ME Action Research Project funded by a NAMM grant. For more information about automata, visit

E002 incorporates the same functionality and concept: provide a bunch numbers using the onscreen buttons, and then manipulate those numbers to create music. The numbers can be played back in a user-controlled rhythm and tempo, while their timbre, chord voicing, and dynamics can be changed. The tonic, mode and overall chordal harmony can also be changed. Students can use up to 4 number-based patterns simultaneously which can be linked to the same tempo if desired. Like E001, this software can also be recorded internally or routed out to another audio program for recording and timbre changes.


E003 allows a user to organize a collection of progressions into a form. The software will then perform through each chord in the progression as the user dictates the overall form by choosing different progressions. Like E001 and other software, the user can control the playback style, tempo, timbre, key and more. The data can be recorded internally or routed to another audio program.


E004 is a modified version of the EAMIR Smart IWB software created for use on a large interactive white board such as a Smart Board®. This software shows suggestions for composing chord progressions based on the ways that chords tend to resolve in western music. If a user clicks on the 5 chord, they will hear the five chord played back in either a sustained mode or in one of the playback styles as seen in other IMTCP software. However, the 6 chord and the one chord will begin blinking showing the user that these chords commonly follow the one they just played. Of course, the user is not forced to play one of these chords, but the suggestions are still there when the user triggers diatonic chords or any of the secondary dominant or leading-tone chords, augmented sixth chords, or other tonicizing chords available in the other rows of the program or through the pull down menu.

The blinking chord suggestions are stored in a simple text document, and, thus, can be modified to allow instructors to create customized chord suggestions for a given chord.


E005 is almost identical to E001 with a few added features. The main difference is the addition for MIDI input support that will take a single note from a scale played on a MIDI keyboard and add the remaining chord tones to complete the triad or taller chord. A user can then play through chords in progressions using the MIDI keyboard to trigger scale degrees 1 through 7. There is also a mode so that when the key is changed in the software, the user can still play the diatonic scale degrees in C major in order to trigger the diatonic chords of another key, like F# Major. This allows the user to play through a wide range of repertoire even if they only know one scale.

An added feature of E005 is the option to use a microphone on an acoustic instrument or a line-level instrument such as an electric guitar to perform in a similar way. A user could play a single note on their guitar and have the software harmonize the single diatonic notes just as it did with the MIDI keyboard as just described.

Throughout the week, other EAMIR software was used allowing their compositions to be performed on video game controllers, graphics tablets, lasers, and more. At the end of the week, students were given a CD of all of the software as well as a CD of all of the MP3's they made of their compositions.

For more information on other interactive systems, visit or