Shift Register
Bitwig Platform
An eight-stage serial memory that shifts each newly triggered value into a history of recent samples.
What it does
Shift Register extends sample-and-hold into a short history. On every trigger the current input becomes output 1, the previous output 1 moves to output 2, and so on through as many as eight visible outputs.
Controls and ports
| Control | Label | Official description |
|---|---|---|
trigger |
Trigger | Trigger captures the current signal value and sends it to the next output |
outputs |
Outputs | Number of out ports provided |
Practical uses
- Store recent pitches and use Merge to choose between the current and earlier notes.
- Create repeating or self-referencing modulation patterns from a stream of random or sequenced values.
- Distribute successive values among parallel voices, effects, or timing decisions.
Things to know
- The first output is the newest captured value; later outputs contain progressively older history.
- The recovered trigger rule is a rising crossing: current Trigger at or above 0.5 while the previous value was below 0.5.
- Left and right trigger lanes are evaluated independently and shift their corresponding signal histories separately.
- The storage arrays contain eight stages; the Outputs setting controls presentation/count rather than changing the recovered shift operation.
- The register starts with zero-valued history until enough triggers fill it.
Technical details
A high-confidence Nitro implementation candidate supports the technical summary, but the visible-module mapping remains inferred.
The exact grid/level/shift_register body maintains independent eight-element left and right arrays. For each 4x sub-sample it computes isShift=(trig>=0.5 && lastTrig<0.5) per stereo lane. On a left edge it inserts the current left input at index 0 and shifts older left values upward; the right lane behaves independently. It publishes all eight stereo history stages plus level values for the display. The count port is not used in the recovered DSP loop.
| Nitro port | Type |
|---|---|
count |
InputValuePortType |
in |
InputAudioPortType |
trig |
InputAudioPortType |
out |
OutputAudioPortType |
outLevels |
OutputAudioPortType |
Open questions
- Verify output order, initialization, count changes, preset reload, reset, and whether hidden stages retain values when Outputs is reduced.
- Measure equality at 0.5, multiple triggers in one 4x frame, stereo-independent triggering, and rapid edge limits.
- Test voice scope, voice stealing, non-finite inputs, and whether any UI-level trigger conditioning precedes Nitro.
Version and sources
Checked against Bitwig Studio 6.0.6. This page combines Bitwig's module metadata, the existing Grid course and guides, and Nitro analysis where the mapping is strong enough to support a technical statement.
Related material
- Grid Modules course reference
- Shift Register - Generative Melodies
- Add Controlled Variation and Memory
Return to Bitwig Grid Modules or the Grid Modules course lesson.
Also matches: Bitwig Shift Register module, Bitwig Grid Shift Register, Shift Register Grid module