DMP / Synth Theory

Course Outline (Spring 2000)

C style tips
PD Standard Library
Standard MIDI File format
Writing Efficient Programs - 27 Rules
Bentley's Rules The Art of Assembly Language Programming
Assignment #5 (due 00/03/09) Submit hardcopy, the source, and the object (314 Mac).
  1. Write a meter_metronome MAX external:
  2. Write a plus~ MSP external that behave exactly like the +~ external.
  3. Write a square~ MSP external that generates true square waves. It should have an inlet to change frequency and another inlet for variable duty cycle (range of 0 to 1, specifying the proportion of the high level to the low level). A normal square wave will have 0.5 duty cycle.

Assignment #4 (due 00/03/01) Submit hardcopy, the source, and the object (314 Mac)..

  1. Write an external that is functionally same as the "-" (minus) object in MAX. It should hae "assist" strings.
  2. Write an external avg which takes a list of integer or floating-point numbers and output the average (floating-point). The result should be internally stored so that a bang input will also output the result. The maximum list (array) size of the input should be at least 30.
  3. Write an external movavg that calculates and outputs the moving average of int or float input. The number of terms used in the average (N) should be speicified in the argument of movavg or if not specified, defaults to a certain number. Also provide a right inlet to change the number of terms (N) to be used. Make a sensible strategy when the number of elements in the list is less than N. Hint: You should use a circular queue.

Ichiro Fujinaga 2000.03.02