How to Use
A complete guide to GrainHeads
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), each with its own 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
- Open the app — a factory sample is pre-loaded
- Tap Play (green button below the waveform)
- Listen to the default grain stream
- Drag the position marker on the waveform to explore different parts of the sample
- Adjust Grain Size and Rate sliders to change the texture
- Add a second head (tap +) with different settings for layered sound
- Switch to the Seq tab and tap cells to create a rhythm
- Try the Play tab — touch the pad with multiple fingers for live control
- Add reverb on the FX tab for atmosphere
- 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)
- Long press a head circle to delete it
Per-Head Parameters
| Parameter | Range | Description |
|---|---|---|
| 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 | Hann / Gauss / Trap | Amplitude envelope shape per grain |
| 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.
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. 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
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)
Assigning an LFO
- Go to the Heads tab and select a head
- Tap the LFO button next to any parameter slider
- 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.
- Tap a sample to load it
- 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, 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
GrainHeads includes an Audio Unit v3 instrument for use in host apps like AUM, GarageBand, Logic Pro, or Cubasis.
Setup in a Host
- Add GrainHeads as an instrument on an audio channel (not MIDI-only)
- Route MIDI to the channel for pitch control
- The plugin UI shows a waveform, all parameter sliders, and a sample picker
How It Works
- The grain engine runs silently until a MIDI note is received
- Note-on sets the pitch (based on MIDI note number relative to middle C) and unmutes
- Note-off mutes the output
- All parameters are automatable from the host
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
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), Gaussian envelope, high reverb send
- Rhythmic glitches — High grain rate (20+ Hz), short grains (10–50ms), Trapezoid 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