Performance¶
Granular synthesis is CPU-hungry. Grainulator is tuned to run on modern iPads, but two layers with dense grain clouds and the resonator enabled will push any iPad hard. This page explains which settings cost the most and how to tune for your device.
iPad model recommendations¶
Recommended (comfortable headroom). M-series iPad Pro, M-series iPad Air, A17 Pro iPad mini. These chips handle two layers with high grain density plus resonator plus reverb without drama, even at 256-sample buffers.
Works but tight. A14 through A16 devices โ 2020 iPad Air, 2020/2021 iPad Pro, standard iPad (10th gen), 2021 iPad mini. You'll get one full-density layer comfortably; for two layers, expect to dial back grain density or bypass the resonator. Use a 512-sample buffer for live play and bump to 1024 if you're mixing.
Not supported. Pre-A14 devices (anything older than the 2020 iPad Air), or any iPad that can't run iPadOS 15.
What costs CPU¶
Rough order of magnitude, from most expensive to cheapest:
1. Grain density. This is the single biggest CPU driver on each layer. Each active grain is a separate read from the buffer plus envelope and pitch-shift math. Doubling the density roughly doubles that layer's CPU cost.
2. Running two layers. Layer 1 and Layer 2 are fully independent grain engines. Running both uses roughly twice the CPU of running one. If you only need a single texture, toggle Layer 2 off from the power button on the waveform display.
3. The resonator. Enabling the resonator adds a fixed, non-trivial CPU cost โ around the same as adding another half-layer of grains. If you're thermally throttled or close to the edge, bypass the resonator first.
4. Filter and drive. The moog-style filter and drive stage are cheap. Leave them on.
5. Reverb freeze. Reverb freeze holds the tail indefinitely but doesn't cost more CPU than the normal reverb โ it's safe to leave enabled.
Buffer size guidance¶
In an AUv3 host you can usually set the audio buffer size in the host's audio settings (128 / 256 / 512 / 1024 samples). Larger buffers lower CPU load but add latency.
- 128 samples: don't. Too tight for granular on iPad.
- 256 samples: good for live play on M-series iPads. Expect glitches on older hardware.
- 512 samples: comfortable on A14-A16 for two layers.
- 1024 samples: use when mixing / not playing live, for maximum CPU headroom.
The standalone app picks its buffer automatically based on the iPadOS audio session โ generally 512 samples at 48 kHz. You can't override this in the standalone app; use an AUv3 host if you need tighter latency.
Background audio¶
The standalone Grainulator app registers an audio session and keeps audio running when the app is backgrounded โ useful for hand-off to a mixer app or checking something in the Files app while a drone plays. To stop audio, bring Grainulator back to the foreground and press stop, or kill the app from the app switcher.
Thermal throttling¶
iPads throttle aggressively when their sustained power draw gets too high, especially the mini and standard iPad. Symptoms of thermal throttling with Grainulator running:
- Audio dropouts and clicks that weren't there a minute ago.
- Sudden CPU usage spikes reported by the host.
- The iPad feeling warm to the touch.
Recovery:
- Reduce grain density on both layers.
- Bypass the resonator if it's enabled.
- Turn off Layer 2 if you can live without it.
- Let the device cool for about two minutes before pushing it again.
Tip
Running Grainulator from a cool iPad in an AC-conditioned room is very different from running it in direct sun on a patio. If you're playing live outdoors, pre-configure a lower-density preset as your safe fallback.