Fall 2015»CITA 180 Homework 3

CITA 180 Homework 3

Assigned Date: Wednesday, Nov. 6, 2015
Due Date: Monday, Nov. 16, 2015
Due Time: 8:20 AM

Last modified on November 11, 2015, at 08:37 AM (see updates)


Compose a 2-3 minute piece for live performance.

The piece should consist of at least 3 different sounds (audio files, or MIDI sequences).

The performer needs to be actively engaged in the performance (i.e., decisively interacting with their program's GUI throughout the performance).

This is a solo (i.e., work on your own) assignment.


The first thing you need to decide is what type of sound experience you are trying to create.

Then, decide what types of music/sound building blocks you will need. It is okay to use (remix) existing sounds (e.g., audio loops off the Internet, or your personal music library); it is okay to record and use your own sounds (you on an instrument, or some ambient (e.g. traffic, birds, etc.) sound recorded by you); it is okay to use MIDI sequences (e.g., a BASS instrument or Percussion for rhythm). Any combination of these is is okay. The building blocks are up to you, as long as they make for a cohesive whole.

This assignment aims to develop and apply skills in planning, designing and executing a sound design, interactive musical performance, and/or music composition using JythonMusic. Possible techniques and approaches in completing this project include:

  • Using audio recording/manipulation software (e.g., Audacity) to generate building (sound) blocks for ambient soundscapes.
    • These files will be loaded into your program as AudioSamples.
  • Using JythonMusic code to create and save MIDI files.
  • Combining use of audio samples and MIDI generated sounds.
  • Developing GUIs for live performance.
  • Planning and executing a live performance.


  • Aim for smaller WAV files that can be looped, as opposed to large files that will be played once. Otherwise you may run out of memory inside JEM, or when you try to submit your work on OAKS.
  • If you use other people's work, give appropriate credit. For each sound file you use, keep a list of name, author/composer/creator, and URL (where the file came from). Include this list in the top-level comments of your program and the written report (see below).

Performance (in-class)

On the due date:

  • Bring a printout of the report and hand it in to the instructor (see details below).
  • Be ready to perform your work in class on the due date.

Submissions (on-line)

Files to submit via OAKS:

  • A document file in PDF format (created via Word, Google Docs, etc.) that includes the following, as separate sections:
    1. Your name, class, assignment, and title of piece.
    2. A description of the sound experience you are trying to create (your aesthetic objectives) with this piece.
    3. List of sounds (for those obtained from a website, include titles, authors, URLs).
    4. Your final GUI (as a digital image) with caption/description, if applicable.
    5. Your program (code) included as an Appendix
  • Your program (give it a descriptive name).
  • All media (WAV and/or MIDI files) needed by your code. Again, aim for smaller files that can be looped, as opposed to large files that will be played only once.


Your grade will be based on how well you followed the above instructions. Also on:

  • The variety of ideas you tried in your composition.
  • The aesthetics and usability of your GUI design (aim for something that works well and looks pretty).
  • Quality of code (e.g., comments, variable names, etc.)
  • How interesting your music is.
  • Live performance of your piece in class.

Learning Objectives

  • Understand functions and use them to design processes involving modularization.
  • Use predefined classes in program development (object-based programming).
  • Understand events and graphical user interfaces and use them to develop simple computer-based instruments for electroacoustic music.