Fall 2007»CSCI 199 Homework 4

CSCI 199 Homework 4

Assigned Date: Tuesday, Nov. 13, 2007
Phase 1 Due Date: noon, Thursday, Nov. 29, 2007
Phase 2 Due Date: 11:55pm, Wednesday, Dec. 5, 2007

Note: There are two different due dates, one for each phase of the assignment.

Last modified on December 06, 2007, at 10:47 AM (see updates)


This assignment focuses on generating music via the jMusic environment.

You will work in teams of two.


Create a composition in the musique concrète style:

Musique concrète (French; literally, "concrete music"), is a style of avant-garde music that relies on natural environmental sounds and other non-inherently-musical noises to create music.

For this assignment feel free to extend the above definition to include jMusic notes, as demonstrated in myFavoriteMelody.py program in class. You should also use sounds manipulated as demonstrated in audioReadWrite.py. Finally, feel free to experiment with program audioDrums.py, which shows how to use sounds as jMusic notes.

Create a design of your composition, where you specify what types of notes, sounds, etc., you will use. Think about applications of the golden ratio and fractals in setting up the "dimensions" of your music composition. (For example, see Fibonacci numbers and the golden section in nature part1 and part2. There numerous other resources out there.)

Phase 1

For phase 1, submit a MS Word document (with name, class, assignment, date on top) describing your composition. Also, submit a prototype of your composition (an audio file), and the program that created that audio file. It is important to do all audio slicing and other manipulation within this program. (It is OK to use another program to create the original sound samples used in your program (e.g., record your voice, my lecture, your dog, or whatever.)

Phase 2

For phase 2, submit the same as above, but extended/refined for the final composition. In other words, submit three different documents:

  1. a MS Word document (with name, class, assignment, date on top) describing your composition,
  2. the composition (an audio file, or MIDI file), and
  3. the Python code that created that audio or MIDI file.


Upload your submission to WebCT.


Your assignment will be graded based on how aesthetically interesting your music is, the variety of ideas you tried in your design of the composition, and how well you followed the instructions.