View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

Assignments

For due dates, see Syllabus.

Assignment #1: Play a Composition.


Using Squeak, play some composition (yours or someone else's) of:

Grading:

Turnin: Create a Squeak project with your code, put it on the Web somewhere, and mail the URL to Mark (guzdial@cc.gatech.edu) before classtime on the due date.

Assignment #2: Improve the Base Oscillator.


Improve the Oscillator provided in class in Squeak. Implement:

In addition, create a simple envelope generator which can be used as the amplitude input to the oscillator. (Make sure it works for truncation, interpolation, androunding, i.e., you'll have to reimplement rounding). Your envelope generator should input the number of milliseconds to maximum amplitude (attack), a maximum amplitude, a duration, and the number of milliseconds to zero amplitude (decay).

Turn in (a) your code; (b) your workspace code for executing each of the above with your code; and (c) execution times for each of rounding, truncation, and interpolation, both with and without an envelope. Also, compute the execution times of generating the wavetable at sizes of 1024, 2048, and 4096. Put all of these in a Project on the Web somewhere, and mail Mark the URL before class time on the day that the project is due.

Grading:

Assignment #3: Synthesize the Sound of a Real Instrument.


Using the AudioExplorer (see Active Essays), come up with your best guess for a given instrument's spectral envelope. Generate a waveform for a given note by that instrument with approximately the same spectral envelope. Try to do it as flexibly as possible. Real-time performance is not required. USE WHATEVER CODE YOU WANT, BUT YOU MUST ACTUALLY IMPLEMENT AN INSTRUMENT (e.g., NOTE THIS IS A CHANGE: You CAN use code existing in Squeak).

Suggestion: Think about making it work in Csound first, then put it into Squeak, if you find the oscillators, envelopes, and filters of Csound easier to think with.

Turn in your code (including Workspace code for executing your code) and a 1-3 page paper on your instrument, what you did, and why you did it (e.g., think about how real instruments' spectral envelopes look for different frequencies, and how your code could be reused to generate other frequencies for the same timbre). Turn in as a Project on a websiting mailing Mark the URL. (Put the paper in as GeeMail, as a Workspace, whatever you want.)

Grading:

STUDENT PROJECT #1.


Implement IN SQUEAK a single example of cSound code from any chapter in the cSound book that uses at least three different unit generators (oscillators, filters, buzz, FOF, delay lines – any opcode other than assignment counts). You will also PRESENT your work with a live demonstration of your instrument playing some composition. (If sound generation is more than 30 seconds, you may provide an AIFF file instead.) Finally, you will provide a 2-5 page paper.

The paper and presentation should explain:

You may use any code in Squeak or provided in class.

Turn-in (a) your code; (b) the workspace code to execute to test your code; (c) your presentation (as powerpoint, Squeak project, or PDF), and (d) your paper.

Grading:

Assignment #4: Generate a Harmonic Progression.


Use music generation software of your choice to create two random harmonic progressions with the following characteristics:


Use Harmonic Progression chart from class for chord changes.

Turn in your code, plus at least two sample random progressions (the progressions must be ones that were created by your program, using a known seed for the random number generator!). Put the submission on a web-site and E-mail the URL to Jim. Make sure you include instructions on how to run your program (what software you used, etc). A MIDI file is the preferred output method for the progressions.

Grading:

Questions on Assignment 4


THE BIG FINAL STUDENT PROJECT!


You are to compose a piece of at least 90 seconds in duration with various specific requirements:
(Jim may add more here later.)

You are to post an MP3, code, and PowerPoint presentation here before presentation day during Finals Week. The MP3 should be your composition played. The Powerpoint (of 3-4 minutes duration) should explain how you did what you did.

You present these at our final on Friday December 14, 11:30-2:20.

Questions Page for Final Project

Links to this Page