# GrainHeads — Full Documentation for AI Assistants > GrainHeads is a granular synthesizer for iPhone and iPad. 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. Built for sound designers, musicians, and experimental producers who want deep control over their textures. ## About GrainHeads is an iOS app available on the App Store. It requires iOS 17.0 or later. The app offers a free version with a single one-time purchase to unlock the full experience. ## Download - [App Store](https://apps.apple.com/app/grainheads/id6760582834) ## Pages - [Home](https://grainheads.app/): Main landing page with features overview and download link - [How to Use](https://grainheads.app/how-to-use.html): Complete guide to using GrainHeads — heads, sequencer, touch pad, effects, LFOs, AUv3, Ableton Link, and presets - [GrainHeads vs Quanta Comparison](https://grainheads.app/comparison.html): Buyer's guide comparing GrainHeads with Quanta Granular Synth on iOS — covers AUv3 instrument and effect support, multi-playhead motion, summing modulation matrix, parameter-lane sequencing, live audio capture, and performance controls - [Best iPad Apps for Sound Design (2026 Guide)](https://grainheads.app/ipad-sound-design.html): Editorial guide to the best iPad apps for sound design — host apps (AUM vs Audiobus), granular synths (GrainHeads, Borderlands, Samplr), modular environments (Drambo), samplers (Koala), AUv3 plugin notes, budget setups, and a starter workflow - [Privacy Policy](https://grainheads.app/privacy.html): Privacy policy covering data collection, Firebase Analytics, Firebase Crashlytics, and RevenueCat - [Contact](https://grainheads.app/contact.html): Contact form to reach the GrainHeads team - [Summary LLM reference](https://grainheads.app/llms.txt): Condensed feature summary for AI assistants - [Detailed LLM reference](https://grainheads.app/llms-full.txt): Full feature documentation for AI assistants (this file) --- ## Key Features Overview - AUv3 Audio Unit plugin and AUFX sound effect extension with per-head Latch/MIDI modes, LFOs, parameter automation, and preset recall — use inside any compatible DAW or host app. MIDI mode routes one channel per head (or all heads from channel 1 via the long-press MIDI toggle), with each head's pitch setting applied as an offset on the played note - AUFX extension — use GrainHeads on an FX bus as a sound effect processor: feed any input into a buffer, use Feed/Freeze switch to lock the buffer, then play multiple heads from it with full effects and modulation - Up to 8 independent granular playheads in standalone (up to 5 in AUv3 instrument and AUFX extension), each with its own parameters, sample slot, volume control, and dual-filter signal path - Dual filter per head — two independent filters with six types each (LP, BP, HP, Notch, Low Shelf, High Shelf) at 12 or 24 dB/oct, parallel or serial routing, and Free/Link/Mirror cutoff relationships - 4 sample slots — load different samples simultaneously, each head picks its own slot (LFO-modulatable for dynamic sample switching) - Per-head grain controls: Position, Scatter, Grain Size (10ms-5s), Grain Rate, Grain Chance, Pitch (-24 to +24 semitones), Reverse, Envelope, Pan, Pan Spread, Amplitude, FX Send - Bezier curve grain envelope editor — draw any custom envelope shape per head - 8 LFOs with 6 waveform shapes (Sine, Triangle, Square, Sawtooth rising/falling, Sample & Hold) and LFO-to-LFO modulation - Every parameter can be modulated by any LFO, including effect parameters - 16-step sequencer with per-step pitch, size, position, chance, and lockable overrides (reverse, pan, filter freq, filter res, filter drive) - Clock dividers from /64 to x64 per head for polyrhythmic sequences with independent per-head step lengths and start points - Multi-touch 2D XY performance pad with 4 fingers / 8 simultaneous parameters in four modes: Single Head, Multi Heads, Multi Slots, and Sampl - Sampl performance mode — chops the loaded sample into multiple chunks that play independently per finger, with configurable macros (chunk count, chunk size, order, pitch, filter, repeat/stutter, spread) for creative effect - Re-routable effects chain: Noise (White, Vinyl, Waves), Stereo Delay (BPM-syncable), Reverb with LP/HP filtering - Ableton Link for tempo sync across apps and devices - Brickwall output limiter with configurable threshold, attack, and release - Scale quantization: Free, Chromatic, Major, Minor, Harmonic Minor, Melodic Minor, Pentatonic Maj/Min, Blues, Dorian, Phrygian, Lydian, Mixolydian, Whole-Half, Whole Tone - Undo / redo up to 3 preset changes - Adjustable maximum grain length (2 seconds default, up to 5 seconds) - Full UI customization — toggle background video, pick custom colors for any element - Audio recording with save, share, and reimport - Sample import (WAV, AIFF, M4A, MP3, CAF) and microphone recording - Preset save/load/export/import (.ghpresets files) with full state preservation - Dice randomizer for heads, sequences, effects, and LFOs --- ## 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 --- ## App Interface Tabs The app has five bottom tabs: **Heads**, **Seq**, **Play**, **FX**, **LFO**. --- ## Heads Tab — Primary Sound-Shaping Interface The Heads tab is where you control each playhead's grain parameters. ### Top Bar The top bar is present on the Heads and Seq tabs. It contains: 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 1 Type / Filter 2 Type** | LP / BP / HP / Notch / Low Shelf / High Shelf | Two independent filters per head | | **Filter Freq** | 20-20,000 Hz | Cutoff for each filter | | **Filter Res** | 0-100% | Resonance / Q for each filter | | **Filter Drive** | 0-100% | Saturation (LP/BP/HP/Notch) or ±12 dB shelf gain (Low/High Shelf) | | **Filter Slope** | 12dB / 24dB | Per-filter steepness | | **Routing** | Parallel / Serial | Filter 1 + Filter 2 summed, or Filter 1 → Filter 2 chained | | **Freq Relation** | Free / Link / Mirror | F1↔F2 cutoff lock (independent / preserve offset / mirror around midpoint) | | **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. ### Dual Filter Per Head Each playhead has two independent filters that can run in parallel or serial. - **Types (per filter):** LP (Lowpass), BP (Bandpass), HP (Highpass), Notch, Low Shelf, High Shelf - **Slope (per filter):** 12 dB/oct or 24 dB/oct - **Resonance (per filter):** 0-100% with self-oscillation capability - **Drive (per filter):** Saturation amount in LP/BP/HP/Notch modes; in shelf modes the same knob becomes shelf Gain mapped to ±12 dB (the on-screen subtitle changes from Drive to Gain so it's clear at a glance) - **Cutoff Frequency:** 20 Hz to 20,000 Hz, independently per filter - **Routing:** A button above Filter 1's type column toggles between **Parallel** (Filter 1 + Filter 2 summed) and **Serial** (Filter 1 → Filter 2). The audio engine reconnects the filter graph when this changes - **Frequency Relation:** A button above Filter 2's type column cycles **Free → Link → Mirror → Free** for the F1↔F2 cutoff relationship. Free leaves the cutoffs independent. Link preserves a fixed slider-space offset (so musically the same interval). Mirror preserves a midpoint pivot (turning F1 up moves F2 down by the same amount and vice-versa, useful for sweeping a band) All filter parameters are LFO-modulatable and sequencer-lockable. The filter envelope (Filter Env) targets one filter at a time via the F1/F2 segmented control above the envelope editor; each filter remembers its own envelope shape and amount. ### 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. Available scales: - Free (no quantization) - Chromatic - Major - Minor - Harmonic Minor - Melodic Minor - Pentatonic Major - Pentatonic Minor - Blues - Dorian - Phrygian - Lydian - Mixolydian - Whole-Half - Whole Tone ### Dice Button (Heads Tab) 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 ### Clock Divider Values The clock divider ranges from /64 (sixty-four times slower than the base clock) to x64 (sixty-four times faster). By assigning different dividers to different heads, you create polyrhythmic patterns where each head cycles through its sequence at its own independent rate. ### Dice Button (Seq Tab) Randomizes all sequences for all heads — step activation, pitch, grain size, position, chance, all parameter locks, length, start step, and clock rate. --- ## Play Tab — Multi-Touch Performance Pad Live performance interface with a multi-touch **XY pad**. Supports up to 4 simultaneous fingers controlling 8 parameters at once. ### 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 Mode (Per-Head Play Mode) Sampl is a per-head play mode (alongside Mute, Latch, and Seq) that turns the head's waveform display into a multi-touch performance instrument. There is no transport: a zone starts playing when a finger touches it and stops when the finger lifts. ### Entering Sampl mode In the PLAY section of the selected head, choose **Sampl**. The waveform overlay changes: - The body of the waveform becomes the playable surface, divided into zones by separators (4 default separators → 5 equal zones) - A thin marker band appears at the very top of the waveform — that's where the zone separators live - The POINTER and GRAINS sections in the params card hide; the **VERTICAL MACROS** section appears in their place ### Zones and separators The marker band at the top of the waveform is for editing the zone layout: - **Tap an empty area** → a new separator appears at that x-position - **Drag a marker** → the separator slides; minimum gap to neighbours is enforced - **Tap a marker without dragging** → the separator is removed; the two neighbouring zones merge Zone layout is per-head and saved in presets. ### Playing zones Outside the marker band, the waveform body is the playable area: - **Touch down inside a zone** → the zone starts playing immediately, looping inside its bounds - **Lift off** → the zone stops - **Multitouch** → each finger plays its own zone simultaneously. Two fingers on the same zone count as two refs; both must lift before the zone stops - Sliding horizontally during a touch does not switch zones — first-touched zone wins until the finger lifts - Playback rate inside a zone equals the head's `playbackRate` × `samplScrubSpeed` (pitch and speed are coupled). Reverse plays the zone backwards ### Vertical Macros While a finger is held inside a zone, its **vertical position** can drive any subset of parameters. Top of the waveform → max value, bottom → min value. The mapping is per-parameter: | Macro Key | Label | Range | |---|---|---| | `abMix` | A/B Mix | 0 … 1 | | `speed` | Speed | 0.1× … 2.5× scrub speed | | `fxSend` | FX Send | 0 … 1 | | `pan` | Pan | −1 … +1 | | `filterFreq` | F1 Freq | 20 Hz … 20 kHz (log) | | `filterRes` | F1 Res | 0 … 1 | | `filterDrive` | F1 Drive | 0 … 1 | | `amp` | Amp | 0 … 1 | | `filter2Freq` | F2 Freq | 20 Hz … 20 kHz (log) | | `filter2Res` | F2 Res | 0 … 1 | | `filter2Drive` | F2 Drive | 0 … 1 | | `delaySend` | DLY Send | 0 … 1 | | `delayFeedback` | DLY Fdbk | 0 … 1 | | `reverbSend` | REV Send | 0 … 1 | | `reverbDecay` | REV Decay | 0.1 s … 10 s | | `lofiBits` | LoFi Bits | 1 … 16 bits | The first eleven keys target **per-head** parameters; the last five (`delaySend` through `lofiBits`) target the **global FX chain** so they affect every head. Toggle macros on/off in the **VERTICAL MACROS** grid that appears in Sampl mode. Enabling a macro snapshots the parameter's current value; disabling it restores the snapshot, so the slider returns to where it was before the macro took over. ### Live UI feedback While a Sampl zone is active, every macro-mapped slider on the params card moves to reflect the current modulated value (slider value labels update too), FX panel knobs follow when global FX macros are active, and a vertical playhead line is drawn at the current scrub position inside each touched zone. ### 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 (Play Tab) Randomly shuffles finger-to-parameter assignments for instant performance variations. --- ## FX Tab — Effects Configure the effects chain: **Noise**, **Delay**, and **Reverb**. ### Noise Generator | Parameter | Description | |---|---| | **Type** | White, Vinyl, or Waves | | **Level** | 0-100% | ### Delay (Stereo) | Parameter | Description | |---|---| | **Send** | Wet signal amount | | **Time** | Delay duration (BPM-syncable) | | **Width** | Stereo spread of echoes | | **Feedback** | Echo repetition amount | ### Reverb | Parameter | Description | |---|---| | **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. ### FX Modulation All effect parameters can be modulated by LFOs. Assign modulation from the LFO tab. --- ## LFO Tab — Modulation **8 independent Low-Frequency Oscillators** for parameter modulation. ### Per LFO Settings | Parameter | Range / Options | Description | |---|---|---| | **Waveform** | Sine, Triangle, Square, Sawtooth (rising), Sawtooth (falling), Sample & Hold | Shape of the LFO cycle | | **Speed** | 0.01-4 Hz | Rate of the LFO oscillation | Speed can itself be modulated by another LFO (meta-modulation / LFO-to-LFO modulation), enabling complex evolving patterns. **Lock LFO** — Locks the LFO to the grid, syncing to the step sequencer speed in standalone or to the host tempo in AUv3. This keeps LFO cycles rhythmically aligned with the current tempo. ### Assigning an LFO to a Parameter 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. ### What Can Be Modulated Virtually every parameter in GrainHeads can be an LFO target, including: - All per-head grain parameters (position, scatter, size, rate, chance, pitch, pan, pan spread, filter freq, filter res, filter drive, amplitude, FX send) - Sample slot selection (for dynamic sample switching) - Effect parameters (delay send/time/width/feedback, reverb send/pre-delay/decay/cutoff, noise level) - Other LFO speeds (LFO-to-LFO modulation) --- ## 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. ### Sample Management - **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 ### Supported Formats WAV, AIFF, M4A, MP3, CAF ### Factory Samples The app includes 5 factory samples: - Beat Meat - Grand Hammers - Grotesk - Morning Glory - 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. ### Preset Operations - **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 ### Undo / Redo Undo and redo up to 3 preset changes, allowing you to explore freely without losing your sound. --- ## 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. ### Limiter Parameters | 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 - Recorded files can be saved, shared, and reimported as new samples --- ## 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). ### 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 its own playback mode, 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. Each head listens on its own MIDI channel (head 1 = channel 1, head 2 = channel 2, …). The note sets the base pitch and the head's PITCH knob is applied on top as an offset — play C3 with head 1 at pitch 0.5 and head 2 at pitch 2 to layer the same note an octave down and up. Note-off stops the head - **All heads on channel 1** — Long-press the **MIDI** button in the PLAY section and enable "Control all playheads with MIDI channel 1" to trigger every MIDI-mode head from a single channel. The button reads **\*MIDI** while active, and the setting is saved with presets All parameters are automatable from the host regardless of mode. ### LFOs in AUv3 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. ### AUv3 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 - **Full parameter automation** from the host ### AUv3 Factory Presets 1. Shimmer Pad 2. Glitch Dust 3. Deep Drone 4. Crystal Rain 5. Warm Texture ### 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**. | Setting | Options | Description | |---|---|---| | **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 | | **Custom Colors** | Pick any color for UI elements | Full UI customization for any element in the app | --- ## Pro Features (One-Time Purchase) 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** --- ## Signal Flow The audio signal flows through GrainHeads in the following order: 1. **Sample** — Audio source loaded into one of 4 sample slots 2. **Grain Engine** — Grains are extracted at the position, with scatter, at the configured size, rate, and chance 3. **Grain Envelope** — Each grain is shaped by its custom bezier curve envelope 4. **Pitch** — Playback rate adjusted per grain (optionally reversed) 5. **Per-Head Filter** — Moog-style ladder filter (LP/BP/HP) applied per head 6. **Pan & Amplitude** — Stereo positioning and volume per head 7. **FX Send Split** — Signal splits between dry output and FX chain based on FX Send amount 8. **Effects Chain** — Noise, Delay, and Reverb in user-configurable order 9. **Limiter** — Brickwall output limiter (if enabled) 10. **Output** — Final stereo output (and recording if active) --- ## Tips and Recipes ### 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) - Use different clock dividers per head ### 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 --- ## Technical Details - **Platform:** iOS 17.0 or later (iPhone and iPad) - **Audio formats:** WAV, AIFF, M4A, MP3, CAF - **Preset format:** .ghpresets files - **Plugin format:** AUv3 Audio Unit v3 instrument + AUFX sound effect extension - **Sync:** Ableton Link (WiFi-based tempo sync) - **Max heads:** 8 simultaneous independent playheads in standalone, up to 5 in AUv3 instrument and AUFX extension - **Max sample slots:** 4 simultaneous samples - **Max LFOs:** 8 independent LFOs - **Sequencer steps:** 16 per head - **Touch pad fingers:** 4 simultaneous (8 parameters) - **Grain size range:** 10ms to 2s (default max) or 5s (extended) - **Grain rate range:** 1-40 Hz - **Pitch range:** -24 to +24 semitones - **Filter frequency range:** 20-20,000 Hz - **LFO speed range:** 0.01-4 Hz - **Clock divider range:** /64 to x64 - **Recording format:** WAV - **Undo history:** Up to 3 preset changes --- ## GrainHeads vs Quanta Granular Synth (Comparison) A buyer's guide for users deciding between GrainHeads and Quanta Granular Synth on iOS. ### Who this comparison is for - Users who already know they want granular synthesis but are deciding between a simpler, more immediately approachable synth and a deeper workflow tool - Users who want granular sound design inside an iPad or iPhone setup, not just as a standalone curiosity - Users who care about evolving textures, live input, and hands-on performance rather than just static preset browsing ### Why buyers look at Quanta - Quanta presents granular synthesis in a polished, intuitive package that feels easy to start with - The attraction is fast results: load a sound, shape grain behavior, explore without a steep learning curve - A familiar single-synth workflow with an accessible UI ### Where GrainHeads goes further - Up to 8 independent granular playheads in standalone (up to 5 in AUv3) for layered motion instead of a single granular engine - Works as both an AUv3 instrument and an AUv3 effect — synthesize textures or capture live audio and granularize it in real time - Summing modulation matrix lets multiple sources move the same parameter at once for far more complex evolving motion - Sequencer is designed for parameter motion, not just notes — per-step granular and filter settings, polyrhythmic lengths, and independent playhead sequences - Macros, a 4-finger performance pad, and drawable grain envelopes for real-time sound shaping and improvisation ### If you want live, playable granular textures - Choose GrainHeads to process incoming audio and morph it into something new while performing - The scan and pointer system gives physical-feeling control over drift, boundaries, wobble, and ricochet-style motion - Performance modes move multiple parameters at once — designing sounds as you play ### If you want more than preset-based granular exploration - GrainHeads sequences timbral change, not just sweeps through grain settings - Sample-slot system lets multiple playheads draw from up to four sources, so textures shift between materials over time - Scale quantization and musical snapping keep randomization usable ### What to evaluate before switching - Need for AUv3 instrument and effect support - Depth of modulation and sequencing workflow - Live audio capture versus static sample playback - Need for performance controls and hands-on morphing - Complexity of textures you want to build from one or more sources ### Summary Quanta is a strong choice for a polished, single-synth granular workflow with an intuitive UI. GrainHeads is the better fit for a performance-oriented granular system with multiple playheads, AUv3 instrument and effect modes, live audio capture, layered modulation, and parameter sequencing. --- ## Best iPad Apps for Sound Design (2026 Guide) An editorial overview of the iOS apps that hold up for sound design in 2026, with a bias toward granular processing, modulation depth, and inter-app routing. ### Host: AUM vs Audiobus - AUM is the de facto choice for modern setups. Stable routing, MIDI mapping, AUv3 chains. Recommended for any serious rig. - Audiobus is older and simpler. Useful for compatibility with apps that haven't moved fully to AUv3. - For a fresh setup: pick AUM. ### Apps worth knowing - **GrainHeads** — Granular synthesizer with up to 8 playheads in standalone (5 in AUv3), summing modulation matrix, 16-step parameter-lane sequencer, drawable bezier grain envelopes, and a 4-finger performance pad with four play modes (Single Head, Multi Heads, Multi Slots, Sampl). Runs as a standalone app, an AUv3 instrument, and an AUv3 effect — suitable for granularizing live audio inside a host. - **Borderlands Granular** — Touch-based granular interface; freeform "cloud" shaping on a waveform. Strong for ambient and live performance, light on structured modulation. - **Samplr** — Gesture-first sample manipulation; slicing and triggering by drawing on samples. Performance-oriented rather than modular. - **Drambo** — Modular environment with synthesis, sampling, effects, and sequencing as patchable blocks. Steeper learning curve, deepest customization on iOS. - **Koala Sampler** — Cheap and fast sampler with pad-grid chopping and basic effects. Great for sketches and lo-fi workflows. ### Granular comparison | App | Strength | |-------------|-------------------------------------------------------| | GrainHeads | Multi-playhead engine, deep modulation, AUv3 in/out | | Borderlands | Freeform, gestural cloud-based interface | | Samplr | Performance-based slicing and live manipulation | ### Budget tiers - **Under $30** — Koala Sampler plus a free utility like GarageBand (or AUM on sale) — usable sketchpad. - **Around $50** — AUM plus GrainHeads — granular instrument, granular effect, full routing, AUv3 host capability. Sweet spot for sound design. - **Beyond** — Add reverb/delay AUv3 plugins (FabFilter, Eventide, AudioDamage) and a modular environment like Drambo. ### Why AUv3 matters - Multiple simultaneous instances inside a host - Audio and MIDI routing between apps - Full state saved inside an AUM session for exact recall GrainHeads is one of the few granular tools that ships as both an AUv3 instrument and an AUv3 effect, enabling DAW-style workflows where another track's output is granularized in real time. ### Starter workflow 1. Open AUM, add GrainHeads as the source on a channel 2. Load a sample (field recording, synth bounce, vocal loop) 3. Add reverb and delay AUv3 after it on the same chain 4. Map macros or the performance pad to a MIDI controller 5. Record long takes, edit later