Building instruments
Sampling, grains and warping
Bounce a Grid instrument into a reusable sound, play it with sampler modules, and change its timing and pitch.
Grid sampling starts with a sound made in Studio. Bounce to sample renders one note from a Grid device; sampler, granular and stretch modules can then reuse it. The project keeps the recipe for making that sound, so it can be rebuilt when needed.
This workflow does not import an outside recording. For playing notes into your song, see Studio.
Bounce a sound
Open the Grid for the instrument you want to sample, then choose Bounce to sample. Set:
| Control | Range or choices |
|---|---|
| MIDI note | 0–127. |
| Velocity | 0–1. |
| Length (ticks) | 1–53760. |
| Random seed | 1–16777215. |
| Sample rate | 44100, 48000 or 96000 Hz. |
Choose Create sample and wait for Sample ready in this patch. The bounce uses 960 ticks per quarter note at 120 BPM, independent of the song’s tempo. A length of 1920 ticks holds the note for one second, then adds a two-second release tail. The longest result is 28 seconds held plus that tail.
The bounce captures this Grid device’s sound definition and settings, rather than the entire song mix. Later changes to the original instrument do not rewrite the already captured recipe. A changed project during rendering can produce The project changed while rendering. Create the sample again in this project. Retry in the project where you want the sample.
Assign the sample
Add a Sample Player, One-shot, Loop Player, Slice Player or Drum Sampler. Select it, then choose a bounce under Sample slot. The list includes bounces from other devices in the same project; choosing one brings its recipe into this patch.
Pitched samplers adopt the bounce’s original MIDI note as rootNote. Connect Note Input Gate, Pitch and velocity to the sampler’s Gate, Pitch and Velocity, then connect Out to Output.
| Module | Behaviour |
|---|---|
| Sample Player | Plays at the incoming pitch; note release begins its release envelope. |
| One-shot | Plays to the end after a rising gate, even when the note is released. |
| Loop Player | Repeats the selected loop region while gated, with forward, reverse or ping-pong direction. |
| Slice Player | Plays one equal slice of the trimmed region as a one-shot. |
| Drum Sampler | One pad responding to its mapped MIDI note. Combine several pads with a mixer to build a rack. |
A sample slot with no usable recipe cannot play the missing sound. If it says Sample unavailable, choose a valid bounce or create it again.
Sampler controls
All five sampler modules expose the same control set. Some controls apply only to the relevant playback mode.
| Control | Range | Use |
|---|---|---|
| start, end | 0–1 | Trim positions as fractions of the complete source. End must be after start for audible playback. |
| loopStart, loopEnd | 0–1 | Repeating region for Loop Player, bounded to the trim. |
| direction | forward, reverse | Playback direction; Loop Player also offers ping-pong. |
| rootNote | 0–127 | MIDI note that plays the source at its original pitch. |
| tune | -48–48 semitones | Additional tuning. Drum Sampler also uses this for pad tuning. |
| attack, release | 0–10000 ms | Start envelope and release or end fade. One-shots continue after note-off. |
| amplitude | 0–2 | Output level. |
| slices | 1–128 | Equal divisions of the trimmed region for Slice Player. |
| slice | 0–127 | Slice index, starting at 0 and bounded to the active slice count. |
| padNote | 0–127 | Drum Sampler’s responding MIDI note. |
Drum Sampler uses padNote to decide whether to trigger and plays at its own tuning, rather than following each played note’s pitch. rootNote does not transpose its drum pad. The loop, slice and pad controls remain visible on the other sampler types even where that mode does not use them.
Granular sounds
Granular synthesis plays many short pieces of audio called grains. It can turn a short tone into a cloud, stutter or evolving texture.
Grain Player, Grain Cloud and Texture Freeze can use a bounced Sample slot or audio connected from elsewhere inside the Grid. Their in input captures audio when no fixed sample is assigned. A positive Freeze gate stops capture and holds the recorded material. Live capture history refills after a transport reset.
| Control | Range | Use |
|---|---|---|
| position | 0–1 | Grain read position. |
| sizeMs | 10–5000 ms | Grain duration. |
| density | 0.5–200 | Grains per second. |
| pitch | 0.125–8 | Playback-speed ratio for grains. |
| randomness | 0–1 | Position scatter. |
| window | hann, tri, rect | Grain envelope shape. |
| amplitude | 0–2 | Output level. |
| seed | 1–16777215 | Repeatable randomness. |
| spread | 0–1 | Grain Cloud’s random stereo spread. |
Grain Player and Texture Freeze have one out; Grain Cloud has separate outL and outR. Texture Freeze begins with longer, sparser grains and a central position. Its Freeze gate still determines whether live capture is held.
The small controller modules provide matching normalised control outputs:
| Module | Controls and connection |
|---|---|
| Grain Position | position 0–1; connect out to position. |
| Grain Density | density 0.5–200; connect out to density. |
| Grain Pitch | pitch 0.125–8; connect out to pitch. |
| Grain Window | window hann, tri or rect; connect out to window. |
| Grain Randomizer | randomness 0–1 and seed 1–16777215; a rising Trigger chooses a new scatter value at out. |
Unconnected control inputs use the player’s knob values. Connected position, sizeMs, density, pitch, randomness and window inputs use normalised values mapped to their ranges.
Repitch is a separate buffered player. Choose a Sample slot and set speed from 0.125–8. Speed 2 plays twice as fast and one octave higher; speed 0.5 plays twice as long and one octave lower. With no source, it is silent.
Stretch and Pitch
Add Stretch and Pitch, choose its bounced sample and connect Out onward. Its modes change how duration and pitch relate:
| Mode | Behaviour |
|---|---|
| Repitch | Pitch follows playback speed. |
| Beats, Tones, Complex | Duration and pitch can change independently, with processing lookahead. |
| Texture | Creative granular playback; pitch changes affect new grains. |
Stretch runs from 0.25–4. At 2, duration doubles and speed is 0.5. At 0.5, duration halves and speed is 2. Pitch runs from -24–24 semitones and Fine (cents) from -100–100; those appear outside Repitch mode. Formant, with shift or preserve, appears in Beats, Tones and Complex. Loop offers off or on.
Beats, Tones and Complex currently use the same stretch processing. Their combined Pitch and Fine adjustment is bounded to ±24 semitones.
Repitch and Stretch and Pitch run continuously while their patch runs and restart on a transport reset. Put a Gain / VCA after them if you want an envelope to shape individual notes.
Changing Mode or Stretch prepares the processor again. Pitch and fine tuning can be automated. Spectral modes add lookahead, so compare the sound before choosing one for a timing-sensitive patch. A patch can hold at most four spectral processors, including processors retained while changing the patch; an edit can therefore hit the limit before four new processors are audible.
Warp the source to musical time
In the Stretch and Pitch inspector, Warp and analysis maps positions in the source to the song’s musical ticks. Choose Enable warp to create a map; this turns Loop off. Disable warp removes the map.
Choose Analyze bounced audio to estimate the waveform, transients, beat candidates, tempo and downbeats. Then use Use transient markers, Use beat candidates, or Align first downbeat to tick zero. These are estimates; downbeats assume four beats per bar. Review the result before keeping it.
Each marker has a Source frame and Project tick. Edit either number, use Add manual marker, or delete a marker while keeping at least two. Frames and ticks must keep increasing; invalid or zero-length regions are refused. Quantise to beats moves musical positions to beat boundaries. Reverse source changes direction independently of the increasing marker order.
Warp follows the song’s tempo map. Changing the sample slot removes the old warp map, so review timing after choosing a different source. If analysis reports The sample changed during analysis. Analyze it again., start a fresh analysis.
Rebuilding and local caches
Rendered bounces and analysis results are cached in the browser. A missing or invalid cached bounce is rebuilt from the saved recipe. The recipe is the part that travels with the project; an unavailable cache does not mean the project has lost its sound definition.
Recipes can still make a project or portable device file larger, especially when they depend on other sampled devices. If a save is refused for size or dependency limits, simplify the patch or keep the needed parts in separate projects. For reducing live track load, see Freeze track.
