Bill Manaris : Fall 2014 / HONS 381 Homework 5

Assigned Date: Friday, Nov 21, 2014
Due Date (Intermediate results): TBA
Due Date (Final Piece Performances): noon-3pm, Friday, Dec. 5, 2014
Due Time: 11:50am

NOTE: No late days can be used for this assignment.

Last modified on November 25, 2014, at 10:56 AM (see updates)

This is an assignment that could be pursued either in pairs, or teams of three.


This assignment aims to develop and apply skills in:

For instance, see photos from last time the class was offered.


Compose a 4-5 minute piece for 2-3 live performers.

Design and implement interactive components using Python (and the music, gui, midi, and/or osc libraries) to facilitate performance of the piece and interaction between performers. In addition to the above libraries, you may find the following library useful - Also explore various OSC apps, such as Touch OSC, and Control OSC, among others.

The piece should be designed in a way that all performers are actively engaged throughout the duration of the piece in meaningful ways, contributing to the sound world or formal progress of the piece.

The piece can use the sounds and/or general concept of Assignment #4, but should be a significant improvement or extended version of it taking into account the following:

Composition Details

Musical Process

Follow these steps:

  1. Decide what "kind" of piece you want to compose: Are you interested in creating an ambient piece? a speech/text based piece? an industrial/mechanical piece? a noisy piece? a beat-based piece? This is an important decision that will guide your search for sound material.
  2. Select a title for your piece. Write it down.
  3. Familiarize yourself with Audacity: Experiment with loading pre-existing soundfiles, splicing them (cutting and pasting), processing them (by using some of the following found in the Effects menu: Change Speed, Change Pitch, Equalization (try extreme settings), Invert, Reverse, Sliding time Scale/Pitch Shift, Echo, Reverb), and assembling them in various ways by creating new tracks and layering them up against each other.
    • Explore how to make a loop of your own here and here.
  4. Decisively begin searching for source material: Try to have an idea of what "kinds" of sounds you are seeking (i.e., metallic, vocal, grainy, ambient, etc.). This will make your search more directed and fruitful. Look for sounds with interesting identity, rich in timbre and/or envelope. You can record sounds yourself, using your iphone, or computer (good mics will give you better sound quality). Alternatively, you can find great recorded sounds (audio files) here:
  5. Catalogue your sounds and categorize them by description, source, etc. Start loading them on Audacity and process them in any and every way that seems appropriate/relevant. Save every interesting result and re-name it. It is very important that you document your work in every step of the way. Frequently pause and audition what you have, and reassess/revise your original composing plan.
  6. Finalize your piece conceptually, and create a sketch diagram/score: Decide what needs to be pre-assembled and what can be put together live in performance. How many performers will be needed? How will sounds be projected? What is the best method in presenting the material?

Interactive Musical Interface

Follow these steps:

  1. How many individual musical objects does your piece have? What types of actions does your piece require for each of these objects (e.g., start/stop, loop, pause/resume, change volume, change pitch (frequency), etc.)?
  2. What types of GUI widgets or graphical objects would you like to use on your interface? Does your interface make use of the computer keyboard or the mouse? In what ways?
  3. Carefully read the paper prototyping section in Ch. 8 of the textbook (pp. 15-17).
  4. Create a paper prototype of your musical interface(s) - each performer may have a different one. It should be hand-drawn, but feel free to use color to make it more realistic.
  5. Bring your paper prototype in class on the first due date (see above) for presentation and comments. Your classmates are your target audience (some of them may be your performers).
  6. Once the paper prototype has been presented and commented on, you may begin implementing your GUI design in Python. Carefully follow the steps in "A Simple Methodology for Developing GUIs" in Ch. 8.
  7. Observe all coding style guidelines presented in class (e.g., top-level documentation, in-line comments, good variable names, etc.).


Your submission will consist of the following:

Important Note

We should be able to perform your piece simply by dragging-and-droping the contents of your "code" folder (from your USB stick) into our jythonMusic folder. Make sure everything is there.

Test this before you submit your USB stick.


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

(Printable View of