SSPACEAGEDOCUMENTATION/
DSP and Instruments

Native Synth Control Audit

Updated Aug 30, 2026   |   19.8 KB   |   docs/Synth_Control_Audit.md

2026-08-12 Rendered Factory-Bank Proof

  • I03-D renders every one of the 619 factory presets and requires recall, voice startup, sustained audibility, finite raw output, a peak below 2.0 with the Master limiter disabled, natural release, and a silent post-release tail.
  • I03-E fills the shared native pool to 48 voices and forces voice 49 for every native engine. Delayed notes are retired before audible notes, and output must remain finite and continuous while the target survives.
  • Automated proof does not certify taste, perceived loudness matching, or commercial preset quality; those remain named human-beta responsibilities.

Native Synth Control Audit

Last updated: 2026-08-11

Deterministic A-D slope recall

Every factory preset in Propulsion 1, Liftoff, Glass Moon, Moonshadow, and Lunacy now explicitly owns its A-D envelope slope. The factory-bank safety gate rejects presets that inherit a non-neutral slope from prior sound design, preventing a named preset from changing character according to edit history.

Filter bypass presentation

The generic synth, Redshift, Propulsion 1, Liftoff, Glass Moon, Moonshadow, and SoundFont editors now share a truthful bypass presentation. Selecting Off in FILTER TYPE dims only the controls whose DSP path is bypassed, including cutoff, resonance, filter envelopes, velocity-filter controls, and filter-LFO depth/rate where present. Values remain stored and become editable again when a filter mode is selected. The synth control quality gate verifies both disabled and restored states across all seven editors.

Fourth-path regression coverage

Register and chord identity

The factory-instrument gate now renders every native tonal engine at MIDI notes 48, 60, and 84, requiring each fundamental to remain within 35 cents of the expected pitch. It also requires a C-major chord to start three concurrent voices, remain finite and bounded, and release completely.

This proof caught Lunacy's generated grains restarting at unrelated oscillator phases, which produced a dominant low-register sideband roughly one semitone flat. Lunacy now uses a continuous voice oscillator phase for generated sources; grain windows and scan motion remain independent.

This closes the gap where an engine could be tuned correctly at A4 yet clamp, transpose, fall silent, or collapse polyphony elsewhere. Human listening remains necessary for aliasing, timbral balance, and musical usefulness.

Ordinary-range response

A separate mid-travel matrix now compares moderate settings rather than endpoints. Propulsion pulse width, Liftoff warp, Glass Moon brightness, Moonshadow tilt, Lunacy texture, Physical Model material, and TG-55 brightness all produce finite, audible, measurably different renders over practical working spans.

This closes the gap between "connected" and "usable." The endpoint matrix still guards the full expressive range, while the ordinary-range matrix catches future scaling changes that make most of a knob feel inert.

Distinct control paths

The automated native-synth gate now measures a fourth distinct audible path for every covered engine: Propulsion pulse width, Liftoff table motion, Glass Moon operator balance, Moonshadow spectral tilt, Lunacy texture, Physical Model tension, and TG-55 motion.

These tests complement the existing filter, source, level, tuning, unison, warp, brightness, grain-size, damping, and character checks. Together they verify that each engine exposes several musically different controls whose extreme settings produce finite, non-silent, observably different audio.

The gate remains intentionally stricter than a pointer or UI-binding audit: the rendered waveform itself must change.

Product rule

A control is not considered working merely because its knob moves or its value persists. A shipping control must resolve to a registered parameter, reach the intended DSP path, create a finite audible result over a musically useful range, recall visibly with its patch, and participate in one-gesture Undo/Redo.

Controls that intentionally break harmonic tracking are allowed, but they must begin at a chord-safe value and identify themselves as advanced color controls. SpaceAge must not surprise a musician with inharmonic initialization.

Corrections completed in this audit

  • Replaced the older shared synth filter with the stable topology-preserving state-variable design already proven in Redshift. Propulsion 1, Liftoff, Glass Moon, Moonshadow, Lunacy, SoundFont, and other shared-filter engines now receive consistent low-pass, high-pass, and band-pass behavior.
  • Preserved true filter bypass: when Filter Type is Off, Cutoff and Resonance are intentionally inert.
  • Removed five abandoned Lunacy-local chorus/reverb parameters. Instrument patches no longer carry hidden local effects state; effects remain Mixer-owned.
  • Changed the generic harmonic-ratio default from 2.03 to the chord-safe integer 2.0.
  • Changed Moonshadow's unsaved initial Stretch and Inharmonicity values to zero.
  • Changed Lunacy's unsaved initial Pitch Spread to zero.
  • Added musically weighted knob ranges for generic harmonic ratio, Redshift oscillator ratio, Classic Machines FM ratio, and Lunacy pitch spread so the useful lower region receives more physical travel.
  • Added explicit advanced-control guidance to Redshift, Glass Moon, Moonshadow, Lunacy, and Classic Machines.
  • Removed the generic Synth page's inert PHYSICAL MODEL control. It had persisted and recalled a value but had no audio consumer; the dedicated Physical Model engine remains fully available.
  • Removed the hidden legacy Mixer Strip Compressor Amount parameter and its unused widget. The working compressor remains defined by Enable, Threshold, Ratio, Attack, Release, and Makeup.

Engine audit map

Engine Core tonal path Advanced color controls Automated audible proof
Redshift Independent oscillators, sub, noise, ADSR, filter, drive, vibrato, spread, shape Non-integer Osc 2 Ratio, Metal Shimmer/Spread, X-Mod Filter bypass/modes, 12 waveforms, Osc 2 independence, shape, drive, spread, ratio default
Propulsion 1 Three oscillators with integer octave/semitone tuning, levels, pan, pulse width, unison, filter, envelope Fine tuning and large unison detune Oscillator 2 level plus shared-filter response
Liftoff Two wavetable oscillators, integer tuning, level, sub, warp, motion, envelope, filter User tables, fine tuning, spectral warp at extremes Oscillator 2 level plus shared-filter path
Glass Moon Four-operator FM, integer-ratio defaults, velocity/envelopes, filter Fixed-frequency mode, fine tuning, non-integer ratios, feedback Feedback plus shared-filter path
Moonshadow Harmonic spectral model, tilt, brightness, envelope, filter Stretch and Inharmonicity Stretch plus shared-filter path; both advanced defaults forced to zero
Lunacy Grain source, position, size, density, texture, envelope, filter Pitch Spread, extreme motion/density Pitch control plus shared-filter path; Pitch Spread default forced to zero
Physical Model Tuned membrane, plate, bar, string, tube, bell, Karplus-Strong, bass guitar Extreme material/tension combinations Material response
TG-55 Preset model, cutoff, resonance, attack/release, character, brightness, motion Character and motion at extremes Brightness response
SoundFont Source preset, transpose, ADSR, filter, velocity filter, LFO, vibrato Source-dependent generator behavior Shared-filter path and existing asset-backed smoke tests
Kick/Snare/Hat Labs Tuned body, transient, noise, decay, filtering, drive, Flux Nodes Deliberate metallic/noise/random ranges Existing Flux/render and audio-safety gates

Tonal-safety categories

Core tonal

Pitch in semitones/octaves, integer frequency ratios, oscillator levels, ADSR, ordinary filter controls, velocity response, vibrato, gain, pan, and waveform selection. Defaults must work in A440-based harmony.

Advanced but valid

Cross-modulation, inharmonicity, spectral stretch, non-integer FM ratios, fixed-frequency FM, metallic partial spread, grain pitch spread, large unison detune, and extreme randomization. These are valuable for percussion, drones, effects, and experimental timbres. They are not ordinary chord-safe controls.

Removed as vestigial

Lunacy Chorus Mix/Rate/Depth and Lunacy Reverb Mix/Size. They were registered project parameters but were neither part of the current editor nor the intended Mixer-owned effects architecture.

Generic Synth Physical Model Mix and Mixer Strip Compressor Amount. Both were registered but had no runtime audio read. They were removed rather than retained as misleading state; the dedicated Physical Model engine and complete channel compressor are unaffected.

Automated evidence

The SYNTH_CONTROL_QUALITY gate now proves:

  • 710 visible native parameter controls remain contained, usable, keyboard-focusable, readable, Undo-aware, and attached.
  • Redshift Cutoff is inert only when Filter Type is Off and strongly audible in active modes.
  • All twelve Redshift waveforms are finite, audible, and substantially distinct.
  • Propulsion 1, Liftoff, Glass Moon, Moonshadow, Lunacy, Physical Model, and TG-55 each produce measured finite changes from four distinct synthesis paths rather than one representative knob.
  • The second-path matrix covers source waveform or wavetable choice, FM algorithm, spectral model, granular source, physical pitch, and TG-55 output level in addition to the original level, feedback, stretch, pitch, material, and brightness checks.
  • A third independent matrix measures Propulsion unison, Liftoff spectral warp, Glass Moon brightness, Moonshadow brightness, Lunacy grain size, Physical Model damping, and TG-55 character. This protects musically useful travel in controls that could otherwise remain technically connected yet practically ineffective.
  • A fourth independent matrix measures Propulsion pulse width, Liftoff table motion, Glass Moon operator balance, Moonshadow tilt, Lunacy texture, Physical Model tension, and TG-55 motion.
  • A separate moderate-range matrix proves useful movement inside ordinary control travel instead of relying on endpoint-only differences.
  • The shared filter bypass and low-pass response are measured, not inferred.
  • Harmonic Ratio, Redshift Osc 2 Ratio, Moonshadow Stretch/Inharmonicity, and Lunacy Pitch Spread retain chord-safe startup defaults.
  • The retired modelmix and stripcomp parameters are absent from the parameter tree, preventing hidden inert state from returning.

Honest remaining work

This pass does not claim that automated metrics can judge every control's musical taste. Human audition must still sweep each engine in low, middle, and high registers; test chords and single notes; judge useful knob travel; compare loudness across presets; and decide whether advanced controls are placed clearly enough. Any control that cannot survive that pass should be repaired, moved behind an Advanced view, or removed.

Context-aware control proof

The audible regression now proves eight controls whose meaning cannot be judged by a generic mono A/B render:

  • Classic Machines FM Amount inside an FM Perc model.
  • Physical Model Strike inside a plucked bass model.
  • Propulsion oscillator pan by requiring left/right energy to reverse direction.
  • Liftoff oscillator position with table motion disabled.
  • Glass Moon fixed frequency inside Fixed Hz mode.
  • Moonshadow Attack Character through the first eight milliseconds of transient brightness.
  • Lunacy Freeze Scan with automatic position motion active.
  • TG-55 Cutoff through the model's internal filter macro.

All eight render finite, audible, measurably different output. This closes a gap where a valid control could appear dead because its required mode was inactive, or where a stereo/transient control could evade a steady mono measurement.

Customer-facing guidance now names Lunacy's toggle FREEZE SCAN so it does not promise frozen audio. Remaining human work is judgment rather than connectivity: confirm that Propulsion pan retains practical loudness, that Moonshadow attack remains useful across registers, and that Freeze Scan behaves musically over longer phrases.

Truthful mode, pan, and factory-recall contracts

The follow-up audit closed three cases where a working control could still teach the musician the wrong thing:

  • Propulsion now pans every oscillator through an independent constant-power stereo law. Pan no longer changes unison phase, contributes a second aggregate pan offset, or adds roughly 2.5 dB near the tested left/right positions.
  • TG-55 factory choices now recall a complete deterministic starting state. Cutoff, Resonance, Attack, Release, LFO Depth, Level, Character, Brightness, and Motion return to their neutral factory macro values instead of inheriting the previously edited sound. Saved user patches still preserve their edited state.
  • Classic Machines hides FM Ratio and FM Amount unless an FM model is selected. Glass Moon keeps both Ratio and Fixed Hz visible for orientation but disables the field that its current operator mode does not consume.

The context presentation refresh follows preset load, Undo/Redo, automation refresh, and model/mode selection. Inactive values are retained so changing modes is nondestructive.

Automated evidence

  • SYNTH_CONTROL_QUALITY passes with 698/698 active controls accessible, no undersized controls, truthful contextual presentation, all eight context-aware audio paths, and the Redshift filter/waveform suite.
  • Propulsion renders at left, center, and right must remain within 0.35 dB of center power, left/right must remain within 0.10 dB of each other, and measured stereo balance must track the requested pan within 0.05.
  • FACTORY_PRESET_SAFETY first contaminates every TG-55 macro, then verifies all 619 factory presets and the unchanged fingerprint 4d2ddc400437c5d6.
  • AUDIO_SAFETY_CONTINUITY, MIDI_HEALTH, and complete MIDI_CLOSEOUT pass after the changes.

Human audition still owns perceived pan smoothness and the musical usefulness of the neutral TG-55 macro values. No customer build was produced in this pass.

2026-08-27 Redshift Control Addendum

  • Tone Motion is independent for Cutoff, Resonance, Drive, Velocity Filter, Filter Envelope, Filter Decay, Bit Depth, and Rate Reduction.
  • Zero Depth must remain bit-for-practical-purpose neutral; opening a popup alone cannot change sound.
  • Main-knob ghosting reports authority, not popup visibility. Intermediate Depth retains manual control; full Depth disables the anchor knob.
  • Filter Slope applies to Low-pass and High-pass. Band-pass remains 12 dB and the UI now ghosts Slope in Band-pass rather than implying otherwise. Filter Model and Slope are also ghosted while Filter Type is Off, with stored values preserved.
  • Future single-cycle selections are oscillator controls. Each oscillator needs an independent library/category/wave selection, previous/next browsing, and a truthful missing-asset state. Changing Oscillator 1 must never rewrite Oscillator 2 or another Instrument instance.
  • Add automated checks for waveform selection independence, A440 pitch across MIDI range, mip-level transitions, save/reload, archive repair, finite output, and bounded CPU before single-cycle support is considered complete.
  • The initial built-in bank now supplies independent previous/next browsing for each oscillator. The focused audio gate covers all 20 choices, audible frame movement, oscillator independence, and ascending multi-bar durations. The broad synth suite's page-16 geometry failure was subsequently confirmed to belong to Propulsion 1, not 80s FM. Propulsion's oscillator controls now use a two-column by three-row responsive grid and meet the smaller target size.
  • Each oscillator now also has LIB and LOAD actions. LIB browses embedded AKWF categories and user-folder categories; LOAD selects an arbitrary file. Focused coverage proves embedded recall, external path recall, referenced-file collection, missing-file receipts, isolated repair, and stale-receipt rejection.
  • Interactive cycle decoding and table preparation now use one bounded background worker. Publication is generation-checked independently for every Instrument slot and oscillator, preventing a superseded slow request from arriving late.
  • The cycle library now maintains 24 recents and persistent favorites in a small atomic JSON file outside project state. Missing external shortcuts can be pruned without removing embedded AKWF entries; library bookkeeping never runs in the callback.
  • SEARCH ALL CYCLES filters the complete AKWF/user catalog by name or category in a virtualized result list. The control audit verifies filtering, empty results, selection callback, oscillator targeting, and minimum target sizes.

2026-08-30 80s FM Control Coverage

  • All ten 80s FM pages are now included in the native-synth responsive layout, interaction, and accessibility audit at 1800x1000 and 1100x800. They had previously been omitted from the route table entirely.
  • The complete 80s FM slider surface now follows the shared native-control convention for keyboard focus, velocity-sensitive dragging, readable values, titles, descriptions, and precision handling.
  • The expanded audit reports no 80s FM containment, target-size, label-clearance, interaction, or accessibility failure.
  • Follow-up work cleared the older failures exposed by the expanded audit: Propulsion now uses a responsive oscillator grid; Moonshadow derives compact row height from available space; Prismatic Temple's matrix header is width-aware; modulation-route selectors retain full target height; and the uncovered Redshift/Prismatic controls now follow the common interaction and undo conventions.
  • The focused native-synth layout gate now passes with 1,130 of 1,130 visible parameter controls accessible, zero undersized controls, zero label/control collisions, and all geometry, interaction, undo, and responsive checks green at both audited viewport sizes.

Drum Lab patch completeness - 2026-08-11

  • Kick Lab, Snare Lab, and Hat Lab user patches now own their full sound-design state, including excitation types, envelope/filter state, performance variation, choke/retrigger behavior, accent response, degradation controls, and Flux Nodes.
  • Mixer-owned gain, pan, EQ, inserts, routing, and sends remain excluded from instrument patch files.
  • A lifecycle regression proves hidden-state and Flux recall after deliberate contamination.

2026-08-11 - Deterministic all-native-engine factory recall

  • Every native factory bank now recalls from an explicit engine-owned and shared-signal-path baseline. Hidden envelope, filter, drive, degradation, dynamics, accent, performance, velocity, randomization, and other shared state cannot leak from the previously edited sound.
  • Every factory recall clears the Instrument's modulation routes. Kick Lab, Snare Lab, and Hat Lab additionally reset Flux so their named factory sounds cannot inherit a prior evolving variation state.
  • Factory recall preserves Mixer-owned gain, pan, mute, solo, output, EQ, channel processing, routing, and sends. Selecting a factory sound must not unmute or otherwise rewrite its routed Mixer channel.
  • Dormant source assets are preserved. Samples, bonus shots, and SoundFonts remain available while engine/source state decides whether they participate. Liftoff uses its primary source only when a User Source table is selected; Lunacy uses its primary source only when imported-source mode is active. Generated/native playback therefore remains single-voice without deleting the musician's assets.
  • FACTORY_PRESET_SAFETY covers all 619 native factory presets with hostile-state order-independence checks, modulation-route and Lab Flux cleanup, settled routed-Mixer sentinels, choke/retrigger preservation, and source-asset ownership assertions. SOURCE_CARDINALITY separately proves retained source assets stay dormant and each native/imported-source trigger allocates exactly one intended voice.