Parameter Locks (P-Locks)
Per-step parameter automation — the heart of sound design in the sequencer.
What Are Parameter Locks?
Parameter locks (p-locks) let you set a different value for any sound parameter on each step of a pattern. Instead of a parameter staying at one value for the whole pattern, you can make it change on specific steps — creating evolving textures, rhythmic timbral shifts, and complex sound design that would be impossible with static settings.
For example: lock the filter cutoff high on beat 1, low on beat 3, with different resonance values on each — all within a single pattern.
Setting a Parameter Lock
- Navigate to the Sound screen for the track you want to edit
- Hold a step button (the step must have a note — lit white)
- While holding the step, turn a knob to set that parameter’s value for that specific step
- Release the step button
The display shows the parameter value updating as you turn the knob. The locked value is stored per-step and will be recalled every time that step plays.
You can lock parameters across multiple pages. Hold the step, use ↑/↓ arrows to change parameter pages, then turn knobs to lock parameters on different pages — all while keeping the step held.
What Can Be Locked?
Audio Parameters (up to 24 per track)
All sound engine parameters visible on the Sound screen can be p-locked. This includes any parameter from any page of the current preset. Each step stores a bitmask (audioParamLocks) indicating which of the 24 possible audio parameters have locked values.
Mixer Parameters (up to 8 per track)
Track mixer parameters can also be p-locked:
| Index | Parameter |
|---|---|
| 0 | Level |
| 1 | Pan |
| 2 | FX1 Send |
| 3 | FX2 Send |
This means you can create per-step volume changes, panning automation, or rhythmic FX send variations.
Visual Indicators
When a step has parameter locks, the step button LED may show differently during playback. On the Sound screen display:
- Held step with lock: Shows the locked value for each knob position
- Lock indicator overlay:
PO_LOCKEDstate appears when viewing a locked parameter
Clearing Parameter Locks
Clear a Single Parameter Lock
- Hold the step button
- Click the knob for the parameter you want to clear
- The lock for that specific parameter on that step is removed
Clear All Automation
- On the Sound screen (without holding a step), long-press a knob
- A confirmation dialog appears: “Confirm Clear Automation”
- Confirm to clear all automation data for that parameter across all steps
How P-Locks Are Stored
Each step in a pattern has dedicated storage for parameter locks:
SONGPATTERNSTEP {
audioParamLocks : uint32_t bitmask (24 params)
audioParams[24] : uint8_t values
mixerParamLocks : uint8_t bitmask (8 params)
mixerParams[8] : uint8_t values
}
Value Scaling
Parameters with a range of 0–255 or less are stored losslessly as a direct offset from the minimum value.
Parameters with a range greater than 255 (e.g., 14-bit NRPN parameters) are proportionally scaled to fit in a uint8_t (0–255), with approximately ±0.4% precision. This scaling happens automatically — you always work with the full parameter range in the UI.
Playback Evaluation
During playback, each step’s parameters are evaluated in this priority order:
1. P-Lock value (if locked) OR Track default value
2. + LFO/Random automation value
3. + MIDI CC map value
4. = Final value (clamped to parameter range)
This means p-locks combine with automation. If a parameter has both a p-lock and an LFO, the LFO modulates around the locked value rather than the track default.
Parameter Automation (LFO / Random)
Beyond per-step p-locks, each parameter can have continuous automation applied. Access this via the Parameter Editor overlay:
- On the Sound screen (without holding a step), click a knob
- The Parameter Editor overlay opens
Automation Types
| Type | Description |
|---|---|
| Fixed | No automation — parameter stays at its set value (or p-lock) |
| Random | Random value added each update interval |
| LFO | Sine wave modulation with configurable speed, amount, and period |
Random Parameters
| Parameter | Range | Description |
|---|---|---|
| Amount | -127 to +127 | Random modulation depth |
| Interval | see below | When to generate new random value |
LFO Parameters
| Parameter | Range | Description |
|---|---|---|
| Amount | -127 to +127 | Modulation depth |
| Speed | 1–128 | Frequency multiplier |
| Period Steps | 1–255 | LFO cycle length in sequencer steps |
| Update Interval | see below | When to recalculate |
| Reset Interval | see below | When to restart phase |
| Reset Phase | Start / Random Offset | Phase on reset |
Update Intervals
| Interval | Description |
|---|---|
| Every Step | Recalculate every sequencer step |
| Every Trig | Recalculate on note triggers only |
| Pattern Start | Recalculate once at pattern loop |
| Random Step 25/50/75% | Random chance per step |
| Random Trig 25/50/75% | Random chance per trigger |
Reset Intervals (LFO only)
| Interval | Description |
|---|---|
| Pattern Start | Reset LFO phase when pattern loops |
| Never | Free-running LFO |
| Play | Reset when playback starts |
| Trig | Reset on each note trigger |
Workflow Tips
Create evolving patterns: Lock filter cutoff to different values across 16 steps for a rhythmic filter sweep.
Accent beats: Lock velocity higher on beats 1 and 9 for emphasis, lower on off-beats for groove.
Ghost notes: Lock chance to 30–50% on certain steps to create variations that change on every loop.
Combine with automation: Set an LFO on a parameter, then p-lock specific steps to override the LFO — creating a pattern that’s mostly automated but with intentional anchor points.