How to Use

A complete guide to GrainHeads

Watch a video

GrainHeads is a granular synthesizer for iOS. It takes any audio sample, splits it into tiny overlapping fragments called "grains," and plays them back in configurable streams to create evolving textures, rhythmic patterns, ambient pads, and glitchy soundscapes.

Key Concepts

  • Heads — Independent grain streams (up to 8 in standalone, up to 5 in AUv3), each with its own sample slot, position, pitch, filter, and envelope
  • Grains — Short audio fragments (10ms to 5s) extracted from the sample and shaped by a window envelope
  • Sequencer — 16-step grid for rhythmic grain triggering with per-step parameter locks
  • Touch Pad — Multi-finger XY controller for live performance

Quick Start

  1. Open the app — a factory sample is pre-loaded
  2. Tap Play (green button below the waveform)
  3. Listen to the default grain stream
  4. Drag the position marker on the waveform to explore different parts of the sample
  5. Adjust Grain Size and Rate sliders to change the texture
  6. Add a second head (tap +) with different settings for layered sound
  7. Switch to the Seq tab and tap cells to create a rhythm
  8. Try the Play tab — touch the pad with multiple fingers for live control
  9. Add reverb on the FX tab for atmosphere
  10. Save your creation as a preset

Heads Tab

The primary sound-shaping interface. This is where you control each playhead's grain parameters.

Top Bar

Menu | Samples | Presets | Dice | Limiter | Level Meter | CPU | Link | REC

Waveform Display

  • Shows the loaded sample with colored position markers (one per head)
  • Grain flashes animate when grains fire
  • When a background video is loaded and playback is active, the video plays inside the waveform bars
  • Drag a marker to move that head's position in the sample
  • Tap the waveform to select the nearest head

Head Selector Row

  • Colored circles numbered 1–8 represent each head
  • Tap a circle to select it (all sliders below apply to that head)
  • Tap the + button to add a new head (up to 8 in standalone, up to 5 in AUv3)
  • Long press a head circle to delete it

Per-Head Parameters

Parameter Range Description
Sample Slot 1–4 Which of the 4 loaded samples this head plays from (LFO-modulatable)
Position 0–100% Where in the sample grains are read from
Scatter 0–50% Random position variation per grain
Grain Size 10ms–2s (or 5s) Duration of each grain
Grain Rate 1–40 Hz How many grains fire per second
Grain Chance 0–100% Probability each grain actually plays
Pitch -24 to +24 semitones Playback rate (quantized to selected scale)
Reverse Off / On Play grains backwards
Envelope Bezier Curve Custom amplitude envelope shape per grain — opens the bezier curve editor
Pan L100–C–R100 Stereo position
Pan Spread 0–100% Random stereo variation per grain
Filter Type LP / BP / HP Lowpass, Bandpass, or Highpass
Filter Freq 20–20,000 Hz Filter cutoff frequency
Filter Res 0–100% Filter resonance / Q
Filter Drive 0–100% Saturation in the filter
Filter Slope 12dB / 24dB Filter steepness
Amplitude 0–100% Volume of this head
FX Send 0–100% How much goes to effects vs dry output

Each parameter slider has an LFO button for modulation assignment.

Sample Slots

GrainHeads supports 4 sample slots. Load a different sample into each slot, then assign any head to play from any slot using the Sample Slot parameter (1–4).

  • Tap Samples to open the sample browser, then tap a slot number (1–4) to choose which slot to load into
  • Each head's Sample Slot slider selects which of the 4 slots that head reads from
  • The Sample Slot parameter is LFO-modulatable — assign an LFO to sweep or jump between samples automatically for evolving multi-sample textures
  • Different heads can play from different slots simultaneously, letting you layer and blend multiple source samples

Bezier Curve Envelope Editor

Design a custom grain envelope using the interactive bezier curve editor.

  • Select Custom from the Envelope selector to open the bezier editor
  • Drag control points and bezier handles to sculpt the exact envelope shape you want
  • The curve defines the amplitude window applied to each grain — shape the attack, body, and release freely
  • Create asymmetric envelopes, sharp transient attacks, slow fades, plateau shapes, or anything in between
  • Each head can have its own independent custom envelope

Scale Quantization

Tap the Scale button next to the Pitch slider to quantize pitch to a musical scale. Options: Free (no quantization), Chromatic, Major, Minor, Harmonic Minor, Melodic Minor, Pentatonic Maj/Min, Blues, Dorian, Phrygian, Lydian, Mixolydian, Whole-Half, Whole Tone.

Dice Button

Randomizes all parameters for all present heads. A random scale can also be selected and applied to all heads at the same scale. Changes color on each press.

Seq Tab — Step Sequencer

A 16-step sequencer where each head has its own row. Heads with active sequencer steps play rhythmically instead of continuously.

Step Grid

  • 16 columns (steps) x N rows (one per head)
  • Tap a cell to toggle it on/off
  • Long press a cell to open the step editor

Step Editor

Long-press any active step to open the editor:

  • Pitch — quantized to the selected scale (shown as gray text)
  • Size, Position, Chance — override per step
  • Lockable overrides (tap the lock icon to enable): Reverse, Pan, Filter Freq, Filter Res, Filter Drive

When locked, the step uses its own value; when unlocked, it uses the head's default.

Per-Head Sequence Controls

  • Length (1–16 steps) — Drag the range slider to set how many steps are active
  • Start step (0–15) — Offset where the sequence begins
  • Clock divider — Speed multiplier per head (/64 to x64). Use different dividers across heads for polyrhythmic patterns

Dice Button

Randomizes all sequences for all heads — step activation, pitch, grain size, position, chance, all parameter locks, length, start step, and clock rate.

Play Tab — Touch Pad

Live performance interface with a multi-touch XY pad.

Modes

  • 1 Head — All fingers control the selected head. Each finger maps to a different pair of X/Y parameters
  • Multi Heads — Each finger controls a different head. All fingers share the same X/Y parameter pair
  • Multi Slots — Each finger controls a playhead in a separate sample slot (if available). Each finger has its own X/Y parameter assignments for its playhead
  • Sampl — Chops the loaded sample into multiple chunks. Each finger triggers and plays a different chunk independently. A bank of configurable macros lets you shape playback in real time for creative effects

Sampl Mode Macros

Sampl mode exposes multiple configurable macros that act as creative-effect parameters across the chunked sample. Each macro maps to a different aspect of chunk playback so you can morph the result without leaving the pad.

  • Chunks — Number of slices the sample is divided into
  • Chunk Size — Length of each chunk relative to the slice boundary
  • Order — Forward, reverse, or randomized chunk selection per finger
  • Pitch — Per-chunk pitch offset (quantized to the selected scale)
  • Filter — Per-chunk filter cutoff and resonance shaping
  • Repeat / Stutter — Re-triggers the same chunk for glitch and stutter effects
  • Spread — Stereo distribution of chunks across the field

Each macro is assignable to any finger, so you can build custom performance maps that turn one sample into a constantly evolving instrument.

Default Finger Assignments (Single Head Mode)

Finger X Axis Y Axis
1 (blue) Position Pitch
2 (red) Grain Rate Grain Size
3 (green) Pan Scatter
4 (yellow) Filter Freq Filter Res

Tap Fingers & Destinations to customize which parameters each finger controls.

Dice Button

Randomly shuffles finger-to-parameter assignments for instant performance variations.

FX Tab — Effects

Configure the effects chain: Noise, Delay, and Reverb.

Noise Generator

  • Type — White, Vinyl, or Waves
  • Level — 0–100%

Delay

  • Send — Wet signal amount
  • Time — Delay duration
  • Width — Stereo spread of echoes
  • Feedback — Echo repetition amount

Reverb

  • Send — Wet signal amount
  • Pre-delay — Gap before reverb tail
  • Decay — Reverb tail length
  • Filter — LP or HP filter on the reverb
  • Cutoff — Filter frequency

Signal Routing

Drag effect blocks to reorder the chain (e.g., Delay before Reverb, or Reverb before Delay). Note: rerouting briefly stops playback.

Per-Head FX Send

Each head has its own FX Send slider on the Heads tab. At 0% the head is fully dry (bypasses effects). At 100% it goes entirely through the effects chain. This lets you layer dry percussive heads with wet ambient heads.

LFO Tab — Modulation

8 independent Low-Frequency Oscillators for parameter modulation.

Per LFO

  • Waveform — Sine, Triangle, Square, Sawtooth (rising/falling), Sample & Hold
  • Speed — 0.01–4 Hz
  • Speed can itself be modulated by another LFO (meta-modulation)
  • Lock LFO — Locks the LFO to the grid, syncing to the step sequencer speed in standalone or to the host tempo in AUv3

Assigning an LFO

  1. Go to the Heads tab and select a head
  2. Tap the LFO button next to any parameter slider
  3. Choose which LFO (1–8) modulates that parameter and set the depth

The slider shows a colored indicator when an LFO is active, pulsing to show the modulation range in real time.

Global FX Modulation

LFOs can also modulate effect parameters (delay time, reverb decay, etc.) from the LFO tab.

Samples

Tap Samples on the Heads or Seq tab to open the sample browser. GrainHeads has 4 sample slots — select a slot (1–4) before loading to choose where the sample goes.

  • Select a slot (1–4) to choose which slot to load into
  • Tap a sample to load it into the selected slot
  • Long press the waveform thumbnail to preview (listen before loading)
  • Swipe left to delete a sample
  • Import (Pro) — Add audio files from your device (WAV, MP3, AIFF, M4A, CAF)
  • Record (Pro) — Record from your device's microphone

The app includes 5 factory samples: Beat Meat, Grand Hammers, Grotesk, Morning Glory, and Ocean Strum.

Presets

Tap Presets on the Heads or Seq tab.

What's Saved in a Preset

All head parameters (including sample slot assignments and custom bezier envelopes), sequencer patterns, effects settings, LFO assignments, scale selection, and FX routing order.

  • Save — Overwrites the current preset
  • Save As — Save with a new name and folder
  • Export — Share presets as .ghpresets files
  • Import — Load preset files from other users
  • Factory presets are included and always available

Limiter

A brickwall output limiter protects against clipping.

  • Limit button (in the top bar) — Blue = active, dark = bypassed
  • Tap to toggle. When turning on, a settings popup appears:
Parameter Range Default
Threshold -40 to 0 dB -1 dB
Attack 0.1–200 ms 1 ms
Release 10–3000 ms 50 ms

The limiter sits at the very end of the signal chain, after all effects. The level meter shows post-limiter output.

Meters

Visible on the Heads and Seq tabs:

  • Stereo level meter — Horizontal dotted bars (L and R channels). Green = normal, yellow = moderate, red = near clipping
  • CPU badge — Shows current processor usage. Green = normal, yellow = moderate (>40%), red = high (>70%)

Recording Output

Tap REC on the Heads or Seq tab (Pro feature).

  • Records the full output (all heads + effects + limiter) to a WAV file
  • Button shows "STOP" while recording (tap again to stop)
  • The recorded file is saved to the app's temporary directory
  • The level meter shows what's being recorded in real time

Ableton Link

Sync tempo across apps and devices on the same WiFi network.

  • Tap the Link button in the top bar
  • When active, BPM is driven by the Link session (your BPM slider becomes read-only)
  • The sequencer, delay time, and grain triggering all sync to the shared tempo
  • Long press the Link button for Link settings
  • Works with Ableton Live, AUM, and any other Link-enabled app

AUv3 Plugin & AUFX Extension

GrainHeads includes an Audio Unit v3 instrument and an AUFX sound effect extension for use in host apps like AUM, GarageBand, Logic Pro, or Cubasis. The AUv3 instrument and AUFX extension support up to 5 playheads (the standalone app supports up to 8).

See how GrainHeads works as AUv3 unit

Setup in a Host

  1. Add GrainHeads as an instrument on an audio channel (not MIDI-only)
  2. Route MIDI to the channel for pitch control
  3. The plugin UI shows a waveform, all parameter sliders, and a sample picker

Head Modes

Each head has two playback modes, selectable independently:

  • Latch (default) — The head starts playing automatically when the host transport plays. No MIDI input needed
  • MIDI — The head only plays when a MIDI note is received. Note-on sets the pitch (relative to middle C) and starts playback; note-off stops it

All parameters are automatable from the host regardless of mode.

LFOs

The AUv3 plugin includes LFO buttons on parameter sliders, just like the standalone app. Open the LFO tab to configure each LFO's waveform type (Sine, Triangle, Square, Sawtooth rising/falling, Sample & Hold) and speed.

Features

  • Sample picker — Load from the built-in factory samples or samples shared from the main app (Pro)
  • Record input — Tap the red record button to capture audio from the host's input bus as a new sample (up to 5 seconds)
  • Factory presets — Shimmer Pad, Glitch Dust, Deep Drone, Crystal Rain, Warm Texture
  • Dice button — Randomize all parameters

AUFX Extension

Use the GrainHeads AUFX extension on an FX bus in your host app to turn any audio input into a granular instrument.

  • Audio from the host's FX bus feeds into a recording buffer in real time
  • Feed / Freeze switch — Feed continuously captures incoming audio; Freeze locks the buffer to what was already recorded
  • Once frozen, play multiple heads from the captured buffer — sculpt the frozen audio with all grain parameters
  • All effects, LFOs, sequencer, and modulation are fully available in the AUFX extension

Shared Samples

When you import or record samples in the main app, they're automatically available in the AUv3 plugin (via the App Group shared container). Run the main app at least once after importing samples.

Settings

Tap Menu (hamburger icon) > Settings.

  • Max Grain Size — 2 seconds (default) or 5 seconds. Larger grains use more memory but enable drone-like textures
  • Waveform Video — On/Off. When on and a background video is bundled, the video plays inside the waveform bars during playback

Pro Features

The free version includes the full granular engine, all 8 heads, sequencer, touch pad, LFOs, and effects. The following features require a one-time Pro purchase:

  • Import your own samples (audio files from your device)
  • Record audio samples (via microphone)
  • Save custom presets (factory presets are always available)
  • Record output to WAV files
  • Load custom samples in the AUv3 plugin

Tips

  • Ambient pads — Low grain rate (1–3 Hz), long grains (0.5–1s), smooth bezier envelope, high reverb send
  • Rhythmic glitches — High grain rate (20+ Hz), short grains (10–50ms), sharp bezier envelope, sequencer active
  • Evolving textures — Assign LFOs to position, pitch, and filter frequency with different speeds
  • Polyrhythms — Set different sequence lengths per head (e.g., 16, 12, and 7 steps)
  • Granulate a granulation — Record your output, import it as a new sample, and granulate it again
  • Stay in key — Select a musical scale to quantize all pitch control to valid notes
  • Live performance — Use Multi Heads mode on the Play tab with one finger per head
  • Dice for inspiration — Hit the randomize button when you're stuck — it often creates surprising starting points