#import <Fm2cnvi.h>
Public Member Functions | |
(id) | - noteOnSelf: |
aNote is assumed to be a noteOn or noteDur. | |
(id) | - noteUpdateSelf: |
aNote is assumed to be a noteUpdate and the receiver is assumed to be currently playing a MKNote. | |
(double) | - noteOffSelf: |
aNote is assumed to be a noteOff. | |
(id) | - noteEndSelf |
Resest instance variables to default values. | |
Static Public Member Functions | |
(id) | + patchTemplateFor: |
Returns a template. |
Fm2cnvi is a cascade-modulator frequency modulation MKSynthPatch, with an interpolating-oscillator as a carrier and a noise source modulating the frequency of the two wavetable modulators. It provides for envelopes on amplitude, frequency, and a separate envelope on each modulator's FM index, as well as an envvelope on the noise source. It also supports vibrato. Although it does not inherit from Fm2cvi, it implements the same parameters, plus some of its own.
When using this MKSynthPatch in an interactive real-time context, such as playing from a MIDI keyboard, call MKUseRealTimeEnvelopes() before allocating the MKSynthPatch.
In addition to the parameters described in Fm2cvi.rtfd, the following parameters are supported:
breathSensitivity - Controls how much affect the breath controller has. Default is 0.5.
controlChange - MIDI breath controller (controller 2) attenuates the output of the noise modulator. The value is obtained from companion parameter, controlVal. The range is 0:127 and the default is 127, indicating no attenuation. The effect of this parameter depends on the parameter breathSensitivity.
controlVal - See controlChange
noiseAmp - Amplitude of noise modulator. If a noise amplitude envelope is provided, this is the amplitude of the noise when the envelope is 1. noiseAmp1 is a synonym for the parameter noiseAmp. Default is 0.007.
noiseAmpEnv - Noise amplitude envelope. Default is a constant value of 1.0.
noiseAmp0 - Noise amplitude when noise envelope is at 0.0. noiseAmp is the value when the noise envelope is at 1.0. Default is 0.0.
noiseAmpAtt - Time of attack portion of noise envelope in seconds. If this parameter is not present, the times in the envelope are used verbatim.
noiseAmpRel - Time of release portion of noise envelope in seconds. If this parameter is not present, the times in the envelope are used verbatim.
+ (id) patchTemplateFor: | (MKNote *) | aNote |
Returns a template.
aNote | is a (id) |
Reimplemented from MKSynthPatch.
- (id) noteOnSelf: | (MKNote *) | aNote |
aNote is assumed to be a noteOn or noteDur.
aNote | is a (id) |
Reimplemented from MKSynthPatch.
- (id) noteUpdateSelf: | (MKNote *) | aNote |
aNote is assumed to be a noteUpdate and the receiver is assumed to be currently playing a MKNote.
aNote | is a (id) |
Reimplemented from MKSynthPatch.
- (double) noteOffSelf: | (MKNote *) | aNote |
aNote is assumed to be a noteOff.
aNote | is a (id) |
Reimplemented from MKSynthPatch.
- (id) noteEndSelf |