Assignment 3
Home Up Assignment 1 Assignment 2 Assignment 3 Assignment 4 Assignment 5

 

HasSound and Csound Programming

Nominally due Friday October 20

The purpose of this open-ended assignment is gain more familiarity with HasSound, including recursive signals.  You will do this by implementing a more interesting idea (or two, or three, depending on your motivation).  The ideas come from two quite interesting chapters from The Csound Manual, both by Hans Mikelson:

bullet

Mathematical Modeling with Csound: From Waveguide to Chaos.  This chapter gives instrument designs for a plucked bass, a slide-flute, a waveguide clarinet, and a waveguide drum.  (It then describes some more chaotic systems, one in fact based on a planet orbiting a binary star system, but I don't think they're recursive.)
 

bullet

Implementing the Gardner Reverbs in Csound.  This chapter discusses a particular kind of room reverberation based on "double nested all-pass filters".  It gives designs for small, medium, and large rooms.

Your assignment is to implement any one of these designs in HasSound, but it must be recursive (i.e. have a loop in the signal flow).  If you're motivated, do more than one.  Since the Csound code is given to you, this shouldn't be too hard, but try to write the code elegantly, taking advantage of HasSound's functional style.  For example, I wonder if the nested structure of the reverb circuit can be captured in an elegant way?  Also, write out the recursive mathematical equations that describe your design(s).

Try to have fun with this and don't stress out on due dates.  But do get started on it early so that you can ask questions if you're having trouble.

I have placed ten copies of the two chapters on the counter outside of my office.  (There are only ten because my copy card ran out of "money" :-)  I will put out a few more on Monday.