Research Project Course
Applications of Computer Science in Music
CSCI 399/499/690 – Spring 2002


This is an independent-study research and development course for undergraduate and graduate students.  It is associated with an on-going research project on applications of computer science in music.

Computers have been used extensively in music to aid humans in analysis, composition, and performance.  This is facilitated by the use of MIDI (Musical Instrument Digital Interface)—a coding scheme used to encode music data, such as pitch, duration and timbre. 

This semester we will investigate Zipf’s law and how it may help identify/compose music that humans find “pleasing, beautiful, harmonious.”


Zipf's law is named after Harvard University’s Linguistics professor George Kingsley Zipf (1902-1950).  Zipf observed that certain natural phenomena (such as human language) have an intriguing characteristic: When we plot event frequencies (y-axis) against their rank (x-axis) on logarithmic paper, we get a straight line with a slope of -1 (see figure 1).

This remarkable observation has inspired and/or contributed to several scientific fields, including Fractals and Chaos Theory.  It has been extended to account for natural and man-made phenomena that produce straight lines with slopes other than -1.  Such phenomena include city sizes, salaries, word frequencies, earthquake magnitudes, thickness of sediment depositions, extinctions of species, traffic jams, and visits of websites.

Text Box:  

Fig. 1.  Zipf’s law.


Preliminary research indicates that Zipf’s law may help identify musical pieces which are considered “pleasing, beautiful, harmonious” by humans [1, 2].  We will apply Zipf’s law on various music pieces encoded in MIDI.  We will also explore how Zipf’s law may help to compose “pleasing, beautiful, harmonious” music via computer.  Students will:

·      Contribute to on-going software development for applying Zipf law on MIDI files. 

·      Investigate ways to apply Zipf’s law to music composition.

·      Report on research results.



Students will work under MS Windows using MS Visual Basic, Java, and MIDI processing software by Cakewalk.


·      Strong background in software development (software engineering principles, data structures, and algorithms).

·      Solid knowledge of Java or Visual Basic.

·      CSCI 330 (or equivalent) and permission of instructor.


No previous knowledge on music theory or Zipf’s law is required.



Course is closed for Spring 2002.


If interested in enrolling for Summer/Fall 2002, send email to Dr. Manaris (  Include your full name, student ID, and a few words about your background (see prerequisites).



  1. Bill Manaris, Tarsem Purewal, and Charles McCormick. "Progress Towards Recognizing and Classifying Beautiful Music with Computers—MIDI-Encoded Music and the Zipf-Mandelbrot Law," Technical Report CoC/CS TR#2001-7-2, November 2001. Abstract (ascii). Report (PDF).

  2. Bill Manaris, Valerie Sessions, and James Wilkinson. "Searching for Beauty in Music—Applications of Zipf’s Law in MIDI-Encoded Music," Technical Report CoC/CS TR#2001-7-1, August 2001. Abstract (ascii). Report (PDF).