Skip to content

The modulation matrix

If you read one chapter in this section, make it this one. The modulation matrix is where a patch stops being a static sound and starts being something that moves, breathes, and responds. Every source-to-destination connection in Aconite runs through the matrix, whether you made it by opening the grid or by right-clicking a knob.

Aconite gives you two front-ends over the same routing data. They are not different systems; they edit the same connections. Use whichever fits how you are working.

The right-click shortcut is fastest when you know which control you want to move:

  1. Right-click the target knob.
  2. Under Add modulation, pick a source: an envelope, an LFO, velocity, a macro, or anything else.
  3. A connection is created at a sensible default depth. A dot appears on the knob; a colored arc animates in real time to show the live modulation push.

The Master Matrix grid is the full view. Open it to see every active connection at once, set precise depths, add transforms, or route sources that do not have a single owning knob (pitch, which fans to all oscillators at once, for example).

Both views read and write the same data. A route you made with a right-click shows in the grid; a route you added in the grid shows in the right-click menu.

The matrix has 24 slots. Each row is one connection:

ColumnWhat it does
SourceThe modulation generator: an LFO, envelope, velocity, keytrack, macro, and so on.
ViaAn optional transform applied to the source before it reaches the destination.
DestinationThe parameter being modulated.
DepthA bipolar amount that scales how far the source pushes the destination.
ScopeShows VOICE (per-voice modulation) or BUS (mix-level modulation).

A row whose Source is left blank (Off) is empty and does nothing. The 24 slots are all equivalent (there is no “slot one is special” ordering).

The source menu lists over forty options, organized by type:

  • The six LFOs, including Bus LFO 1 and 2 for bus-scope destinations
  • The envelope pool (Amp Env, Filter Env, and Env 3 through 6): all six are independently routable to any destination
  • Velocity and Keytrack, the per-note performance values
  • Macro 1–4: four knobs on the performance panel you can assign and name; a macro becomes a one-knob control over everything routed to it
  • Mod Wheel, Expression, and up to eight MIDI CC inputs, for hardware controller integration
  • MPE Press and MPE Slide, per-note pressure and slide for MPE controllers
  • Noise, an audio-rate random signal for thick FM, PWM, and cutoff textures
  • The envelope follower: see Envelope follower
  • Step Seq: stepped levels, directional (Forward/Reverse/Ping-Pong/Random), with optional per-step glide; see the Step sequencer
  • Performer, a curve-per-step sequencer: each step plays a shaped sub-curve from a per-step library rather than a flat level; see the Performer
  • Seq Step, Seq Vel, Seq Gate: the Seq engine’s own rhythm as a modulation source; route Seq Gate to filter cutoff to pluck the filter on every step
  • Curve 1–4: four drawable, pattern-synced automation lanes
  • Random: a fresh bipolar value latched once per note-on, per voice — the classic per-note random spread. Route it to pan, detune, or any destination to give each note of a phrase a slightly different character without recording automation. It is a per-note sample-and-hold: the value is set at note-on and stays constant for the whole note. Each voice in a chord draws its own independent value, so chords spread naturally. For a continuously changing random signal, use Noise (audio-rate) instead.
  • Probability (formerly “Chance”): a per-note probabilistic gate. It has no dedicated parameter and no knob of its own. The row’s own Depth knob is the fire probability: set Depth to 30% and the note passes on approximately 30% of note-ons (0% = never, 100% = always). On a level or other param destination it is a note-gate that respects the value you dialed — on a fire the destination plays at your set level, on a miss it drops to silent (it does not jump to full scale). Chord notes decide independently; bounces are reproducible. Pick Probability as the Source, choose a destination, set Depth. See Probabilistic layering below for the headline use. When a Probability route fires, the destination’s knob or fader briefly brightens toward the generative accent colour so you can see the gate land (a gear-menu Chance pulse toggle turns this on or off). Probability is one of a family of probability features: see also the per-source odds on the mixer and the Probability Filter.

Destinations span the full signal path. The destination menu is grouped, with cascading submenus so you drill down to what you want instead of scrolling a flat list. At the end of the menu is Off: pick it to park a row with no destination, so the route stays set up (its source, Via, and depth are all remembered) but drives nothing until you point it at a target again. The groups, in order:

  • Pitch: the played pitch, fanned to all oscillators at once.

  • Oscillator: per-oscillator coarse tune, fine detune, level, pulse width, and FM depth, plus Osc 1/2/3 Probability (each oscillator’s per-note firing odds, the mixer’s odds chip as a destination) and WT Warp (the Wavetable oscillator’s warp amount, for evolving wavetable motion), with Lo-fi (Bits, Crush, Alias) and Additive (the partial-group levels plus additive drive and drift, and Add Tilt for a spectral-brightness sweep, Add Noise for the residual air, and Add Stretch for the harmonic-to-inharmonic bell morph) as their own submenus.

  • Sub / Noise: the sub-oscillator and noise-source controls, including Sub Probability and Noise Probability (their per-note firing odds).

  • Filter: split into Filter 1, Filter 2, and Common, covering cutoff, resonance, drive, and mode morph for each filter.

  • Waveshaper: the waveshaper’s drive, mix, bias, and trim.

  • Amp / Filter Envelope: attack, decay, sustain, and release for the amp and filter envelopes, plus how much each filter envelope pushes the cutoff.

  • Rates: all six LFO rates, plus the step sequencer and Performer rates.

  • Arp: the Random arp’s distribution controls — Mutate, Spread, and Bias (see Shaping the Random draw). Because these are destinations, a slow LFO or envelope can sweep the random draw while it runs: drift the note-cluster centre with Bias, breathe the draw width with Spread, or ease a locked riff toward fresh draws with Mutate, all hands-free.

  • Acoustic: the modeled concert grand’s four character controls, Bright, Decay, Inharm, and Morph. Because the grand is resynthesised at note-on, Bright, Decay, and Inharm re-voice each new note (route velocity to Bright for the realistic harder-is- brighter gesture) rather than sweeping a note already ringing; Morph is the one continuous dest, a live crossfade toward the other grand that you can sweep on a held note.

  • String, Modal, Kick: every control on each physical-model oscillator. The Modal group includes Modal Mute, which modulates the model’s Ring / Choke note-off behaviour so you can automate free-ringing versus damped tails per note, and Modal PTime, the pitch-drop glide speed.

  • Voice: the analog-character controls (detune, drift, and variance) and per-note pan.

  • Macros: the four macro knobs, so one modulator can drive a macro that in turn fans out to everything routed to it.

  • Output: the post-VCA amplitude, for tremolo or gating effects.

  • Probability: every per-note firing-odds destination gathered into one group — Osc 1/2/3 Probability, Sub Probability, and Noise Probability (the mixer odds chips), the bus Stab Probability, and the Seq Probability master gate. They are also reachable from their home groups above (Oscillator, Sub / Noise), but the unified Probability group puts the whole family in one place.

Below those come the FX destinations and the bus subsystems (reverb, chorus, delay, phaser, EQ, and master). These are bus-level only: choose one and the row’s Scope badge switches to BUS automatically.

The Via column sits between the source and the destination. It shapes the source signal before it lands:

TransformEffect
(none)No transform; the source passes through unchanged.
InvertFlips the signal: a rising source becomes falling.
RectifyFolds the negative half of a bipolar source up into positive territory, doubling the effective rate of a sine or triangle LFO.
QuantizeSteps the source into discrete levels, turning a smooth LFO into a stepped sequence in real time.
LagApplies a 40 ms slew to the source, rounding off sharp jumps and making fast sources feel more gradual.

Transforms are available on every slot, for both voice and bus routes. The complete via list is: -- / Invert / Rectify / Quantize / Lag.

Conditions (make a Probability route depend on context)

Section titled “Conditions (make a Probability route depend on context)”

On a row whose Source is Probability, the Via column becomes a Cond menu: instead of the transforms above it offers a condition that decides whether the route is even allowed to fire this note, on top of its own Depth. The menu groups six conditions into two families — Relate (the route reacts to another route) and History (the route reacts to its own recent past):

  • Own die (the default) — no condition. The route is the normal independent coin, unaffected by anything else.
  • Relate ▸
    • If Prev — fire only on notes where the route above it (its trigger) also fired.
    • If ¬Prev — fire only on notes where that trigger missed.
  • History ▸
    • Not-twice — never fire on two notes in a row. After a note where it fires, it sits out the next note, then it is free again. Good for keeping an accent from clumping.
    • Max per bar — fire at most N times per bar, then stay quiet until the next bar. A small number box appears next to the menu to set N (1–8). Good for a rare sparkle that shows up a set number of times each bar instead of purely at random.
    • Follows — a momentum condition: after a note where it fires, the next note becomes more likely to fire (or less, if you flip the bias); after a miss, the reverse. A bias slider appears next to the menu, from strongly clustering (fires come in runs) through neutral to strongly alternating (fires avoid repeating). This turns a flat coin into music that develops phrases instead of scattering.

For the two Relate conditions, “Prev” is the nearest Probability route above this one in the matrix. Conditional routes chain by position: put the trigger higher in the list and the follower lower, and the follower reads the trigger’s this-note result. The follower still rolls its own Depth on top, so a follower at 100% Depth mirrors the trigger exactly, while at 50% it joins about half of the trigger’s hits. When a Relate row is set, the matrix draws a short tie in the slot margin linking it to its trigger, so you can see the dependency at a glance. If there is no Probability route above it to depend on, the tie shows as a red dashed stub — the condition has nothing to hang off, so it never fires.

Use Relate to make two probabilistic layers move together or in opposition: set Probability → Osc 2 Level as the trigger, then a second route such as Probability → Reverb Send to If Prev so the reverb only blooms on the notes where osc 2 also spoke — or If ¬Prev so it fills in the gaps instead. Use History to shape a single route over time: Not-twice to space an accent out, Max per bar to ration a rare event, Follows to let a part gather into runs and rests instead of scattering evenly.

Conditions are saved with the patch. A patch made before conditions existed keeps whatever condition it had.

For probabilistic routing, use Probability as the source (not a via transform) — see the Probability entry in the Sources list above.

Probabilistic layering is the headline use. Leave an oscillator’s mixer fader at the level you want it to play at, then add a route:

Probability → Osc 2 Level

Set Depth to 30%. Now osc 2 speaks at that level on about 30% of notes and is silent on the rest, while osc 1 plays every note. The result is a texture that shifts and surprises without ever repeating exactly — an effect that would take significant sequencer programming to approximate any other way, and the probabilistic layer sits at the balance you set rather than jumping to full volume. The same technique works for filter sweeps, reverb mix, pitch spread, or anything else you can modulate. Depth is purely the fire probability.

Stack Probability for richer textures. Each Probability route rolls its own die, so routes are independent of one another:

  • Different destinations flip independent coins. Put Probability → Osc 2 Level at 50% and Probability → Osc 3 Level at 50% and every combination happens — both layers, either one alone, or neither. You are not locking one layer inside the other; each oscillator decides for itself each note.
  • The same destination multiplies. Two Probability routes aimed at the same destination fire it only when both coins land, so the odds are the product: two routes at 50% each fire the destination about 25% of the time. Use this to build very sparse events out of ordinary-looking percentages.

The Depth slider is bipolar: drag right for a positive push, drag left for a negative one. At zero, the route is present but contributes nothing (useful for temporarily muting a connection without deleting it). A negative depth inverts the modulation direction: a rising envelope lowers the destination, for instance. (The Probability source is the one exception: its Depth is a probability, so zero means never fires — the gated destination stays silent rather than passing unchanged.)

For signal-rate destinations like cutoff and pitch, depth is calibrated in musically useful units (five octaves of cutoff sweep, two octaves of pitch range). For other destinations the range is the full usable extent of the parameter.

From the right-click menu: open the menu on the modulated knob, find the route under the source name, and click the remove button.

From the grid: set the Source to Off (blank), set the Destination to Off, or set Depth to zero. Setting the Destination to Off is the tidy way to silence a route while keeping its source, Via, and depth intact for later.

Macro 1–4 are four general-purpose sources with panel knobs you can label and assign. Route multiple destinations to the same macro and they all move together from one knob. A typical use: route a macro to filter cutoff, resonance, and drive simultaneously at different depths, then sweep the macro for a character sweep that moves all three in a musically balanced way.

Macros work in both the per-voice and bus tiers: route a macro to reverb mix in one row and to filter cutoff in another, and the single knob controls both.

The last two tabs in the Modulators panel (Bus LFO 1 and Bus LFO 2) are LFOs that run once for the whole mix. Their destinations are the effects rack and master controls: reverb, chorus, delay, phaser, EQ, and master gain. Use bus modulation for mix-wide movement that would be redundant or too expensive if it ran per-voice.

Bus routes appear in the same Master Matrix grid. Choose a bus destination (reverb mix, for example) and the row’s Scope badge shows BUS. Everything else works identically to voice-scope routes.