Note: this independently contributed article has not yet been reviewed for accuracy by Karma-Lab.
This article is still under construction. Pardon the dust.
There are essentially three different aspects to how a GE decides which actual note pitches to play at any Rhythm Step of a phase. Although they aren't named as such anywhere in KARMA, and the official KARMA documentation doesn't describe how KARMA works in terms of these aspects, I find them useful for understanding and explaining what is the hardest part of understanding how GEs work — why does KARMA play the specific notes that it does at any step of a phase?:
- Aspect 1 - the base pitches
- Aspect 2 - the pitch indexes
- Aspect 3 - the pitch modifications
Aspect 1 — How the "base pitches" for the GE are determined
The first aspect is just a simple decision by the GE about whether to use the Note Series group or the Drum group as the set of base pitches to use. This depends on the GE's GE Type parameter as described in this article:
- Generated-Riff and Generated-Gated GEs use the Note Series group to determine which base pitches to play.
- Generated-Drum GEs use the Drum group to determine which base pitches to play. Note that Drum GEs can be either drum-groove related (non-transposing) or melodic (capable of transposition and note table shifting.)
- Real-Time GEs are a completely different beast, and the notes that are generated relate to the input notes directly without any Note Series or Drum Pattern.
These are mutually exclusive. A Generated-Drum GE never looks at the Note Series group, a Generated-Riff GE or Generated-Gated GE never looks at the Drum group, and a Real-Time GE looks at neither the Note Series group nor the Drum group
Although your workstation does not plainly list the GE Type, it's still very easy to tell whether a particular GE is using the Note Series group or the Drum group to determine what notes to play:
- The RTC Model associated with a GE is plainly displayed on the KARMA GE tab. RTC Models are associated with a single GE Type, always:
RTC Models and GE Types |
1 | BL1 - Bass/Lead 1 | Generated-Riff |
2 | CL1 - Comp/Lead 1 | Generated-Riff |
3 | DM1 - Drum Melodic 1 | Generated-Drum |
4 | DP1 - Drum/Perc 1 | Generated-Drum |
5 | EG1 - Dual Env Gen 1 | Generated-Riff |
6 | GC1 - Gated CCs 1 | Generated-Gated |
7 | GV1 - Gated Vel/Pat 1 | Generated-Gated |
8 | LF1 - Dual LFOs 1 | Generated-Riff |
9 | MB1 - Mel/Rpt Bend 1 | Real-Time |
10 | MR1 - Melodic Repeat 1 | Real-Time |
11 | RB1 - Real-Time Bend 1 | Real-Time |
12 | WS1 - Wave-Seq 1 (Bend/Rpt) | Generated-Gated |
13 | WS2 - Wave-Seq 2 (Ind. Phases) | Generated-Gated |
Edit in progress…
Aspect 2 — How the "pitch indexes" are determined
The second aspect is a combination of parameters in the Phase group, the Index group, and the Cluster group. How these three parameter groups interact is what chooses the specific index(es) of the Note Series or Drum Pattern that are played at the current step of a Phase. The first item in the Note Series or Drum Pattern is index 1, the second item to the right of that is index 2 and so on. KARMA does not think of what it's playing in terms of what note or pitch it is. It only cares about what index(es) in the Note Series or Drum Pattern it needs to do something with in the current step of a Phase. This is a useful way for KARMA to work, especially when it's using a Note Series, because every time you attack a new note or chord, entirely different notes are generated for each index position in the Note Series. It's much easier to keep track of what to play by using those relatively fixed index numbers than it is to keep track of which note pitches are in the note series at any given time.
- The Phase group
- Various parameters in the Phase group determine something called the Phase Area of the Note Series, which decides the starting and ending indexes of the Note Series that can be used within a Phase. For example, your Note Series based on a chord that you just played might be 10 different pitches (10 indexes), but the parameters set in the Phase group might determine that only the 4th, 5th, 6th, and 7th indexes within that Note Series will actually be used in Phase 1, while all 10 indexes might be used in Phase 2.
- A Drum Pattern isn't affected in quite the same way by the Phase group parameters, but there are still many settings within the Phase group that affect what indexes from the Drum Pattern are played within each phase. We'll skip over the specifics for now.
- The Index and Cluster group
- The Index Pattern defined in the Index group then acts upon the Phase Area of the Note Series or upon the entire 64-index Drum Pattern to define exactly which index in the Note Series or Drum Pattern to move to next. In other words, the Index Pattern tells the GE how to jump around among the indexes available for use in this Phase (and therefore the corresponding pitches in the current Note Series). Each step in the Index Pattern moves forward or backward among the available indexes in various-sized increments as specified in the Index Pattern, or can even choose to stay put on the same index for several steps of the Index Pattern. This mechanic is covered in detail further below in the Index Group section.
- The Cluster group essentially determines whether to play a single index (note pitch) at the current Rhythm Step of the Phase, or whether to instead to play multiple indexes (a "cluster" of note pitches) at that Rhythm Step. There is a fair amount of subtlety in the different ways that the Cluster group can affect the actual indexes that are played at any step of the Phase, so we'll save the details for later in the section describing the Cluster group.
The important point to take from all this so far is that when you play some notes on your keybed (trigger a MIDI attack event), the GE first decides (in "Aspect 1") whether to use the Note Series built from your input notes or whether to use the Drum Pattern as the set of possible "base pitches". Then in "Aspect 2" it uses parameters from both the Phase group, the Index group, and the Cluster group to decide which of those base pitches to actually play at each step of a Phase. Which brings us to "Aspect 3"…
Aspect 3 — How the "pitch modifications" for the GE are determined
In this third aspect, several more GE parameter groups are applied in a way that further modifies the pitches selected by each index determined in "Aspect 2" of this process.
- The Repeat group, if enabled in the Bend/Rpt row of the Phase Pattern, acts only on Note Series. What the Repeat group does is act as a kind of "MIDI Delay" effect that repeats the actual pitches played at the current index in the Note Series (after being "pitch-modified" by the Cluster group) and also usually transposes the repeated pitch by some number of semitones or by an entire octave.
- The CC group might also come into play, in one of those "I before E except after C" exceptions to the way that the CC group normally affects the GE, which is to play patterns on a CC controller like CC 10 (Pan) to make the notes played by the GE also have motion within the stereo field.
The exception is that if you're in a Generated-Gated GE and the defined Gate Type/CC parameter is Vel CP and the CCs/Pitch row of the Phase group's main grid is set to use "pitch offsets" (the po sub-row), the Phase 2 section of the CC group is turned into a special pattern grid that applies pitch offsets to the Note Series index that is currently being played, in a manner very similar to a simple arpeggiator such as the Triton Arpeggiator or the M50 Arpeggiator. So you might be looking at a C3 being played in the Note Series grid, but you'll be hearing some completely different note actually being played. Whenever this happens, look carefully at these three parameters and if they are set as listed above, then go look at the Phase 2 section of the CC group and if there is stuff in there that is highlighted in a light color then this is why you're hearing different notes than the current index in the note series tells you that you should be hearing.
add a composite image of the two fields + the Phase 2 grid from the CC group here