Fall 2014»CITA 180 Homework 5

CITA 180 Homework 5

Assigned Date: Monday, Oct. 27, 2014
Due Date: Wednesday, Nov. 5, 2014
Due Time: 9:55am

Last modified on October 28, 2014, at 08:48 AM (see updates)


Compose an interesting piece of music through the sonification of an image.

This assignment focuses on:

  • musical process
  • algorithmic process
  • high-level musical structure
  • processing information in images (e.g., use as chance material)


Select a digital image that you find beautiful or compelling. Create a musical realization of this image using jythonMusic. You should design the musical parameters (pitch, dynamics, timbre, panoramic, etc.) through which this image will be realized in sound.


  1. You could use only part of the image, or different parts of the image for different part of the music. For example, a bass line (low register) may be generated from a single ("rhythmically" interesting) row (or column) in the image. Or, you may create a recurring theme by sonifying a small (interesting) area of the image, and repeating it through Mod.repeat() or Mod.cycle(). Mod.transpose(), Mod.fadeOut(), Mod.elongate(), etc.
  2. Think about the high-level structure of your music. Do NOT expect that, just because you selected a beautiful image, everything will fall into place musically.
  3. Explore different possibilities, e.g., identify which image pixels (area? row? col?) will be used or what musical part. One possibility is to experiment with Arvo Pärt's | Tintinnabuli system. I.e., one part of the image can generate a bass tone, another a diatonic arpeggio, another a stepwise melodic line.
  4. Decide ahead of time if you will create continuous, chromatic, or diatonic music (e.g., MAJOR_SCALE).
  5. Start with a sound picture in mind (i.e., what type of sound you want to produce - major or minor, chromatic, continuous). This will inform the image(s) you select. The parameters in your algorithm should be shaped by both your intended sound idea and the image. As you explore, you may refine your image selection, type of sound, high-level musical structure, etc.
  6. You may add ornamental (non-image generated) musical material (no more than, say, 20% of the overall material). For example, you might generate a low-pitched drone or an ambient background sound to give the composition greater density and color.


Follow the Golden Rule of Style: "A program should be as easy for a human being to read and understand as it is for a computer to execute." [3]

In general, you should comment any variable, obscure statement, block of code, method, and class you create.

Your comments should express why something is being done, as opposed to how – the how is shown by the code.

Top Documentation

Additionally, your code should always include opening comments as follows:

#   Author:    Your names
#   Email:      Your email addresses
#   Class:      CITA 180
#   Assignment: Homework #4
#   Due Date:  The assignment's due date
#   Purpose:  Provide a simple, yet complete description of the task being
#         performed by this program. It may be several sentences long.


You will submit your assignment via OAKS/Dropbox. Be prepared to present your work to the rest of the class. Your submission consists of the following:

  1. Your Jython program.
  2. Your MIDI file.
  3. Your image.


Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.