Week 6

Home Up Code 6

Up to now, we have focused on introducing techniques for synthesis while ignoring some theoretical underpinnings. In this class, we will take a more formal look at sampling and the representation of continuous signals using discrete digital information.

Slides, code_6.lsp - examples

Feb 20

Programming techniques
Recursive sound sequences
Matching durations
Smooth transitions
Amplitude envelopes
Smooth vibrato onset
Composing control functions
Global vs. local control functions
When does evaluation take place?
Stretchable behaviors
Reading Sound Files
Working with Open Sound Control input
Listening session
Pins, Paul Koonce 13:23

 

Feb 22

Sound processing
Perception Basics
Acoustics Basics
More Sampling
Dither
Oversampling
(Skip the part of the CD-ROM lecture on Audio Editors and Recording)
Listening
Homework 6
 

Homework 7 due Feb 28

Make a sound that can be controlled in real-time using a (physical) controller from the Physical Computing class.
Details: By now, you should be teamed up with someone in the Physical Computing class and have some idea of what their controller will be like. You and your teammate should have a conceptual idea of what kind of sound you will make and how it will be controlled. Your task in this assignment is to create a controllable sound and deliver it to your teammate for testing. You are encouraged to participate in testing and refinement, but if scheduling is difficult, you can mail your code to your teammate and assume he or she will test your code and send you comments and bug reports by email. The deadline for  the delivery of working code is Feb 28, but the final integration of controller and sound synthesis is due Mar 8.
Grading: In grading the homework, we will be looking for
  1. An interesting sound, 
  2. A sound that changes in interesting way(s) to control parameter changes, 
  3. Complete documentation for your teammate: how to play the sound, what parameters can be changed, both in the code and through real-time control changes, what slider numbers are mapped to what aspects of the sound, and what values to try. E.g. if slider 5 has to be greater than zero for something to happen, you need to make that very clear.
In general, a sound that shows evidence of effort will do well. For ideas on how to vary your sounds, take a look at the code examples. In addition, your Nyquist code should be clean and easy to read. Comment your code. 

Late homework will lose 1 point per hour.

Please check to make sure that your files are submitted and that they are the right sizes. The deductions for missing parts are listed below. If you are unsure about how to submit your homework, please contact the TA.

Missing lisp file = 50 points
Missing text description = 50 points

Submitting your homework:
You need to submit three things:
-Your text description, named andrewid_hw7.txt
-Your lisp code, named andrewid_hw7.lsp

Submit this to the server as usual. You should also email a copy of everything to your teammate for integration and testing with their controller implementation.