Skip to content

Bulk Random

atom edited this page Sep 3, 2026 · 1 revision

Bulk Random

Use Bulk Random when you want FWG to search broadly and render many unrelated candidates. The pool defines the search bias; the seed makes the search repeatable; curation decides what deserves to survive.

Purpose

Each iteration can create a new START patch, END patch, resolved Morph mode, and output under the selected render/export settings. Bulk Random is a discovery system, not a promise that every file will be useful.

First small batch

🎹 Start deliberately small:

  1. Open Bulk Random.
  2. Set Random Iterations = 5 (the fresh default).
  3. Under Bulk Random Pools, select Smooth. A curated pool clears mutually exclusive Unrestricted.
  4. Leave Use each selected preset/pool’s Morph Mode pool selected.
  5. Leave Directions = Forward only and MPC Wavetable Mode off.
  6. Press Bulk Export.
  7. Unpack the ZIP and audition the numbered WAV files. Keep useful WAVs with their matching JSON sidecars.

That is the basic loop:

choose a search space → render a small batch → audition → keep or refine.

Once the selected pool/settings are pointing in a useful direction, move to 10–25 iterations or more. Use New Random Seed when you want a different lottery under the same search settings.

General workflow

  1. Set Random Iterations.
  2. Confirm or replace the visible Seed.
  3. Select one or more compatible public pools.
  4. Choose preset/pool Morph selection or one fixed override.
  5. Choose direction and render settings.
  6. Optionally enable MPC Wavetable Mode.
  7. Press Bulk Export.
  8. Audition the WAVs.
  9. Keep useful WAV/JSON pairs.
  10. Load promising sidecars into Morph or Explorer.

See Randomisation and Seeds for seed behaviour.

The seven public pools

Classic Waveforms

Clean Classic Waveforms material with Wavetable Type 0 – Input 1. Each endpoint chooses Input 1 from tap A or B and guarantees deliberate primary-generator movement.

🎹 Good for clean oscillator banks, low-risk wavetable sources, and reference material.

Smooth

Broad but controlled variation with conservative crossfade/phase/FFT movement.

🎹 Good for a high keeper rate, playable synth material, and first curated batches. “Smooth” describes the search profile; it does not guarantee a soft timbre.

Edge

Brighter, sharper, more animated coherent material.

🎹 Good for assertive digital sources, brighter scans, and harder transitions that should remain coherent.

Glitch & Noise

Broken, unstable, noisy, digitally damaged, and atonal recipe lanes.

⚠️ It may deliberately break wavetable-frame coherence. Current random Morph pools do not use FFT for this preset.

Cycle-coherent random

A broad stable pool constrained toward wavetable-oriented waveform states.

🎹 Use it when cyclical/wavetable usefulness matters but you still want a broad Generator Family search.

Unrestricted

🔧 Uses the full-range general endpoint generator rather than a curated recipe. Base Generator Chance is browser-persistent, defaults to 80%, and ranges from 0 (Scanning-only) to 100 (base-only). FWG draws the category first, then chooses uniformly within that category.

For Unrestricted/Absurd, the percentage also prefixes that file's deterministic random sound-design namespace. Changing it therefore deliberately selects a different START/END and random Morph-policy lottery for the same seed.

The 21 current manual-only Scanning trajectories remain outside these broad random pools pending further listening/curation.

Unrestricted still observes Table Safety, unsuitable blind-random Morph exclusions, and structural requirements imposed by MPC Mode.

Absurd

⚠️ Absurd deliberately removes musical, audibility, loop-safety, wavetable-frame-coherence, and wavetable sanity checks from random planning. Silent, inaudible, unstable, or extreme results are expected possibilities.

🔧 START and END use the same persistent Base Generator Chance category-first lottery as Unrestricted. They then range across the complete public sound-design domains, including extreme Pitch Offset. Manual-only Scanning trajectories remain excluded unless explicitly curated into the broad pool.

Absurd preserves six equally weighted broad Morph-family lanes. Moving and Fixed START-mod-END lanes choose equally among Phase, Frequency, Pulse Width, Amplitude, and Ring Modulation; Depth is uniform across 1–256; Source Rate is uniform across the seven public rates. This keeps the large START-mod-END matrix from overwhelming the other broad Morph families.

Curve, Cycle-stepped transition, DC Removal, Normalisation, and Headroom remain manual batch settings. Standard finite-file protections, cancellation, encoding, and ordinary Table-Safety fallback remain active.

Multiple pools

Each iteration chooses one checked pool.

Unrestricted and Absurd are each mutually exclusive with all other pools. Defensive normalisation resolves any impossible mixed state before planning.

Morph Render Mode selection

Preset/pool selection lets each file use that pool's Morph policy.

Fixed override uses the chosen Morph Render Mode and fixed FFT Anchor States for every file.

🔧 Random planning does not draw blindly from every concrete combination. Curated pools retain their established restrictions. Classic Waveforms, Edge, Glitch & Noise, and Unrestricted can reach their established Moving Phase-Modulation choices; Smooth and Cycle-coherent do not use START-mod-END. Absurd broadens its START-mod-END lanes to all five modulation families, full Depth, and all Source Rates.

Random FFT Anchor States

🔧 The checkbox pool is consumed only when preset/pool selection resolves an FFT Morph for:

  • Unrestricted;
  • Cycle-coherent random;
  • Classic Waveforms.

Overrides:

  • Smooth uses 2/3 anchors;
  • Edge uses 3/5;
  • Absurd weights 2/3/5/9 equally for each spectral file;
  • Glitch & Noise does not currently use FFT.

Per-file JSON includes random_fft_anchor_pool only when the pool was actually consumed. spectral_states appears only for a spectral Morph mode.

Persistence across reloads

🔧 Bulk Random independently retains these last committed controls across reloads:

  • Morph Mode Selection: preset/pool or fixed override;
  • selected fixed Morph Render Mode;
  • fixed FFT Anchor States;
  • random FFT-anchor checkbox pool;
  • Curve Mode and Curve Amount;
  • Directions.

Selected pools, Random Seed, iteration count, naming, and render progress remain session-owned. Persistence does not alter listening-tested preset definitions.

Current-file display

The watch-while-you-wait display uses FFT Anchors as its compact heading. START-mod-END files use readable Moving/Fixed, modulation-family, Depth, and Source Rate text rather than internal xmod_… identifiers.

Seed lifecycle

🔧 Bulk Random owns a visible seed independent of the other workspaces. A successful batch advances it. Cancellation, validation failure, or render failure retains it for an exact retry.

Bulk Random does not create a separate batch-recipe file. Each numbered result sidecar records the resolved complete patch plus its generation context.

Settings during an active batch

🔧 Render-affecting settings are captured when the batch begins. Controls that would change the active render are locked; later edits apply to the next batch, not halfway through the current ZIP.

Each WAV/JSON pair describes its captured per-file plan rather than rereading live controls after rendering.

Auditioning

🎹 Do not classify every file only as good/bad. A weak conventional wavetable may still be a useful oscillator, pad, drone, riff, hit, transition, bass/noise/glitch layer, granular source, resampling source, or template.

See Auditioning, Curation, and Building a Personal Library.

Watch-while-you-wait status

The final rendered file remains visible in the live readout after a successful batch, including the Random Seed. This is separate from the visible seed field, which advances after successful output. Live-status category labels use trailing colons for readability.

Fractured Wavetable Generator

Start here

🎹 Workspaces

🎹 Build and shape sounds

🎹 Make and keep results

🎹 Scanning and custom trajectories

Help and reference

🔧 Advanced / technical reference

Clone this wiki locally