> For the complete documentation index, see [llms.txt](https://manual.minimal.audio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.minimal.audio/lucid-manual/granular-view/grain-controls.md).

# Grain Controls

### Overview

The **Grain Controls** are the first stage of the granular engine, where Lucid breaks the incoming audio into grains and shapes each one. Beyond setting how often grains fire and how long they last, you can reshape their envelopes and loosen their timing, creating everything from sparse, rhythmic textures to smooth, cloud-like ones.

![Grain Controls.png](attachment:6fbd7e4c-eaf0-42dc-ae9e-fc01f8c41471:Grain_Controls.png)

***

### 1. Grain Rate

Sets how frequently grains are generated. The available values depend on the selected **Grain Rate Mode**.

Use slower rates for spacious textures and rhythmic effects, or increase the rate into the audio range where overlapping grains blend into a pitched, oscillator-like sound.

### 2. Grain Rate Mode

Selects how the Grain Rate is calculated. Each mode generates grains relative to time, tempo, or pitch.

* **Free:** Sets the grain rate in milliseconds, independent of project tempo. Ideal for natural, evolving textures and traditional granular processing.
* **Synced:** Locks the grain rate to musical note divisions for tempo-synced rhythmic effects.
* **Straight:** Uses only straight note divisions.
* **Triplet:** Uses only triplet note divisions.
* **Dotted:** Uses only dotted note divisions.
* **Scale:** Locks the grain rate to the selected musical scale, keeping pitched grain tones in key. At higher rates, the granular engine behaves like a tuned oscillator, with the input audio acting as its waveform.
* **MIDI:** Follows incoming MIDI notes, allowing the input audio to be played melodically. The control adjusts the pitch offset in semitones. Refer to your DAW documentation for MIDI routing instructions.

### 3. Grain Size

Controls the duration of each grain.

When **Grain Size Link** is disabled, the value is measured in milliseconds. When enabled, Grain Size is set as a ratio of the current Grain Rate.

Longer grains create smoother, more continuous textures by increasing overlap, while shorter grains produce more percussive, gated, or textured results.

### 4. Grain Size Link

Links Grain Size to the current Grain Rate.

When enabled, Grain Size automatically scales with changes to the Grain Rate, maintaining a consistent grain density as the rate is adjusted or modulated. When disabled, Grain Size and Grain Rate can be controlled independently for a wider range of sparse or densely layered textures.

### 5. Grain Window Shape

Adjusts the envelope shape applied to each grain.

Positive values produce flatter envelopes with longer sustain and faster fades at the edges, resulting in fuller, more sustained grains. Negative values create sharper, triangular envelopes with a shorter, more percussive character.

At slower Grain Rates, this primarily affects each grain's envelope. At audio rates, it also influences the harmonic character of the resulting sound.

### 6. Grain Window Skew

Offsets the balance between the attack and decay of each grain's envelope.

Negative values emphasize a faster attack with a longer decay, while positive values create a slower fade-in with a shorter release, producing swelling or reverse-like textures.

### 7. Grain Rate Jitter

Adds random variation to the timing of individual grains.

At **0%**, grains are generated at perfectly regular intervals. Increasing the value introduces progressively more timing variation, creating looser, more natural rhythms. At higher Grain Rates, Jitter can also introduce additional texture and noise-like characteristics.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://manual.minimal.audio/lucid-manual/granular-view/grain-controls.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
