FM7 implements a 6x6 oscillator matrix, where each oscillator's phase can be modulated by any of the other oscillators' output.
The UGen expects two matrices: one for oscillator parameter control, one for phase modulation. It outputs six channels, one for each oscillator. To select specific outputs, you can use array methods like at(indices)
or slice(indices)
.
ctlMatrix |
specifies the three parameters frequency (can be modulated at control rate), phase (set at initialization only) and amplitude.(control rate): |
modMatrix |
The modulation matrix specifies the amount of modulation each oscillator output has on another oscillator's phase. Row i in the matrix refer to oscillator i's phase input and the columns denote the amount of phase modulation in radians. The UGen outputs the six individual oscillator signals. |
Provided a number for a wiring (called 'algorithm' in the FM-world), returns an instance that has this setup. All 32 algorithms from the DX7 are implemented.
algo |
The id of the algorithms [0..31] the algo argument chooses the algorithm when the ugen is instantiated. It cannot be modulated. |
ctlMatrix |
See above. |
feedback |
One global parameter used in all places where the interconnections result in feedback. |