Troubleshooting¶
Common problems and their fixes. If none of these solve your issue, email
support@plasticfactory.com with your OS version, DAW, and a short
description of what you're seeing.
I get no sound¶
Run through this checklist in order:
- The layer is on. Each layer has a power toggle. Make sure Layer 1 is enabled (and Layer 2 if you're using it), and that the global Play transport is running in the standalone app.
- The output device is correct. In the standalone app, open the audio preferences and confirm you're routed to your audio interface, not a disconnected output.
- Density and dry/wet are non-zero. If Density is all the way down, no grains spawn. If Wet/Dry is fully dry, you only hear the input (or silence, if there's no input). Start both around the 12 o'clock position.
- MIDI is arriving (instrument only). Grainsmith is a MIDI-controlled instrument. Without incoming notes it stays silent in Instrument play mode. Arm the track, play a note, and watch the keyboard indicator. If you want audio without MIDI, use the Grainsmith FX build instead.
The app crashes on launch¶
The most common cause on macOS is a stale quarantine flag on the bundle. Clear it from Terminal:
bash
xattr -dr com.apple.quarantine /Applications/Grainsmith.app
If that doesn't help, check that your macOS version is supported. Grainsmith requires macOS 10.15 Catalina or later. The Windows build's C runtime is statically linked, so there's no separate redistributable to install.
If the crash is reproducible, grab the crash log (macOS: Console.app โ Crash Reports; Windows: Event Viewer โ Windows Logs โ Application) and send it to support.
My audio file won't load¶
Grainsmith loads WAV, MP3, and FLAC on every platform. On macOS it also loads AIFF, M4A (AAC), and Ogg Vorbis through Core Audio. The Windows build handles WAV, MP3, and FLAC only โ convert anything else to WAV first.
Sample rate is handled automatically: files are resampled to the current session rate on a background thread, so a 96 kHz WAV in a 44.1 kHz session still plays at the right pitch. That conversion happens once at load time.
Very long files (over about five minutes) take a moment to decode and resample. The waveform display stays blank while the load is in flight, then pops in when it's ready. If a file never finishes loading, it's probably corrupt โ try opening it in another audio app to confirm.
CPU usage is too high¶
Granular synthesis is expensive by nature, and dense patches on both layers can push a laptop hard. Try these in order:
- Drop grain density. Density is the biggest CPU lever. Halving density roughly halves the grain count and therefore the CPU cost.
- Bypass unused FX. The compressor and reverb each add overhead. The reverb's Stormy algorithm is the most expensive of the three โ switch to Misty or Cloudy for lighter ambience.
- Disable a layer's Spectral Array Oscillator. Each layer's SAO runs an independent phase vocoder; turn one off if you're not using it.
- Disable the second layer. If you're only using Layer 1, switch Layer 2 off so it stops spawning grains.
- Raise the buffer size in your host or the standalone audio preferences. Larger buffers give the engine more headroom per block.
The plug-in is missing or times out in my DAW¶
First, force a rescan. Logic Pro caches AU validation results aggressively
โ delete ~/Library/Caches/AudioUnitCache/ and relaunch Logic to force a
clean revalidation. In Ableton Live, go to Options โ Preferences โ
Plug-ins and click Rescan. Most other hosts have a Rescan button in
their plug-in manager.
On macOS, check that Gatekeeper hasn't quarantined the bundle itself. The
same xattr command from above also works on plug-in bundles:
bash
xattr -dr com.apple.quarantine /Library/Audio/Plug-Ins/Components/Grainsmith.component
xattr -dr com.apple.quarantine /Library/Audio/Plug-Ins/VST3/Grainsmith.vst3
If a DAW reports the plug-in "timed out during validation", it usually means the host killed the scan before Grainsmith finished initializing its sample cache. Rescan once more โ the second attempt almost always succeeds because the cache is already warm.