Shape of a Song
Shape of a Song is a Java app that reads MIDI files, and then draws a pictoral representation of that song.

The diagrams display musical form as a sequence of translucent arches. Each arch connects two repeated, identical passages of a composition. By using repeated passages as signposts, the diagram illustrates the deep structure of the composition.
The diagram above illustrates the complexity of part of Bach’s Goldberg Variations.