-
Notifications
You must be signed in to change notification settings - Fork 0
Calculators
Use Calculators when the arithmetic matters more than auditioning: wavetable geometry, duration, tempo, multisample zones, or the relationship among Root Frequency, Pitch Offset, and Nominal Frequency.
The calculators are side-effect-free until you deliberately publish a result with a button under Set Globally….
The tab can relate:
- frequency and musical note;
- WAV output sample rate;
- output PCM samples per nominal root cycle;
- nominal root cycles;
- total output PCM samples;
- duration;
- tempo and bars;
- estimated file size;
- simple multisample maps;
- Root Frequency, Pitch Offset, and Nominal Frequency.
🔧 Calculator fields update derived arithmetic while you type. Sound-producing numeric controls elsewhere generally wait for commit so incomplete digits do not rebuild/audition audio. Merely typing in Calculators changes no application state.
The shared status panel stays hidden until there is something meaningful to report.
The main render calculator relates Root Frequency, note, WAV output sample rate, output PCM samples per nominal root cycle, nominal root cycles, seconds, total output PCM samples, bit depth, and estimated file size.
🔧 The compact label Samples per Cycle means output PCM samples per nominal root cycle:
output PCM samples per nominal root cycle = WAV output sample rate ÷ Root Frequency
At 96 kHz:
| Output PCM samples per nominal root cycle | Root Frequency |
|---|---|
| 256 | 375 Hz |
| 512 | 187.5 Hz |
| 1024 | 93.75 Hz |
| 2048 | 46.875 Hz |
| 4096 | 23.4375 Hz |
| 8192 | 11.71875 Hz |
| 16384 | 5.859375 Hz |
256 remains a valid reduced-output-detail option for ordinary exports. It is below FWG's 512-internal-cycle-sample point count and is not an MPC Wavetable Mode geometry choice.
The 512–16384 targets mirror the actual MPC samples/cycle options and come from the same code-level option list so the interfaces cannot silently drift apart.
The visible Cycles field means nominal root cycles:
duration = nominal root cycles ÷ Root Frequency
Examples:
- 128 nominal root cycles at 64 Hz = 2 seconds.
- 128 nominal root cycles at 128 Hz = 1 second.
Buttons under Set Globally… deliberately publish selected pitch or Render Format values into FWG's persistent global defaults. Workspaces still obey their normal global/local synchronisation rules.
🔧 v3 has 512 internal cycle samples.
If export geometry also happens to produce 512 output PCM samples per nominal root cycle, the two point counts are numerically equal but remain different representations at different stages.
Higher output point counts describe the rendered/interpolated result with more output PCM samples and larger files. Lower output point counts use fewer output PCM samples. Neither changes the 512-internal-cycle-sample source/table domain.
See Meditations on the 512-Sample Core.
The Tempo calculator relates BPM, bars, beats per bar, duration, total output PCM samples, nominal root cycles, and estimated file size:
seconds = bars × beats per bar × 60 ÷ BPM
Its Set buttons can publish the calculated length as Seconds, Samples, or rounded Cycles.
🎹 The Multisample Planner estimates root-note spacing, root count, note names, and storage for a simple keyboard map. It is mainly useful for rendered WAVs that will be pitched across a sampler keyboard; a single-cycle wavetable normally lets the destination oscillator handle transposition.
This calculator solves any one of:
- Root Frequency (Hz);
- Pitch Offset (cents);
- Nominal Frequency (Hz)
from the other two.
Nominal Frequency = Root Frequency × 2^(Pitch Offset ÷ 1200)
Pitch Offset = 1200 × log2(Nominal Frequency ÷ Root Frequency)
Root Frequency = Nominal Frequency ÷ 2^(Pitch Offset ÷ 1200)
Nominal Frequency is the oscillator rate after static Pitch Offset and before FM or other time-varying modulation. Root Frequency still owns Cycles length, Cycle-stepped boundaries, and Per Cycle cleanup geometry.
Choose Calculate Root Frequency, Calculate Pitch Offset, or Calculate Nominal Frequency.
The selected result is readonly and highlighted; the other two fields are inputs. Every valid keystroke recomputes the result, so the three populated fields never sit visibly out of agreement.
The local status shows Balanced when the equation is valid. Incomplete/invalid/unsupported combinations are red. An answer outside the supported FWG setting domain displays Out of Range instead of being silently clamped.
Very low frequencies are shown as ordinary decimal text rather than scientific notation. For example, a 1 Hz Root Frequency with a −24,000-cent Pitch Offset displays approximately 0.000000953674316406 Hz, not 9.5367e-7 Hz, so the value remains directly readable and copyable.
Explicit ▲/▼ buttons change editable values by one unit:
- Root Frequency: 1 Hz;
- Pitch Offset: 1 cent;
- Nominal Frequency: 1 Hz.
The readonly calculated field cannot be stepped until you choose another solve target.
Keyboard Arrow stepping follows FWG's general numeric rule: ±1 field unit, or ±10 with Shift, preserving fractional part and clamping to bounds. Pointer-held in-field buttons retain their own repeat behaviour.
The button includes the current persistent value, for example:
Use Global Root Frequency – 1234.56Hz
Pressing it copies that value into the calculator only.
- If Calculate Pitch Offset or Calculate Nominal Frequency is selected, that mode stays selected.
- If Calculate Root Frequency is selected, FWG switches to Calculate Nominal Frequency because the imported global root has become authoritative input.
Root Frequency cannot remain blank. Leaving an emptied editable Root field restores its last valid value, or the current global root when no suitable local value exists.
🎹 Use it for:
- planning a target synth's output PCM samples per wavetable frame;
- exact MPC single-cycle geometry;
- matching tempo/bar lengths;
- estimating RAM/file size before a large batch;
- planning multisample roots;
- finding nearby equal-tempered notes;
- comparing 44.1-family and 48-family WAV output sample rates;
- converting cents to a target oscillator frequency;
- finding the Root Frequency required for a known Nominal Frequency and Pitch Offset.
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