467 Final Project-- updated 3/7/05

Extending the Waveguide model


Part 1-- Design and Implement an extension to your waveguide model


Partners work together on this part

You will research and design a new instrument model, based on the waveguide model we have previously implemented. Your model should output multiple voices, playing in stereo, capable of playing from A1, 55.00 Hz to A6, 1760.00 Hz..


Some possible models are:

  1. A waveguide Plucked string bass
  2. A waveguide flute
  3. A waveguide clarinet
  4. A waveguide drum
  5. A MIDI-driven Harpsichord or Guitar playing the full 4 part Bach_Fugue_BWV578 (more information here). You will need to build a mixer for the four voices.
  6. A multiple string model using the SRAM for delay storage, and answering the question: "How many strings can we play at once in this hardware?"
  7. A waveguide reverberation unit
  8. some other model of your choice with my permission

You should look at these lecture notes for information on models.  

I have five copies of the Perry Cook book that you may borrow. This is probably the best place to start.

In addition, here are some web references:

Synthesis Toolkit by Perry Cook the latest C code is here

Julius Smith on Waveguides everything you ever wanted to know...

Pay attention to Cook's Chapter 14 on "Exciting and Controlling Sound Models". Your model should clearly demonstrate the appropriate excitation function.

You should demonstrate your model by driving it from the Microblaze with a short melodic sequence. If you can't invent one, then try some MIDI here.

You may use our solution as your starting point, or use your own solution to Lab 7.

You must:

  1. Report to bruceh@cs by Friday, March 4 what model you are implementing. Include both partner's names.
  2. Meet with the lab staff to review your project by the last day of class.
  3. demonstrate your completed project to the lab staff by Wednesday March 16 at a scheduled time (signup during last class time on March 11).


Complete archived project, with:

  • Commented Verilog code
  • Commented C Microblaze code
  • Include complete directions for compiling and running your project

The archived project is due by midnight on Wednesday, March 16. Submit as rar or zip via email to bruceh@cs.washington.edu with title "467-lastname1-lastname2-project".

Grading: You will be graded on:

  1. difficulty of the model you picked balanced against the accuracy and clarity of your implementation of the model
  2. accuracy of sound

nPart 2-- Write a report on what you did and why you did it.

¨Each person turns in a separate report

In addition to getting the final project to work and demonstrating its functionality and implementation to the instructors, you will need to submit a project report. 

The project report will need to be about 3-5 pages and must be done individually, not in pairs. 


It must follow this general format:

Microblaze Waveguide Model Report

 Due Date:  The project report is due by midnight on Wednesday, March 16. Submit as rar, zip or pdf via email to bruceh@cs.washington.edu with title "467-myname report".