Jump to content

256a-fall-2010/hw2 hints: Difference between revisions

From CCRMA Wiki
Njb (talk | contribs)
Created page with ' = Possible Classes ='
 
Njb (talk | contribs)
Line 1: Line 1:


= Possible Classes =
= Possible Classes =
* DelayLine - a class to represent the audio delay line
* OneZero - a class to represent the moving average filter needed for the Karplus-Strong algorithm. The one zero is a signal processing reference to one root in the numerator in of a difference equation (not important for this, but I wanted to stay consistent from the office hours). The one zero class should simply implement something like: y[n] = .5*(x[n] + x[n-1])
* KarplusSynth - a class to hold both the delay line and one zero filter.  This should be the main synthesis object.  You'll have a limited number of these (say 16 of them) to do polyphony.
* MidiEvent - a class to represent the concept of the midi note velocity and pitch
* MidiEventQ - some data structure to store the incoming MidiEvents and drain them when needed (produced in the midi callback and consumed in the audio callback)

Revision as of 04:14, 7 October 2010

Possible Classes

  • DelayLine - a class to represent the audio delay line
  • OneZero - a class to represent the moving average filter needed for the Karplus-Strong algorithm. The one zero is a signal processing reference to one root in the numerator in of a difference equation (not important for this, but I wanted to stay consistent from the office hours). The one zero class should simply implement something like: y[n] = .5*(x[n] + x[n-1])
  • KarplusSynth - a class to hold both the delay line and one zero filter. This should be the main synthesis object. You'll have a limited number of these (say 16 of them) to do polyphony.
  • MidiEvent - a class to represent the concept of the midi note velocity and pitch
  • MidiEventQ - some data structure to store the incoming MidiEvents and drain them when needed (produced in the midi callback and consumed in the audio callback)