Independent Research Course
Applications of Computer Science in Music
CSCI 399/499/690 – Spring, Summer 2005


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 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 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 230 (or equivalent) and permission of instructor.


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



Send email to Dr. Manaris (  Include your full name and student ID.