user guide

CHAPTER 26 OF 54 · MAKE IT MOVE

Modulation matrix

The modulation matrix decides what moves in a sound. Each engine has one on its Matrix tab: the modulation sources are the columns, and every control that can be modulated is a row. A cell holds how far its source moves that control from the base value its knob sets (The three engines). The amounts are saved with the sound.

The layout comes from Plinky, where each parameter carries its own amount for every modulation source. INK shows those amounts for all parameters at once, as one grid per engine.

#Columns, rows and cells

The Matrix tab scrolled to FILTER, with Prs → Cutoff, +50 and X → Cutoff, −30.12345
The Matrix tab scrolled to FILTER, with Prs → Cutoff, +50 and X → Cutoff, −30.
  1. 1Dice
  2. 2Column heads (sources)
  3. 3Group title
  4. 4Row name and base value
  5. 5Cell

In the Matrix, each column head names a source. Each row is a destination, a control listed under the title of its group. Where a column meets a row is a cell.

Under each row name is the row's base value, as its knob shows it. A row with at least one non-zero cell has its name in bold.

The title of the current group stays pinned at the top of the list. Tap a group title to open the list of groups and jump to one. The dice in the top-left corner writes a random set of cells (Macros and dice).

#Sources

AT A GLANCESources, left to right
  • EnvEnvelope 2. Unipolar; Env Level sets its peak (Envelope 2 and Random).
  • PrsPressure, from touch or MIDI. Unipolar: 0 at no pressure.
  • AMacro A plus the Mod A LFO. Bipolar; the macro's centre is 0 (Macros and dice).
  • BMacro B plus the Mod B LFO. Bipolar.
  • XLFO X, including its Offset. Bipolar (LFOs and Freeze).
  • YLFO Y, including its Offset. Bipolar.
  • RndA random value drawn at each new note. The sign of the amount sets how it spreads (see Amounts below).

A unipolar source moves its destination in one direction from the base value. A bipolar source swings both ways around it.

Prs comes from touch on every keyboard. A MIDI note's Prs starts at its velocity, then follows the highest of its aftertouch, channel pressure and MPE Slide (CC 74) once one of them arrives (MIDI in).

The A and B columns move while the macro is at rest when the Mod A or Mod B Depth is above 0.

#Amounts

The Cutoff row: Prs at +50, X at −30 (hatched), zero cells as dots.12345
The Cutoff row: Prs at +50, X at −30 (hatched), zero cells as dots.
  1. 1Bold name: the row is modulated
  2. 2Base value
  3. 3Positive amount
  4. 4Zero
  5. 5Negative amount, hatched

A cell's amount runs from −100 to +100, in whole numbers. Zero is drawn as a dot; negative amounts are hatched.

At full source level, +100 moves the destination across its whole scale: from minimum to maximum on a unipolar destination such as Cutoff, from the centre to one end on a bipolar one such as Distort. +50 moves it half as far. A negative amount inverts the source.

Rnd works differently. A positive amount gives each note a value spread evenly from 0 to the amount. A negative amount spreads it both ways, from −amount to +amount, more often near 0.

#Set an amount

  • Drag a cell up or down; up is more. A faster drag covers more range. For fine changes, rest the finger on the cell before you drag.
  • Double-tap a cell to clear it to 0. On a knob, a double-tap returns to the reference value instead.
  • A quick swipe scrolls the list, also when it starts on a cell.

On a Mac: drag a cell, double-click to clear, scroll to move the list. The scroll wheel never edits.

#Summing and headroom

Three cases on one destination's range: Prs +50 from a base of 85% (clipped at 100%) and from 40%, and X +50 from 50%, swinging both ways.
Three cases on one destination's range: Prs +50 from a base of 85% (clipped at 100%) and from 40%, and X +50 from 50%, swinging both ways.

The base value and every source's contribution add up. The sum is held to the destination's range; modulation beyond either end is lost.

A unipolar source with a positive amount needs room above the base value. With Cutoff at its maximum, a positive Prs amount has no effect; lower the base value, or use a negative amount. A bipolar source needs room on both sides.

#Per voice and per engine

Rows inside the voice are read for each voice, with that note's own Env, Prs and Rnd. Rows outside the voice are read once per engine.

ReadGroupsEnv and Prs
Per voiceOSC, PHASE, FILTER, PITCH, AMP ENV, ENV 2, SAMPLER (except Sample), SAMPLER JITTERThe voice's own
Lowest noteSUBThe voice the Sub plays under
Per engineSample, MOD A, MOD B, LFO X, LFO Y, ARP, CHORUS / PHASER, DELAY, REVERB, MULTIBAND, MIXThe highest Env and the highest Prs of the engine's voices

Per-engine rows take one Rnd value, drawn again at each new note in the engine. The ARP group's Gate is read per voice.

#Destination groups

The list of groups, opened by a tap on a group title.
The list of groups, opened by a tap on a group title.

Each group holds the controls of one section of the Sound or Arp tab. The table lists them in the Matrix's order, with the chapter that explains each control:

GroupRowsChapter
OSCtone control (Detune, Width, Position, Wave or Shape), Distort, Noise, LPG FilterOscillators
PHASEDCW, Detune, Osc B, B Pitch, Ring, DriftPhase
SUBLevel, Shape, OctaveSub oscillator
FILTERCutoff, Mode, Resonance, Filter SpreadFilter
PITCHRoot, Pitch, Octave, Interval, Glide, Microtone, Degree, Scale, StrideOscillators, Play the Grid, Keyboard, key and scale
AMP ENVSensitivity, Attack, Decay, Sustain, ReleaseAmp envelope
ENV 2Level, Attack, Decay, Sustain, ReleaseEnvelope 2 and Random
SAMPLER, SAMPLER JITTERSample, Scrub, Grain size, Rate, Timestretch; Scrub jit., Grain jit., Rate jit.Granular sampler
MOD A, MOD B, LFO X, LFO YLFO depth, LFO rate, LFO shape, LFO warp; Offset on X and YLFOs and Freeze
ARPMode, Division, Probability, Euclid, Gate, Shift, RangeArp
CHORUS / PHASERMix, Center, Depth, Rate, Feedback, Tone, StereoChorus and phaser
DELAYSend, Time, 2nd tap, Wobble, FeedbackDelay
REVERBSend, Time, Shimmer, WobbleReverb and mix
MULTIBANDLow, Mid, HighMultiband
MIXSynth level, Wet / dry, High pass, Stereo widthReverb and mix

Every group is listed for every generator. PHASE rows act only on a Phase sound; SAMPLER and SAMPLER JITTER only on a Granular sampler sound.

PITCH holds Root and Scale, the engine's key, whose controls are on the engine sheet, as well as Pitch, the sound's tuning. Stepped rows, such as Octave, Scale and the LFO shapes, move in whole steps; the full list is in Macros and dice.

#Row names that differ from the knobs

GroupMatrix rowKnob
OSCfirst row: Detune, Width, Position or Wavethe same; on a Granular sampler sound the row reads Shape, and it and LPG Filter have no knob
ENV 2LevelEnv Level
MOD A, MOD B, LFO X, LFO YLFO depth, LFO rate, LFO shape, LFO warpDepth, Rate, Shape, Warp
DELAY2nd tap2nd Tap
MIXSynth level, Wet / dry, High pass, Stereo widthSynth Lvl, Main Wet/Dry, High Pass, Stereo Width

With the Phaser selected, the Center row of CHORUS / PHASER reads Sweep, as its knob does.

#ARP

The ARP rows carry the Arp tab's names; Transpose has no row. A cell on an ARP row plays what the knob plays at the resulting value.

  • Division stays within the half its knob is on: free values or synced divisions.
  • With a Euclid length of 2 or more, Probability sets the pattern's density. Without one, the arp skips steps at random and Strum plays every note.
  • Gate is the sound's Gate, so a cell on it also shortens played and pattern notes.

#Rows on Chords and Strings

The PITCH group on a Chords engine: Degree's row reads Spread and Stride's row reads Voicing, with no base value.12
The PITCH group on a Chords engine: Degree's row reads Spread and Stride's row reads Voicing, with no base value.
  1. 1Spread (Degree's row)
  2. 2Voicing (Stride's row)

On a Chords engine, the Stride row becomes Voicing and the Degree row becomes Spread. They modulate the two rails (Chord colour). Their value is read when a chord is struck, changed under a held finger or slid to; a sounding chord is never re-voiced. Env cells on these rows have no effect, since Envelope 2 is at 0 at the strike. The Stride and Degree knobs are greyed.

On a Strings engine, the Stride and Degree knobs are greyed, but the rows keep their names and move the strings as they move the Grid's columns (Play Strings).

In INK MIDI, the Matrix holds PITCH (Root, Octave, Degree, Scale and Stride), ARP, ENV 2, MOD A, MOD B, LFO X and LFO Y, plus a PARAM row for each PARAM knob (INK MIDI).

QUICK STEPSExample: pressure and Macro A on Cutoff
  1. Load Init. On the Sound tab, lower Cutoff to about 500 Hz.
  2. On the Matrix tab, in FILTER, drag the Prs cell of Cutoff to +50.
  3. Drag the A cell of Cutoff to +30.
  4. Hold a note on the keyboard and vary the pressure.
  5. On the Sound tab, turn Macro A, the A knob at the right of the OSC section, or drag the XY pad on the All page. A moves the cutoff's starting point above or below 500 Hz; pressure opens the filter from there.