-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Short answers live here. 🎹 marks practical/musical answers, 🔧 marks technical ones, and
Unless qualified, a patch is the complete settings record for one output: START patch, END patch, Morph settings, render/export settings, Drawn data, and relevant JSON context.
A START patch or END patch is one endpoint sound state. Playground edits one endpoint-style state but does not export files directly.
🎹 No. It also creates ordinary samples, drones, pads, hits, transitions, riffs, textures, and resampling material.
🎹 No. A WAV can be mechanically valid and musically poor as a scanned table, or poor as a table but useful as ordinary audio.
🔧 v3 uses internal oscillator and Drawn tables containing 512 internal cycle samples, and Source/Result Window controls use inclusive positions 1–512.
512 is a v3 engineering choice, not a claim that 512 internal cycle samples are universally sufficient. See Meditations on the 512-Sample Core.
Older public 0–256 window JSON is migrated by its declared control range.
No. It means the controlled, high-yield Bulk profile and the rounded variant of each Generator Family. The actual sound can still be bright.
No. They are merged into the public Glitch & Noise preset. Internal source lanes used by that preset are implementation details rather than separate user-facing pools.
It may create silent, inaudible, unstable, or extreme files. Ordinary table-safety fallback and finite-file protections remain active.
🔧 Schema 13 gives the exact untouched built-in sine the stable identity default_sine_v1 when no pristine construction is retained. A pristine numeric Drawn construction may instead retain its compact stage-1 recipe and, where present, stage-2 transform and final normalise:true as one pipeline authority; FWG materialises the bounded 512-internal-cycle-sample Float32 table at runtime. After ordinary editing or deliberate flattening, custom Drawn is stored as human-readable Float32 numeric data. Legacy Base64-packed Float32, historical int16_bipolar / signed-int16, and old dual-definition schema-13 Drawn records remain importable.
🔧 It records only the most recent file import or generated Input 1 copy that populated the table.
It is not an edit history. Later drawing does not change it, and population provenance is separate from waveform authority. While a pristine schema-13 construction/transform/normalise pipeline is retained, that pipeline is the saved authority and its bounded 512-internal-cycle-sample Float32 table is runtime materialisation. After ordinary Drawn editing or deliberate flattening, the literal 512-internal-cycle-sample table becomes authoritative. An exact untouched built-in sine with no retained construction may use the compact default_sine_v1 representation.
Not in ordinary Morph/Batch export. WAV and sidecar are produced as a pair.
No. JSON is for FWG reconstruction, templates, provenance, analysis, and editing.
format.json in the actual library folder. Refer to the official manual section, “To add wavetable content to your MPC”.
🎹 Yes. Its fixed MPC-single-cycle-count × output-PCM-samples-per-single-cycle controls can be a convenient way to create simple, repeatable wavetable geometry for other instruments. The generated format.json and MPC folder layout are specific to MPC, however. Another synthesizer may need only the WAV, or may require different metadata, naming, wavetable-frame counts, or output-PCM-samples-per-cycle limits.
🎹 I'll consider it. My consideration increases dramatically if you can get one of those synthesizers into my hands for testing. Documentation and community reports can justify researching an experimental compatibility profile, but access to the actual instrument makes it possible to test real import/playback behaviour, metadata and filename conventions, supported wavetable geometry, and leave behind permanent regression fixtures for whatever FWG claims to support.
🔧 Moving keeps START as modulation source and END as audible carrier while both branches travel through the Morph path; Reverse changes traversal direction only. Fixed applies no parameter interpolation inside either branch; Forward uses START as source and END as carrier, while Reverse swaps those complete roles.
FWG uses FWG-SHA256-v1 / named-draws-v1, retains 32 bits per named draw, and generates default tokens from a 2^130 namespace. Under the browser-RNG assumption and uniform token-generation model, those tokens are intended to carry 130 bits of generated uncertainty. The 256-bit digest, 32-bit draw, and 130-bit token namespace describe different parts of the system; none is automatically the entropy, uniqueness, or search hardness of a final patch or WAV.
Scope note: Do not describe FWG as having “256-bit security” or a universal “130-bit security level.” It is an unkeyed reproducibility system with a 130-bit default token namespace and 32 retained bits per path.
Seed text is exact: case, spaces, punctuation, and Unicode representation matter. FWG does not Unicode-normalise seed text, so copy and paste a recorded seed rather than retyping a visually similar form.
SHA-256 was chosen for the first public named-draw contract primarily to avoid a distracting “SHA-1 is broken” argument. It is also a current standard primitive, has no known practical weakness relevant to this construction, and costs essentially the same to implement in the browser as SHA-1.
FWG does not provide passwords, authentication, signatures, secrecy, trusted timestamps, tamper-evident records, or formal zero-knowledge proofs. Browser RNG quality affects honest seed uncertainty and accidental duplication, but post-hoc target construction is a different problem: an attacker can choose candidate seeds directly and still must find one whose archived seed-to-output path satisfies the target.
🔧 Not for every possible range. Integer ranges and ordinary choices use one 32-bit value reduced modulo the range size. The result is exactly uniform when the range divides 2^32; otherwise some outcomes receive one additional 32-bit source value.
For any one outcome, the absolute probability error is less than 2^-32, about one part in 4.3 billion of absolute probability. The relative skew can be larger for a very large range, but it remains immaterial to FWG's intended sound-design use. Rejection sampling would change deterministic outputs and is not warranted for a non-security application. See Randomisation and Seeds.
created_utc, but it does not sign the record or obtain a trusted timestamp. Historical provenance needs corroborating records such as project files, backups, cloud-storage/version history, version-control history, publication, transfers, or a documented chain of custody.
For most users, ordinary cloud, project, backup, publication, and transfer metadata will be the practical solution. Users with specialised cryptographic or forensic requirements can additionally hash, sign, or externally timestamp the final WAV/JSON pair or package without changing FWG. See Authenticating and Timestamping FWG Outputs.
That limitation concerns history and authentication. It does not make post-hoc construction trivial: starting with a fixed arbitrary target and producing a seed/recipe that regenerates it is the inverse problem, while starting with a disclosed seed and verifying the output is easy.
🔧 With healthy uniform 130-bit generation, any duplicate among one million seeds has a birthday probability of only about 3.7 × 10^-28; the 50% point is about 4.34 × 10^19 generated seeds. A defective RNG could make repetition more likely.
Even then, identical output also requires the same version and other effective inputs. Both results must then be selected, used, distributed, noticed, and important enough to justify a dispute. If the routes were genuinely independent, both can still be source-blind. FWG cannot decide priority, ownership, publication history, or legal significance.
🔧 It has been considered. A timestamp suffix could separate repeated RNG output at different times and bind a claimed seed-generation time into the seed-to-output mapping. It would not authenticate the clock or prove historical possession, and seed-generation time is not necessarily file-creation time: FWG can use multiple seeds and a batch can produce outputs over several minutes.
Current JSON already records per-result created_utc. For now FWG retains the plain 26-character, 130-bit generated token. Timestamped seeds remain an openly documented design option rather than current behaviour.
Scope note: This is project-specific wordplay, not a cryptographic claim, algorithm, protocol, or formal proof system. The source-blind computational route can be verified directly; identifying that route as the historical creation event requires ordinary provenance. Absence from FWG's inputs also does not establish a human curator's motives or knowledge.
For a fully random, generator-only patch, the JSON/WAV record can disclose the seed-derived recipe, reproduce the sound, and show that the earlier work was excluded from the generator's inputs. When the patch itself produces a riff, the same record can account for the generated sequence as well as the timbre.
FWG is not AI. It has no trained model, weights, latent space, training corpus, or body of prior works from which material can be retrieved, memorised, or leaked.
The claim applies only to the reproducible FWG computation and the features attributable to it. Drawn or user-supplied waveform data, later hand edits, manually selected Morph/render behaviour, downstream processing, target-guided external selection, or later use of the exported output may fall partly or wholly outside that proof.
This is speculative technical commentary, not legal advice, and assumes no jurisdiction. See Proof of Zero Knowledge: Random Patch Generation and Forensic Evidence.
🎹 It is Root Frequency after applying a patch's static Pitch Offset, before FM or other time-varying modulation. Playground, Morph, and Explorer show it as Nominal freq beneath Pitch Offset. Double-click the value—or focus it and press Enter—to enter a target frequency in Hz and have FWG calculate the required Pitch Offset.
The Pitch Offset & Nominal Frequency tool in the Calculators tab can instead solve any one of Root Frequency, Pitch Offset, or Nominal Frequency from the other two without changing application state.
🔧 Yes. The ordinary slider and Explorer mini-graph are optimised for 20 Hz–20 kHz, but typed Cutoff values extend down to 0.01 Hz for expert and LFO-rate filtering. Values outside the normal visual range remain authoritative in audition, rendering, JSON, and Explorer. Very slow filters may need long auditions or exports to settle.
🔧 Yes. The effective source is filtered before it becomes the external modulation signal. Phase, FM, and PWM inject that signal at the carrier stage appropriate to the operation; AM and Ring Modulation use completed filtered endpoint outputs. The carrier retains its ordinary output filter. Fixed Reverse swaps the complete source/carrier roles.
No. They are current-session scratch memory.
🎹 Smooth for broad controlled material; Classic Waveforms for the cleanest reference; Cycle-coherent random for broader wavetable-oriented sources.
Hidden compatibility identities are not ordinary user-facing features. The manual describes them only where they affect import, deterministic reconstruction, or compatibility.
🔧 Yes. Public v2.9c/schema-12 used a periodic Drawn table containing 256 internal cycle samples. v3 migrates that historical table to 512 with cyclic linear 2× interpolation, preserving every old sample exactly at an even destination index. This compatibility rule is separate from new schema-13 linear / steps authoring semantics.
🔧 They define how a schema-13 numeric Drawn sequence whose length is not exactly 512 maps into the fixed 512-internal-cycle-sample Drawn table. linear connects evenly spaced control points from the first stored value to the last. Bare steps / steps=0 hold each supplied value exactly for an equal share of the cycle, so [1, -1] can produce a mathematically exact square wave.
Nonzero steps=N accepts finite signed floats in [-1,+1], keeps each authored state at the beginning of its ordinary Steps interval, and is deliberately a Steps-centred reciprocal spelling of intrinsically wrapped signed Power: where 1/N is finite, steps=N is exactly pow=1/N with wrap:true. Thus steps=-0.05 is wrapped pow=-20, while steps=+1 and steps=-1 both become linear. Exact steps=0 has no finite-Power equivalent.
Sequences longer than 512 authored values are accepted only for non-wrapped linear, where FWG treats them as a dense continuous contour and uses weighted-bin reduction rather than dropping most values. steps, wrapped linear, and the mathematical construction modes accept at most 512 authored values. Steps is intrinsically cyclic and therefore uses effective wrap:true; wrap:null means the ordinary default false only for topology-sensitive local modes where wrap is optional. Missing resample_mode defaults to linear.
See Drawn Waveform for the practical workflow and Drawn Mathematical Reference for the complete mode table.
🔧 The Cardinal family is stage-1 neighbour-aware cubic reconstruction from authored values: cardinal uses ordinary proportional admission if the sampled reconstruction exceeds ±1, cardinal-limit limits shared tangents so the continuous cubic stays inside the rails, and cardinal-clip deliberately hard-clips excursions.
Fourier can be used either as a direct periodic stage-1 reconstruction or as an optional stage-2 transform of the completed 512-internal-cycle-sample Drawn waveform. Haar and Walsh-Hadamard are transform-only. The shared transform selector language uses N for one component, -N for that component with coefficient polarity inverted, :B, A:, A:B, and comma unions. Fourier exposes components 0…256, Haar bands 0…9, and Walsh sequencies 0…511. A syntactically valid Fourier order that is unavailable in a smaller direct sparse Fourier input contributes zero rather than causing an import failure. See Drawn Mathematical Reference.
🎹 The mathematical construction is a formula and set of anchors supplied by the user. If you want to preserve that formula exactly for later reuse, keep the original formula JSON or a full sidecar while that pristine construction remains its authoritative Drawn representation. Standalone Export Drawn has a different purpose: it exports the current materialized 512-internal-cycle-sample waveform so the rendered result of the formula can be edited point by point. Once you begin editing those rendered points, the point data—not the original formula—is the waveform you are editing.
Documentation rule: The executable code is authoritative. This Wiki describes the supported Fractured Wavetable Generator v3.0 contract and workflows.
- Generator Families
- Classic Waveforms
- Classic Split
- Drawn Waveform
- Drawn Wave-Shape Recipes
- Source Taps and Routing
- Wavetable Types
- Modulation and Filter
- Pitch, MIDI, and Pitch Offset
- Source and Result Windows
- Visualisers
- Morph Render Modes
- Morph Curve and Cycle Stepping
- Phase-Coherent Mode
- Loop Safety and Table Safety
- Creating Wavetables
- Creating Samples, Drones, Hits, Transitions, and Multisamples
- MPC Wavetable Mode
- Installing and Auditioning on MPC
- Render and Export Settings
- Auditioning, Curation, and Building a Personal Library
- Saving, Loading, and JSON Sidecars
- Sharing and Cleaning JSON Sidecars
- Randomisation and Seeds
- Keyboard Shortcuts
- Browser Requirements and Performance
- Troubleshooting
- FAQ
- Glossary
- Compatibility and Versioning
- Version 3 Release Notes
- Drawn Mathematical Reference
- Signal Path and Core Concepts
- Meditations on the 512-Sample Core
- Scanning Generator Wrapper Architecture
- Deterministic Randomisation — Technical Reference
- Render Diagnostics and Support
- Proof of Zero Prior-Work Knowledge and Forensic Evidence
- Authenticating and Timestamping FWG Outputs
- License, Provenance, and Outputs