Difference between revisions of "256a-fall-2010/hw2 hints"
From CCRMA Wiki
(→Possible Classes) |
(→Possible Classes) |
||
Line 6: | Line 6: | ||
* 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]) | * 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. | + | * KarplusSynth - a class to hold both the delay line and one zero filter. This should be the main synthesis object that wires up the onezero and delayline objects. 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 | * 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) | * 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) |
Latest revision as of 21:15, 6 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 that wires up the onezero and delayline objects. 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)