Research Project Course
Applications of Computer Science in Music
CSCI 299/399/499/690
Fall 2003


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.  

We are investigating Zipf’s law and how it may help classify/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 to music analysis (MIDI files).  

  • Contribute to on-going software development for applying 
    Zipf’s law to music composition.

  • Report on research results.


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


  • Solid knowledge of Java or Visual Basic.

  • (399 and above) Strong background in software development 
    (software engineering principles, data structures, and algorithms).

  • (399 and above) CSCI 230 (or equivalent) and permission of instructor.


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



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



  1. Bill Manaris, Dallas Vaughan, Christopher Wagner, Juan Romero, and Robert Davis (2003). "Evolutionary Music and the Zipf-Mandelbrot Law: Developing Fitness Functions for Pleasant Music," in Lecture Notes in Computer Science, Applications of Evolutionary Computing, LNCS 2611, Springer-Verlag, pp. 522-534.

  2. Bill Manaris, Tarsem Purewal, and Charles McCormick (2002), “Progress Towards Recognizing and Classifying Beautiful Music with Computers—MIDI-Encoded Music and the Zipf-Mandelbrot Law,” In Proceedings of IEEE SoutheastCon 2002, Columbia, SC, pp. 52-57