GTTMS: Generative Theory of Tonal
Music Software


+Ask a question

What's the story behind this software?
The Generative Theory of Tonal Music (GTTM) was developed in the early 80s by composer Fred Lerdahl and linguist Ray Jackendoff.  GTTM "relates the aural surface of a piece to the musical structure unconsciously inferred by the experienced listener." In 2002 I was hired by Noel Zahler and Fred Lerdahl to write software that performs a GTTM analysis on music written in the style of Bach chorales.  The result is software that creates a visualization of unconscious musical structures. It also performs a complete Roman numeral analysis.

In the process of automating the analysis we made some discoveries. We revised elements of GTTM itself, and developed a new key-finding algorithm.

As an educational tool, this software can make high-level theory accessible to first-year music theory students.  The automation of the analysis makes complex analytical techniques tangible to the novice.  It also teaches top-down composition and hierarchical organization.

What does the tree mean?
It represents a hierarchy. The Generative Theory of Tonal Music organizes music into levels of importance. Every musical event has a corresponding branch. Every time two branches intersect the events are compared for importance. The winning branch ascends higher. It's equivalent to a tournament tree.

Why arrange music into a hierarchy?
Because that's what we do in our heads. Children are more likely to make mistakes on less important notes and get the important ones right. Folk songs will vary from region to region, but the more important musical events tend to stay the same while the less important ones are more likely to vary. Arranging musical events into a hierarchy gives us a better understanding of how a piece is heard.

How do I put my own midi files into GTTMS?
The midi file must be in four voices; each voice on a separate channel; midi type 1. After you open the file in GTTMS, it will prompt you to enter the number of phrases and then adjust their boundaries. Select "set phrases" from the analysis menu and then you should be good to go.

The analysis doesn't seem to be working.
GTTMS is not perfect. It can't analyze everything. However, it should be able to parse about 80% of all Bach chorales. Therefore, if your Nirvana song is input correctly, GTTMS should be able to handle it. However, Milton Babbit's work will be too difficult.

Can the program do a prolongation analysis?

Where can I find more about the Generative Theory of Tonal Music?
See the links page.