The Melisma Music AnalyzerDaniel Sleator
The Melisma Music Analyzer is a powerful system for analyzing music and extracting information from it. The analyzer takes a piece represented as an "event list"--a list of notes, with pitch, on-time, and off-time (MIDI files can be used as input as well). It extracts information about meter, phrase structure, contrapuntal structure (the grouping of notes into melodic lines), harmony, pitch-spelling, and key.
At this site, you can download the source code for our system, which runs on a UNIX platform (this can be done at our ftp site), as well as other materials that may be useful in using the system. We also provide extensive documentation in the pages below. Before proceeding any further, we suggest you read the Introduction document below, to get a sense of what the Melisma system is all about.
(As of July 2003, we are releasing a new version of the Melisma system. This includes: 1) a new version of the key-finding program; 2) a new system for testing meter-finding programs [the "note-address" system]; 3) a program for generating melodies, based on the principles of the Melisma system. Other components of the system are unchanged since the last  release.)Introduction
The Meter Program
The Grouper Program
The Streamer Program
The Harmony Program
The Key Program
Contents of the FTP Site
Materials Used in The Cognition of Basic Musical Structures
NEW!->The Melisma Stochastic Melody Generator