SpaceAge Performance Optimization Rule And Impact Report
SpaceAge Performance Optimization Rule And Impact Report
Living engineering policy established 2026-08-24.
Redshift Representative Polyphony Matrix (2026-08-28)
- A dedicated Release fixture measures neutral, typical, and dense flagship-motion patches at 1/8/16/32 sustained voices, 48 kHz, and 512-sample blocks. Each row uses five runs and reports the median while verifying exact retained polyphony, finite output, and audible signal.
- Neutral measured
4.40 / 8.14 / 12.40 / 22.06%; typical measured5.19 / 12.81 / 21.47 / 38.78%; flagship motion measured6.53 / 25.05 / 46.77 / 90.52%for 1/8/16/32 voices respectively. - The dense profile intentionally combines two oscillators, spread, fold, x-mod, vibrato, filter envelope/velocity movement, and four active Tone Motion routes. Its 32-voice result is not comfortable production headroom. Optimization should prioritize dynamic filter/Tone Motion work that scales per voice, while retaining sample accuracy for stepped or fast routes.
- Audit correction: the existing custom-cycle fixture used the coalescing public trigger API repeatedly and could silently measure one voice. It now allocates test voices directly in explicit Poly/Gate mode with indefinite holds.
- The corrected complete gate measured optimized procedural/one-cycle/two-cycle
loads of
40.28 / 44.75 / 46.02%, versus exact-output reference loads of50.96 / 51.52 / 52.93%. Median paired ratios were0.788 / 0.867 / 0.871, showing approximately 13-21% lower callback cost for the optimized path under the now-valid sixteen-voice fixture.
Redshift Slow-Motion Interpolation Error Gate (2026-08-28)
- Production control-rate interpolation is enabled for the deliberately narrow eligible route set described below. The dedicated numerical and rendered-audio gate compares that path with exact audio-rate trajectory evaluation.
- Eligibility is deliberately narrow: derivative-smooth legacy sine loops and eased ping-pong curves at 1/16 note or slower. Square, random, Step Motion, MSEG, one-shots, discontinuous loop ramps, and sharper turning curves remain audio-rate.
- Across two full cycles at the fastest eligible 0.125-second duration, maximum
normalized errors were
0.00000250,0.00000900, and0.00003541for 4-, 8-, and 16-sample intervals. Eight samples is the initial implementation ceiling; sixteen is not justified merely because it also passed this curve-only threshold. - An earlier six-curve trial correctly failed: cubic and linear turning points
reached approximately
0.01596error at a 16-sample interval. Those shapes were excluded rather than weakening the gate. - The focused regression is available through the normal test runner as
REDSHIFT_MOTION_INTERPOLATION; it guards trajectory error, rendered output error, shared-route exactness, and a repeatable CPU improvement threshold. - The named gate was revalidated on 2026-08-29. Rendered relative RMS error was
0.000000988; the interpolated/exact CPU ratio was0.775, and the shared/reference ratio was0.546. These overload-level fixture figures are directional engineering measurements, not expected application CPU readings.
Redshift Host Timeline Capture (2026-08-28)
- Host transport metadata is queried once per audio block, never per voice or sample. All active Transport routes reuse the resulting immutable sample clock.
- Absolute sample position avoids a correcting phase accumulator and naturally handles seeks and loop returns. PPQ conversion occurs only when sample position is unavailable.
- Standalone and hosts without usable position data retain the existing internal elapsed clock. The complete focused Redshift gate and paired hot-path equivalence benchmark passed after the change.
Redshift Expanded Sync Vocabulary (2026-08-28)
- The expanded dotted, triplet, odd-length, and bar timing choices reuse the existing block-level tempo snapshot and constant index-to-step conversion.
- Long cycles do not add work proportional to their duration. The focused paired benchmark retained hot-path equivalence while every new mapping and all prior Tone Motion, transport, portamento, and persistence contracts passed.
Redshift Journey Summary UI Boundary (2026-08-28)
- The Tone Motion journey summary reads attached controls at 5 Hz only while its popup exists. It never runs on the audio thread and creates no automation.
- DSP remains the sole owner of motion trajectory evaluation; the summary only reports endpoint dwell, derived travel share, cycle, trigger, and cycle length.
Redshift Quantized Note Launch (2026-08-28)
- Beat/bar alignment is calculated once when a Note route retriggers or a Legato phrase begins. No modulo, tempo conversion, or grid search was added per sample.
- Rendering reuses the existing offset comparison. Immediate mode stores zero delay, preserving prior patches and version-1/version-2 Motion Blocks.
- The focused paired benchmark retained hot-path equivalence while exact beat, bar, immediate, and already-on-grid launch contracts passed.
Redshift Step Motion Parameter-Count Avoidance (2026-08-28)
- Step values use one bounded route snapshot instead of 128 additional ordinary parameters per instrument slot. This avoids multiplying parameter construction, lookup, state, and host-enumeration cost across the application.
- The evaluator uses a fixed 16-float array and bounded index arithmetic with no allocation, locks, randomness, or state mutation. Its focused contract passed while the paired Redshift hot path remained equivalent.
Redshift Step Motion Immutable State (2026-08-28)
- Untouched routes remain null and allocate nothing. Editing creates one bounded pattern snapshot and publishes it atomically outside rendering.
- Project serialization is sparse: only routes with published pattern state are written. Restore validates and clamps before publication.
- The new state contract passed while the paired Redshift CPU benchmark retained hot-path equivalence. Audio-route snapshot loading remains deferred until the editor and persistence formats are complete.
Redshift Step Motion Preset Serialization (2026-08-28)
- Patch and Motion Block parsing remains entirely on the message thread. It validates a bounded eight-route structure before publishing any snapshot.
- Sparse serialization writes only routes that have edited pattern state, including disabled patterns retained for later use; untouched and legacy routes publish no Step Motion objects. The audio callback performs no JSON, file, or validation work.
- The focused Redshift gate retained hot-path equivalence after current and legacy Motion Block persistence checks were added.
Redshift Step Motion Audio Path (2026-08-28)
- Pattern pointers are acquired once per block for Redshift slots. The renderer performs no atomic shared-pointer operation, allocation, lock, or state parsing.
- Inactive/null patterns retain the continuous trajectory path. Enabled patterns add only bounded indexing, deterministic probability hashing, and optional interpolation for routes already paying active Tone Motion cost.
- Audible Step Motion and all prior Redshift contracts passed while the paired CPU benchmark retained hot-path equivalence.
Redshift Step Motion Editor Boundary (2026-08-28)
- The popup publishes a complete fixed-size pattern only when a control changes. No UI timer writes pattern state and no step is represented as a continuously polled host parameter.
- The audio path remains the previously verified once-per-block snapshot read. Opening or editing the popup adds no filesystem, parsing, allocation, or lock work to the callback.
- Release compilation and the complete focused Redshift gate passed with audible Step Motion, persistence, destination isolation, and hot-path equivalence intact.
Redshift Step Motion Factory Shapes (2026-08-28)
- Seven factory shapes are generated only when selected in the popup. They use a fixed 16-value object and publish through the existing immutable route boundary.
- No factory name or generator runs in the audio callback. Once applied, playback sees the same ordinary Step Motion snapshot as a hand-drawn pattern.
- Exact ramp endpoints, pulse/accent counts, rise/fall values, invalid selection, and the complete Redshift gate passed with hot-path equivalence intact.
Shared MSEG Prepared Evaluation Boundary (2026-08-28)
- The first MSEG core uses fixed arrays for at most 16 points and performs no allocation, locking, state mutation, GUI access, or file work.
- Safe validation is separate from
evaluatePrepared; a future route can reject malformed curves when publishing and avoid rescanning all points per sample. - No route is active at this checkpoint, so existing projects incur zero new callback work. The complete focused Redshift gate retained hot-path equivalence.
Shared MSEG Playback Mapping (2026-08-28)
- Loop and release helpers are stateless and operate on fixed prepared data. Voices will own elapsed clocks and one captured release value rather than allocating a playback object or mutating the shared curve.
- Forward loops use one bounded remainder; Ping-Pong adds one reflection. One-shot paths clamp directly. Release evaluation scans no more than 15 segments and preserves the exact captured value at phase zero.
- MSEG remains disconnected from production routes, adding zero callback work.
The focused gate passed
msegPlayback=1with Redshift hot-path equivalence.
Redshift MSEG Immutable State (2026-08-28)
- Untouched instrument/destination pairs retain null pointers and allocate no route object. Editing publishes one bounded immutable snapshot outside audio.
- Project serialization is sparse and lane snapshots share immutable ownership; no curve vector, parser, lock, or project object is introduced to rendering.
- MSEG is still absent from the prepared Redshift controls, so this checkpoint
adds zero callback reads. The focused gate passed
msegState=1and retained optimized/reference hot-path equivalence.
Redshift MSEG Preset Serialization (2026-08-28)
- MSEG JSON creation, parsing, numeric validation, and schema migration occur only during user-initiated patch or Motion Block operations on the message thread.
- Tone Motion Block version 5 and Redshift patches write only published routes. Legacy loads clear route pointers without introducing compatibility branches to rendering. Malformed blocks are rejected before any state is changed.
- At this persistence checkpoint, MSEG remained absent from prepared audio controls. Current/legacy persistence and the complete focused gate passed with hot-path equivalence intact.
Redshift MSEG Audio Path (2026-08-28)
- Redshift acquires at most eight immutable MSEG pointers once per active source block alongside Step Motion snapshots. No shared-pointer operation, parser, allocation, lock, or validation occurs per voice or sample.
- Null and disabled routes retain the established continuous/Step Motion path. Active routes perform a bounded point scan and segment interpolation only for Tone destinations already paying active motion cost.
- Each voice adds eight capture flags and eight normalized release values; no
dynamic playback object is created. The focused gate passed
msegAudible=1while optimized/reference hot-path performance remained equivalent.
Redshift Portamento Prepared Journey (2026-08-28)
- Mode, direction, curve, and duration are resolved only when the note target changes. Tempo conversion and Rate interval scaling do not repeat per sample.
- Note-on, ordinary key-release return, and sustain-release return share one transition preparer, avoiding three drifting copies of the same setup work.
- A finite glide voice stores only its start, target, elapsed time, duration, curve, and active flag. Rendering performs bounded arithmetic and reaches the destination exactly; Off and direction-rejected transitions take the immediate path.
- Legacy patches retain the original coefficient path. Neutral patches add only the inactive branch and perform no glide trajectory work.
- Envelope Retrigger/Continue is decided once at note transition. It adds no per-sample branch or secondary envelope processor.
- Release compilation and the complete focused Redshift gate passed with
portamento=1and all existing paired CPU-equivalence contracts intact.
Redshift Tone Motion Block Non-Realtime Boundary (2026-08-28)
- Tone Motion Block parsing, validation, file browsing, and parameter application exist entirely in the editor/message-thread workflow.
- Saving and loading perform no audio-thread file access, JSON work, allocation, or synchronization. The renderer continues consuming its existing block-prepared parameter snapshot.
- Loading validates all 106 owned fields before sending the first parameter change, avoiding partial state and repeated recovery work after a bad file.
- Release compilation and the complete focused gate passed with
toneBlock=1and all prior sound, ownership, live-feedback, and paired CPU contracts intact.
Redshift Endpoint Hold Geometry (2026-08-28)
- Hold A and Hold B are clamped and prepared once per route at block boundaries. The audio path remaps the trajectory's existing normalized progress and creates no additional oscillator, envelope, allocation, lock, or parameter lookup.
- Routes with zero holds preserve prior travel and Skew geometry. Inactive routes remain skipped by the existing demand gate.
- The complete focused gate passed with
endpointHolds=1; paired CPU-equivalence, exact output, Motion Block, and all existing Redshift contracts remain intact.
Redshift Demand-Gated Live Motion Feedback (2026-08-28)
- Live Tone Motion feedback publishes one snapshot per active Redshift slot at audio-block boundaries. It performs no per-sample atomic traffic.
- Publication is enabled by editor lifetime. Closed editors, headless operation, and offline exports skip the voice scan and all feedback stores.
- The UI polls at its existing 20 Hz timer rate and repaints a knob only when its normalized marker position changes by more than 0.001. No extra UI timer exists.
- The complete focused gate passed with
liveMotion=1, all previous sound and ownership contracts, and paired CPU ratios within accepted bounds. No standalone percentage saving is claimed for a feature that is intentionally asleep in the benchmark's normal closed-editor path.
Redshift Note And Legato Motion Clock Gating (2026-08-28)
- Correct Note and Legato trigger semantics use separate per-voice clocks: every note-on restarts Note age, while overlapping notes preserve Legato phrase age.
- Block preparation records whether an active route needs either clock. A neutral patch performs neither per-sample increment; a patch using only one trigger advances only that trigger's clock.
- This avoids imposing the correctness feature on every Redshift voice. No broad percentage claim is made because the focused benchmark emphasizes oscillator and cycle rendering rather than dense Note/Legato route use.
- Release compilation and the complete focused gate passed with exact overlap semantics, all prior sound and persistence contracts, and paired CPU ratios remaining within the gate's accepted bounds.
Redshift Transport Motion Block Clock (2026-08-28)
- Tone Motion's
Transporttrigger now uses a dedicated internal-sequencer clock rather than sharing the lifetimeFreeclock. - The audio callback reads the atomic transport position once per block and adds the rendered block length once after processing. Per-sample positions are derived locally, avoiding an atomic load and increment for every rendered sample.
- Cost is constant per running audio block and independent of voice count or active route count. No percentage CPU reduction is claimed because this corrects trigger semantics while preventing the naive implementation from becoming a new burden.
- Release compilation and the complete focused Redshift gate passed, including the exact reset, advance, and freeze contract plus all existing waveform, motion, persistence, ownership, and paired CPU checks.
Redshift Static Band-Pass Gain Preparation (2026-08-27)
- Redshift now prepares the resonance-dependent band-pass output gain once per audio block when resonance is static.
- Static band-pass voices therefore avoid one square-root calculation per rendered sample. Resonance Tone Motion retains the original per-sample gain calculation so moving resonance remains sample-accurate.
- The focused Redshift gate passed its low-pass, high-pass, and band-pass mode comparisons, all motion and waveform checks, and exact reference/optimized render signatures.
- The general oscillator benchmark is not specific to band-pass filtering, so no percentage CPU claim is attached to this targeted saving.
Redshift Free-Running Motion-Clock Bypass (2026-08-27)
- Redshift now prepares whether any active Tone Motion route uses a global trigger or either active oscillator Pitch Motion route has Key Reset disabled.
- When no route needs that clock, voices skip the per-sample conversion of the shared render counter into seconds. Note-triggered motion continues to use voice age, and every active free-running route retains the existing clock.
- The focused Redshift gate passed all waveform, filter, oscillator tuning, Pitch Motion, Tone Motion, persistence, ownership, and exact render-signature checks.
- This run measured reference versus optimized CPU at 4.02% versus 3.94% for procedural oscillators and 4.03% versus 3.93% with one custom oscillator. The two-custom-oscillator case was effectively unchanged at 3.98% versus 3.99%, so this is recorded as a small neutral-route saving rather than a broad custom-cycle improvement.
Redshift Neutral Pitch-Motion Bypass (2026-08-27)
- Redshift now prepares one block-level flag indicating whether either oscillator Pitch Motion route has both a nonzero depth and a valid synchronized duration.
- When both routes are neutral, active voices skip the per-sample oscillator Pitch Motion route loop. Enabling either route retains the complete existing phase, shape, random, key-reset, and pitch conversion path.
- The focused Redshift gate passed all 20 waveforms, both oscillator tuning paths, all seven Pitch Motion shapes, Tone Motion, cycle persistence and ownership, and exact reference/optimized render-signature comparison.
- In this run, the neutral procedural benchmark measured 4.29% CPU on the reference path and 3.93% on the optimized path, approximately 8.3% lower. Custom-cycle timing varied between passes, so no broader CPU claim is made.
Private-Instrument Performance-Filter Preparation (2026-08-24)
- Private arrangement instrument slots now sample performance cutoff and prepare its filter coefficient once per audio block.
- Drum pads retain the per-sample realtime override path required for sample-accurate performance CC control.
- At 16 melodic voices and a 512-sample block, the neutral filter avoids 8,192 atomic reads; with the filter active it also avoids 8,192 sine/coefficient calculations.
- Host and UI automation on instrument lanes retains normal block-rate response.
Note-On Accent Control Latching (2026-08-24)
- Accent saturation, distortion, and boost gain are now captured when an accented voice starts, matching their musical role as hit-level articulation controls.
- The render loop no longer performs three atomic parameter reads and one decibel conversion for every sample of every accented voice.
- At 16 accented voices and a 512-sample block, this avoids 24,576 atomic reads and 8,192 gain conversions; changing Accent controls affects subsequent hits rather than reshaping one already sounding hit.
Per-Source Comb Delay Preparation (2026-08-24)
- Comb delay length is now derived once per source per audio block when Comb is active, instead of rereading base frequency and dividing sample rate inside every rendered voice sample.
- Comb automation retains block-rate response, matching the surrounding prepared voice controls.
- At 16 voices and a 512-sample block, one active Comb setting avoids up to 8,192 atomic parameter reads and floating-point divisions.
Route-Empty Echo Ray Sleep (2026-08-24)
- When Echo Ray is enabled but no drum, instrument, loop send, valid delay history, or active tail can feed it, the per-sample path now bypasses feedback, delay-time modulation, stereo, filtering, saturation, ducking, and return calculations.
- Control smoothers, LFO phase, drift phase, and random drift state continue advancing, so the first later send starts with the same free-running modulation behavior.
- Active routes and tails retain the complete existing sample path; the sleep branch applies only when the block's active-delay route list is empty.
Route-Aware Shared-Effect Tail Detection (2026-08-24)
- Enabled modulation and octave effects now scan their stereo send buffers for new input only when block-level routing discovery proves that a drum or instrument send may have written to them.
- Existing active tails still process and perform the post-process silence check, so chorus, flanger, phaser, tremolo, and octave decay behavior is unchanged.
- With four enabled-but-unused modulation effects plus octave, a 512-sample block avoids five full stereo magnitude scans, or up to 5,120 sample-magnitude checks.
Neutral Return, Bus, and Master Gain Fast Paths (2026-08-24)
- Echo Ray input/output, four drum buses, four instrument buses, master-compressor makeup, and master volume now assign exact unity directly at
0 dB. - A neutral project avoids 12 additional decibel-to-linear conversions per audio block.
- Non-neutral values and all smoother advancement remain unchanged, so automation and processor activation preserve their prior response.
Loop-Processor Block Preparation (2026-08-24)
- Loop-track compressor threshold, ratio, makeup, attack/release, gain boost, low-pass coefficient, saturation normalization, tape normalization/coefficient, and distortion scaling are now prepared once per track from the immutable playback snapshot.
- The previous path repeated decibel, exponential, logarithmic, sine, and normalization calculations for every rendered sample of every active loop.
- At eight active tracks and a 512-sample block, each affected control now performs at most eight preparations instead of up to 4,096, while the sample-by-sample nonlinear audio processing itself remains unchanged.
Idle MIDI Dispatcher Fast Exit (2026-08-24)
- The sample render loop now checks whether internal-expression or incoming-performance MIDI queues contain unread events before entering their dispatcher functions.
- An idle 512-sample block avoids 1,024 empty dispatcher calls; blocks containing MIDI retain the original per-sample queue checks and sample-accurate dispatch.
- Recording timestamps, direct-device input, host MIDI, and internal expression ordering are unchanged because only already-empty queues bypass the calls.
Disabled Mixer-EQ Sleep (2026-08-24)
- Disabled parametric, drum-strip, and instrument-strip EQ banks now clear their coefficients and filter states only on the enabled-to-disabled transition instead of rewriting already-empty state every block.
- Drum channels with both EQ banks disabled now bypass per-sample tail-state scans entirely; enabled banks still inspect their states so audible filter decay is preserved.
- With 64 drum channels and a 512-sample block, the default disabled configuration avoids 32,768 calls into the multi-state EQ tail scanner, in addition to the eliminated block-level clearing writes.
- Enabled EQ coefficient rebuilding remains unchanged so host and UI automation retain the existing block response.
Instrument-Send Block Snapshot (2026-08-24)
- All eight sends for all 64 instrument mixer channels are now sampled once per audio block and reused by delay preparation, shared-effect discovery, active-route selection, and sample rendering.
- This removes up to 576 duplicate atomic parameter reads per block while preserving immediate next-block control response.
- A single coherent snapshot also prevents different routing stages in one callback from observing different values during concurrent UI or host automation changes.
Unity Mixer-Gain Fast Paths (2026-08-24)
- Drum and instrument mixer gains now assign exact unity directly when their gain is the neutral
0 dB, avoiding repeated decibel-to-linear conversions. - In a 512-sample block, 64 neutral drum channels avoid 2,048 conversions at the existing 16-sample smoothing cadence; 64 neutral instrument channels avoid another 64 conversions per block.
- Non-unity gain values retain the original conversion and smoothing behavior, including automation response.
Disabled Drum-Strip Processor Sleep (2026-08-24)
- Drum-strip compressor and saturation controls are no longer read or smoothed every 16 samples while their processor is disabled.
- With both processors disabled on all 64 drum channels, this removes 512 parameter reads from every control slice, or 16,384 reads in a typical 512-sample audio block.
- Each processor wakes on its current parameter values when enabled, avoiding stale settings; subsequent active automation retains the existing 16-sample smoothing cadence.
- Enable-state checks remain live at the same cadence, so processor activation latency is unchanged.
Mixer Effect-Enable Read Consolidation (2026-08-24)
- Octave and four modulation-effect enable states are now sampled once per audio block and reused throughout buffer clearing, send discovery, reset, and routing preparation.
- The former Octave send scan reread one global parameter twice for each of 64 mixer channels; that repeated atomic work is gone.
- Modulation enable states no longer incur a second read later in the same callback, while effect disable transitions and tail resets retain their original order and behavior.
Neutral Shared-Control Fast Paths (2026-08-24)
- The common per-source preparation pass no longer performs decibel-to-linear or exponential envelope-slope conversions when Drive and ADSR Slope are at their neutral defaults.
- Neutral results are assigned directly (
1.0) and non-neutral patches retain the original calculations. - At 80 source slots, a default or lightly edited project avoids up to 160 transcendental conversions per audio block without changing trigger timing, automation response, or active-voice continuity.
- Dormant-source preparation remains a future architectural target. It was deliberately not skipped here because sequencer, pending UI, host MIDI, and direct MIDI notes can all begin later in the same callback; any broader skip must first publish a complete source-trigger intent mask.
Permanent Rule
SpaceAge must not knowingly leave a feature, engine, effect, mixer path, UI animation, file operation, or background task in an avoidably wasteful state.
Performance is part of feature correctness. Every addition must predict its likely CPU, memory, allocation, disk, and UI-thread costs before implementation; use an architecture that sleeps, caches, batches, bounds, or moves work off the audio thread where appropriate; and verify the implemented cost afterward. Optimization is continuous work, not a cleanup phase reserved for the end of development.
This rule does not authorize speculative micro-optimization that harms clarity, sound, interaction quality, or correctness. A change must be supported by code-path analysis, measurement, or a clear elimination of exact no-op work. Experiments that regress realistic timing must be rejected and recorded.
Required Feature Questions
Before approving a design or implementation, answer:
- What work scales with voices, Pads, lanes, channels, buses, effects, samples, display size, or project length?
- What happens when the feature is disabled, silent, hidden, stationary, or unused?
- Can constants and routing decisions be prepared once per block, control slice, asset load, or UI refresh instead of once per sample?
- Can tails sleep safely, and what exact wake and decay conditions preserve the sound?
- Does the audio callback allocate, lock, enumerate devices/files, format strings, or perform avoidable atomic/parameter reads?
- Does a new modulation, arp, unison, granular, spectral, FM, convolution, or physical-model feature multiply voice count or inner-loop work?
- Can expensive analysis, import, rendering, or preset preparation happen offline or on a bounded worker?
- What focused regression proves sound, automation, tails, routing, finite output, and performance?
- What realistic workload and target-machine measurement will confirm the prediction?
If these questions are unanswered, the feature is not ready to be called complete.
Acceptance Standard
- Build and measure Release code, with sample rate, block size, voices, trigger cadence, enabled effects, and run count stated.
- Prefer repeat runs and medians. One wall-clock result is not proof.
- Keep isolated DSP tests beside realistic whole-project tests.
- Verify disabled, silent, settled, moving-control, tail, and re-enabled states where applicable.
- Require finite audio, bounded peaks, correct routing, and audible control influence before accepting a CPU improvement.
- Reject changes that merely move cost elsewhere, increase idle work, damage first-use behavior, or make automation coarse.
- Preserve rejected experiments below so future work does not rediscover the same failure.
Current Impact Summary
The accepted optimization series from builds 0177 through 0188 reduced repeated control work, unnecessary effect processing, mixer routing overhead, and master-path no-ops. The most comparable early and best later whole-workload medians moved from about 712 ms to 668 ms, a roughly 6% relative improvement. Repeated measurements also showed substantial machine-load variance, so 668 ms is evidence of capability, not a guaranteed result for every run.
For a project that previously used 50% CPU and resembles the automated workload, the current ballpark is approximately 47%. Projects dominated by the optimized mixer, buses, shared effects, or disabled-effect states may improve more; projects dominated by untouched synth voice rendering may improve less. Only an A/B measurement of the same project on the same machine can establish its actual gain.
Dated Performance Baseline
The first baseline under this rule was captured on 2026-08-24 with the Release audio self-test at 48 kHz, 512-sample blocks, 224 measured blocks per run, and the median of five runs. The Arrangement contains three active drum engines plus the stated number of tonal lanes. These load percentages compare render time with the available real-time audio window; they are regression measurements, not readings from SpaceAge's displayed CPU meter.
| Effects profile | Tonal lanes | Median render time | Real-time load | Result |
|---|---|---|---|---|
| Dry | 1 | 335.418 ms | 14.0382% | Passed |
| Halostar | 5 | 949.033 ms | 39.7196% | Passed |
| Delay | 5 | 990.321 ms | 41.4476% | Passed |
| Chorus | 5 | 930.521 ms | 38.9448% | Passed |
| Dry | 5 | 925.653 ms | 38.7411% | Passed |
| Halostar + Delay + Chorus | 1 | 423.414 ms | 17.7210% | Passed |
| Halostar + Delay + Chorus | 5 | 1035.680 ms | 43.3461% | Passed |
In this snapshot, Delay is the largest isolated effect cost in the five-lane workload. Halostar adds about 0.98 percentage points over Dry, Delay adds about 2.71 points, Chorus adds about 0.20 points, and all three together add about 4.61 points. Five tonal lanes are not expected to cost five times as much as one because the fixed drums, routing, master path, and effects remain present in both cases; the measured Dry increase is about 2.76 times and the combined-effects increase is about 2.45 times.
Focused Effects Baseline
A dedicated post-0188 profile now isolates premium effect modes with eight repeatedly triggered drum Pads, 48 kHz, 512-sample blocks, 224 measured blocks, and five timing runs. Unrelated effects are explicitly disabled in every row. This is a diagnostic comparison rather than a hard CPU ceiling because sustained back-to-back profiles can expose machine temperature and scheduling drift.
| Profile | Initial load | Result |
|---|---|---|
| Dry, limiter off | 28.7130% | Passed |
| Dry, limiter on | 28.5106% | Passed |
| Halostar, no shimmer | 29.1117% | Passed |
| Halostar, shimmer | 29.2211% | Passed |
| Halostar, dual shimmer feedback | 29.8931% | Passed |
| EchoRay, basic | 32.8808% | Passed |
| EchoRay, modulated | 32.6291% | Passed |
| EchoRay, aged/noisy | 33.1213% | Passed |
| Eight drum channel strips | 30.2042% | Passed |
EchoRay is the largest isolated cost in this workload. The first targeted optimization preserves its free-running phase and random timing but skips modulation-waveform and flutter-sine evaluation when their depths are zero. The immediate follow-up measured the basic profile at 31.9509%, down from 32.8808%, while the modulated profile remained active at 32.3112%. A later sweep after the long signal contract ran hotter overall, so these values are retained as directional evidence rather than presented as an exact universal saving. The complete shared-effects signal contract passed after the change, including EchoRay tails, wet-only routing, character, brightness, stereo-link, and level behavior.
The second EchoRay pass separates fixed and moving delay timing. With modulation, flutter, drift, Haas timing, and unlinked stereo offset inactive, synchronized delay lengths are exact integer sample counts; this path now reads the circular buffer directly instead of performing two floating-point interpolations per active delay channel per sample. Moving and offset modes retain interpolation. The benchmark also accepts a profile-name filter so comparisons can run in fresh processes without accumulating heat from every unrelated effect row. On the same already-warm machine, isolated basic EchoRay repeated at 37.5349% and 37.4267%, while the interpolated modulated profile measured 37.8527%. These figures validate stable profile selection and preserved path separation, not an exact before/after percentage. The full shared-effects signal contract passed again after the direct-read change with EchoRay tails, control differences, and finite output intact.
Mixer And Drum-Pad Scaling
A dedicated sparse/dense gate now measures one, eight, 32, and 64 repeatedly triggered drum Pads, plus one audible Pad with processors enabled on the other 63 silent strips. The first full sweep measured 10.9254%, 32.4498%, 95.5406%, and 104.134% respectively. The 32- and 64-Pad rows are deliberate stress observations rather than hard pass/fail ceilings. They show that dense simultaneous drum rendering is currently voice-bound and that 64 continuously retriggered Pads can exceed real time on the reference machine.
The silent-strip profile exposed a separate avoidable cost. In paired fresh processes, one audible Pad measured 11.5296% and 11.2279%, while the same Pad plus 63 silent compressor/saturation/EQ strips measured 13.0841% and 13.3188%. Enabled strips were recomputing decibel conversions, exponentials, and saturation normalization every 16 samples even when controls were settled and no audio or tail existed.
Strip control smoothing still advances at the established rate, but DSP coefficients are now recalculated only when a smoothed control changes or a processor transitions to enabled. Afterward, paired one-Pad runs measured 11.0450% and 11.3206%; paired silent-strip runs measured 11.4868% and 11.5544%. The dormant-configuration tax fell from roughly 1.55-2.09 CPU percentage points to 0.23-0.44 points, approximately 75-89% less overhead. The full shared-effects signal contract passed, including alternate compressor, saturation, EQ, post-sum compression, and finite-output checks.
The first dense-voice audit found exact neutral-control work repeated for every rendered voice sample. Comb performed delay-index and pitch-derived lookup math even at zero amount; Transient evaluated an exponential before multiplying it by zero; and the voice Compressor evaluated saturation even though a zero mix returned the dry sample. These calculations now run only when their controls are nonzero. The Comb delay line continues recording and advancing while bypassed, preserving history if automation enables it later.
| Audible drum Pads | Before | After | Change |
|---|---|---|---|
| 1 | 10.9254% | 10.7288% | 1.8% lower measured load |
| 8 | 32.4498% | 30.4087% | 6.3% lower measured load |
| 32 | 95.5406% | 89.0324% | 6.8% lower measured load |
| 64 | 104.134% | 97.4506% | 6.4% lower measured load |
The 64-Pad stress row moved inside the real-time window in this follow-up. A focused signal regression confirmed that nonzero Comb, Transient, and Compressor controls still alter output, with difference RMS values of 0.0534532, 0.0271260, and 0.0471838 respectively. The broader native synth audibility sections also passed. Its combined UI-quality gate still reports pre-existing undersized Propulsion controls; that unrelated layout failure is not counted as acceptance evidence for this audio change.
The second dense-voice pass moved Pad-owned Drive, bit-depth levels, and crush rate out of the per-voice sample path. These values are now prepared once per source slot at audio-block start. The sample-timed performance filter remains uncached because incoming MIDI can change it within a block.
| Audible drum Pads | After neutral fast paths | After block-prepared controls | Additional change |
|---|---|---|---|
| 1 | 10.7288% | 10.4175% | 2.9% lower measured load |
| 8 | 30.4087% | 29.8026% | 2.0% lower measured load |
| 32 | 89.0324% | 87.4583% | 1.8% lower measured load |
| 64 | 97.4506% | 96.3987% | 1.1% lower measured load |
The focused signal contract was expanded to the block-prepared controls. Drive at 18 dB, 4-bit depth, and crush rate 8 produced difference RMS values of 0.0678135, 0.00293401, and 0.00491594 from the neutral render. Comb, Transient, and Compressor continued to pass in the same test.
The third dense-voice pass prepares Pad-owned envelope controls once per block: attack, hold, base decay, sustain, release, velocity-to-decay, trigger mode, and the ADSR slope exponent. Voice age, release age, velocity, random decay, and envelope state remain voice-specific. Kick and Snare body-decay paths also consume the prepared base decay and velocity amount.
| Audible drum Pads | After control cache | After envelope cache | Additional change |
|---|---|---|---|
| 1 | 10.4175% | 9.94364% | 4.5% lower measured load |
| 8 | 29.8026% | 28.9175% | 3.0% lower measured load |
| 32 | 87.4583% | 83.9741% | 4.0% lower measured load |
| 64 | 96.3987% | 90.3323% | 6.3% lower measured load |
Focused Attack, Decay, ADSR slope, and velocity-to-decay variants produced difference RMS values of 0.119513, 0.0814416, 0.0793474, and 0.0220299. The native patch lifecycle also passed, including complete Drum Lab parameter recall, source-backed engines, malformed-patch refusal, and Undo.
The fourth dense-voice pass prepares additional shared post-path controls once per block: velocity response, sample blend, click amount/type/pitch/length, Comb amount, Transient, and body Compressor. Drum Lab Flux retains its separate live variation inside each Lab renderer.
| Audible drum Pads | After envelope cache | After shared post cache | Additional change |
|---|---|---|---|
| 1 | 9.94364% | 9.9600% | Timing-equivalent |
| 8 | 28.9175% | 28.2824% | 2.2% lower measured load |
| 32 | 83.9741% | 82.8065% | 1.4% lower measured load |
| 64 | 90.3323% | 90.3378% | Timing-equivalent |
Focused click and velocity-response variants produced difference RMS values of 0.00629964 and 0.0217896. Drum Lab Flux/render passed for Kick, Snare, and Hat. The asset-backed SoundFont regression passed preset selection, audio, blend/filter behavior, ADSR, slope, release, save/restore, missing-asset rejection, and repair.
Drum Engine Profiles
The scaling gate now supports engine-specific eight-Pad profiles. The first isolated sweep measured Internal Engine at 29.0333%, Kick Lab at 24.5817%, Snare Lab at 25.0660%, and Hat Lab at 32.7802%. Hat Lab was the clear engine-specific hotspot.
Hat Lab calculated pitch-spread powers and a per-partial frequency every sample, but only used the result to advance phase2; Hat audio never read that state. Removing the dead update reduced the eight-Pad Hat profile to 25.5674%. The audit also established that Sweep Amount and Pitch Curve had therefore been consuming CPU without affecting output. Their six metallic phase multipliers are now computed once when a Hat voice starts, after its Flux values are chosen, and are used directly by the audible partials. The corrected audible path measured 24.4589%, about 25% below the original Hat profile and slightly lighter than the Kick/Snare rows in this snapshot.
The complete Drum Lab Flux/render contract passed afterward for Kick, Snare, and Hat, including bounded Flux values, state round-trip, progress, WAV rendering, reset, finite output, and audible peaks. A dedicated Sweep Amount/Pitch Curve influence assertion was added in the follow-up below.
That focused assertion is now implemented. Contrasting no-spread/linear-spread renders produced a difference RMS of 0.0112666, and contrasting linear/curved spread produced 0.00930847. Both controls are independently audible.
The follow-up Hat pass moves additional hit-owned values to voice initialization after Flux selection: base pitch, metallic/noise balance, metallic ratio, noise and metal decay coefficients, noise-filter coefficient, noise type, and transient amount. The renderer retains per-sample oscillator, envelope, filter-state, and noise evolution but no longer reloads and transforms these static hit choices. Eight Hat Lab Pads then measured 23.4620%, down from 24.4589% after the spread repair and 28.4% below the original 32.7802% profile. The spread assertion and complete Drum Lab Flux/render contract both passed again.
Future optimization work must rerun the relevant rows on the same machine and configuration. A result should be treated as improved only when repeated medians move favorably without losing finite output, audible signal, transport behavior, voice release, routing correctness, or control response.
Engine Baseline
The first engine audit was captured on 2026-08-24 in Release at 48 kHz and 512-sample blocks. The broad polyphonic test renders the same eight-note chord for five runs and reports the median against a 256 ms real-time window.
| Engine/profile | Median render time | Real-time load | Result |
|---|---|---|---|
| SoundFont sampler | 18.8240 ms | 7.3531% | Passed |
| Glass Moon | 20.9964 ms | 8.2017% | Passed |
| Redshift | 21.4138 ms | 8.3648% | Passed |
| Moonshadow, Normal 32 | 21.4972 ms | 8.3973% | Passed |
| Quasar sampler | 23.9726 ms | 9.3643% | Passed |
| Propulsion 1, 5x unison | 24.5856 ms | 9.6038% | Passed |
| Liftoff, 4x unison | 24.7090 ms | 9.6520% | Passed |
| Lunacy, Normal | 27.3958 ms | 10.7015% | Passed |
The dedicated FM comparison uses factory preset zero for each engine, a 30-second note duration, 48 warm-up blocks, 384 measured blocks per run, and the median of five runs. The benchmark now verifies the per-instrument active voice count both immediately after allocation and after warm-up; a timing row fails if requested polyphony silently collapses.
| Engine | 1 voice | 8 voices | 16 voices | 32 voices |
|---|---|---|---|---|
| Redshift | 9.1854% | 27.2316% | 48.0582% | 90.4762% |
| Glass Moon | 8.5211% | 22.6549% | 43.8738% | 72.9966% |
| 80s FM, light | 7.5419% | 13.9701% | 21.7908% | 35.3356% |
All twelve voice-scaling rows retained exactly the requested number of active voices and produced finite output. In this preset comparison, 80s FM is the least expensive engine at every measured polyphony. At 32 voices its measured load is about 48.4% of Glass Moon's and 39.1% of Redshift's.
The follow-up factory-patch complexity sweep keeps all six operators enabled and compares distinct algorithms, envelopes, and feedback settings. It measures the additional profiles at 8 and 32 voices while retaining the light profile above as the reference.
| 80s FM factory profile | Algorithm | 8 voices | 32 voices | Result |
|---|---|---|---|---|
| Light | 32 | 13.9701% | 35.3356% | Passed |
| Percussive | 5 | 12.9226% | 32.1281% | Passed |
| Pad | 27 | 14.3964% | 37.2815% | Passed |
| Feedback | 3 | 13.1565% | 32.1577% | Passed |
Every row retained the requested active voices and finite output. The Pad profile is the heaviest measured 80s FM factory case, but its 32-voice load is only about 1.95 percentage points above the Light profile. Feedback is not a dominant cost in this test. The renderer already avoids the sine/operator kernel below its envelope activity threshold while continuing the phase and envelope state needed for correct routing, releases, and operator re-enabling. The measured ceiling does not justify a riskier shortcut there.
The available Dexed library was inventoried read-only on 2026-08-24: 17,145 SysEx files, including 15,438 standard 4,104-byte 32-voice DX7 banks. Because a full sweep would be slow and noisy, the benchmark accepts an explicit cartridge path and samples fixed voices 1, 11, 21, and 32. Cartridge loading and parameter mapping complete before warm-up and are excluded from the timed audio section.
The first real-cartridge profile used Yamaha rom1a.syx from the Dexed Yamaha Black Boxes collection.
| Yamaha ROM1A voice | 8 voices | 32 voices | Result |
|---|---|---|---|
| 1 | 14.4102% | 37.6389% | Passed |
| 11 | 13.9759% | 36.0311% | Passed |
| 21 | 14.3680% | 36.0190% | Passed |
| 32 | 14.2782% | 37.4842% | Passed |
All imported profiles loaded successfully, retained exact requested polyphony through warm-up, and produced finite output. Their 32-voice range of 36.02% to 37.64% closely matches the factory Pad profile's 37.28%; this first Yamaha bank did not expose a hidden rendering-cost spike. A broader corpus should add banks only when they represent meaningfully different patch structures, rather than benchmarking thousands of near-duplicates.
Cartridge Browsing Latency
The first browser benchmark exposed a larger issue than SysEx parsing. Yamaha ROM1A setup took a median 0.3358 ms, but selecting all 32 voices took 6977.62 ms, or 218.051 ms per voice. Each selection reread and reparsed the bank and, more importantly, serialized a full-project Undo checkpoint even though only one instrument slot changed.
The optimized path retains the parsed bank while the cartridge is active and uses the processor's bounded instrument-slot Undo snapshot for patch recall. Direct imports still parse independently, changing cartridges replaces the cache, and Undo remains scoped to the edited instrument.
| Cartridge operation | Before | After | Change |
|---|---|---|---|
| Set up and parse ROM1A | 0.3358 ms | 0.2946 ms | Timing-equivalent; parsing was already cheap. |
| Browse all 32 voices | 6977.62 ms | 327.946 ms | 95.3% faster. |
| Average recall per voice | 218.051 ms | 10.2483 ms | 95.3% faster. |
The focused browser benchmark and the existing DX7 bank/single-voice import regression both passed after the change. Bank import, mapped parameters, persistent browser selection, and single-voice import remain intact. This result establishes a broader design rule: an edit affecting one Pad or instrument should not serialize the full project for Undo unless cross-project state genuinely changes.
Factory Preset Recall Latency
The follow-up Undo audit found the same full-project serialization pattern in every native factory Engine recall. A Release benchmark alternates factory presets, measures five recalls per Engine, verifies visible controls, and requires Undo to succeed after every recall.
| Engine | Before | After | Improvement |
|---|---|---|---|
| Internal Engine | 199.781 ms | 11.1474 ms | 94.4% |
| Classic Machines | 189.775 ms | 12.7070 ms | 93.3% |
| Physical Model | 189.841 ms | 9.9940 ms | 94.7% |
| Redshift | 196.637 ms | 8.6881 ms | 95.6% |
| Kick Lab | 197.136 ms | 10.0725 ms | 94.9% |
| Snare Lab | 197.108 ms | 9.0230 ms | 95.4% |
| Hat Lab | 208.473 ms | 8.6284 ms | 95.9% |
| Propulsion 1 | 273.680 ms | 11.9592 ms | 95.6% |
| Liftoff | 202.496 ms | 15.6218 ms | 92.3% |
| Glass Moon | 199.994 ms | 15.5806 ms | 92.2% |
| Moonshadow | 207.138 ms | 15.1306 ms | 92.7% |
| Lunacy | 198.559 ms | 14.7833 ms | 92.6% |
| TG-55 AWM2 | 197.332 ms | 9.8279 ms | 95.0% |
| 80s FM | 207.665 ms | 13.1947 ms | 93.6% |
All factory recalls now use instrument-scoped Undo snapshots. Mixer-owned state, lane identity, sample assets, hidden parameters, patch names, and Engine-specific controls remain covered by the factory bank safety contract. That contract passed all 629 presets after the change, with no semantic failures.
The preset inventory fingerprint had already become stale during earlier intended bank development. A controlled A/B routed the new checkpoint entry point through both full-project and scoped snapshots; both produced the identical current fingerprint 0fa9a7ef4bc0ae9c. The expected fingerprint was updated only after that equivalence test and the 629-preset semantic contract passed.
Prismatic Temple later added a real Custom / None starting-point state ahead of its nine factory initializers. The audible factory inventory remains 629 presets and passes its rendered-audio contract; the flagship rename intentionally moved the guarded inventory fingerprint to e8a20ceca076f791.
Prismatic Temple Flagship Motion
The former PCM-55 was renamed Prismatic Temple without changing its stable engine index or internal parameter IDs. Its Motion control now has one explicit task: four independent, sub-Hz pitch drifts spread across the Elements at a bounded maximum depth of approximately 12 cents around each Element's manual Fine tuning. A low-cost parabolic sine approximation avoids four additional transcendental calls per rendered sample. Patch Motion Depth remains an independent master scale for the pitch, filter, amplitude, and pan LFO assignments stored inside each Element; Motion no longer secretly scales those assignments or adds unrelated pan movement. Focused tests require exact neutral output at Motion zero, distinct Element phases and rates, audible movement, finite bounded output, and clean dense-voice behavior.
Internal Engine Block Preparation
The default Internal Engine profile exposed parameter loads and invariant transforms inside every voice sample. Oscillator-2 detune conversion, noise-filter coefficient generation, noise-decay scaling, oscillator selection, and stable oscillator/noise/metal values are now prepared once per source slot per audio block. Pitch bend, modulation-wheel vibrato, modulation routes, sweep progress, envelopes, and voice age remain live in the sample path.
The isolated eight-Pad Internal Engine profile fell from 29.0333% to 27.4452%, a 5.5% reduction for that workload. Native synth audibility and Redshift audio checks remained intact. The broader eight-Pad performance smoke passed at 31.1229% realtime load with 0% measured disabled-return overhead.
Kick Lab and Snare Lab Hit Preparation
Kick Lab and Snare Lab previously reloaded and Flux-clamped the same eighteen controls for every rendered sample. Their finalized Flux values, type selections, pitch controls, and metallic spread are now prepared once when each hit starts, matching Hat Lab's per-hit contract. Envelope terms that intentionally use the live unmodulated transient and compressor controls remain block-prepared and distinct from their Flux tone-stage counterparts.
| Profile | Before | After | Change |
|---|---|---|---|
| Eight Kick Lab Pads | 24.5817% | 22.7447% | 7.5% lower |
| Eight Snare Lab Pads | 25.0660% | 23.1116% | 7.8% lower |
The dedicated Drum Lab Flux/render regression passed for Kick, Snare, and Hat after the change. The broader performance smoke passed at 31.1106% realtime load with 0.0885% measured idle-return overhead.
Physical Model Modal Preparation
The first isolated profiles measured eight Classic Machine Pads at 19.1917% and eight Physical Model Pads at 30.7150%, making Physical Model the clear priority. Its membrane renderer recalculated one identical bloom exponential for each of six resonant modes per sample and repeatedly reconstructed stable modal ratios, damping rates, and gains.
Membrane bloom is now evaluated once per voice sample. Model controls, the six model-specific stretched ratios, six decay coefficients, six gains, and the specialized string decay are prepared once per source slot per audio block. Pitch bend and modulation-wheel vibrato remain live in the renderer.
The isolated eight-Pad Physical Model profile fell from 30.7150% to 23.3942%, a 23.8% reduction. The complete native synth audio smoke passed all 22 cases, including all Physical Model lifecycle behavior and 80s FM, and the corrected 16-engine registry assertion passed. The broader performance smoke passed at 31.3385% with 0% measured disabled-return overhead.
Classic Machines Block Preparation
Classic Machines began as a relatively light engine at 19.1917% for eight active Pads. Stable model controls, tuning ratio, envelope rates, drive and saturation terms, FM controls, and six metallic phase increments are now prepared once per source slot per audio block rather than reloaded or reconstructed for every voice sample.
The isolated eight-Pad profile fell to 18.6462%, a 2.8% reduction. The complete 629-preset rendered-audio gate passed with zero failures, covering every Classic Machines branch as well as the wider native bank. The broader performance smoke passed at 31.9962% with 0% measured disabled-return overhead; broad-smoke run-to-run movement is not used to inflate the isolated engine claim.
Native Engine Ranking and TG-55
The mixer scaling gate now includes isolated eight-Pad profiles for every native synthesis family. The first complete serial ranking measured Classic Machines 17.8337%, Physical Model 23.1995%, Kick Lab 23.4900%, Snare Lab 23.4971%, Hat Lab 23.8684%, Propulsion 23.9386%, Internal Engine 27.2280%, Lunacy 31.1379%, Liftoff 32.1112%, Glass Moon 32.6854%, Redshift 34.9218%, Moonshadow 37.0260%, 80s FM 42.0528%, and TG-55 70.2640%. This matrix identifies future work by measured cost rather than renderer size or intuition.
TG-55 was the clear outlier. Each active sample element recalculated three exponential envelope-rate scales per sample even though note, velocity, and attack scale were stable. Those values are now cached per element with live attack-scale change detection. Filter smoothing is prepared with sample-rate setup; filter drive normalization is prepared at voice start; and the state-variable filter's invariant normalization divisor and resonance compensation are cached at its existing 16-sample coefficient cadence. Pitch modulation now produces one shared ratio per element rather than one exponential per sample zone, including an exact unity shortcut. Static element gain and pan coefficients are prepared at voice start, while LFO and macro pan retain their dynamic path. The nine render controls are prepared once per block only for Pads assigned to TG-55 or carrying an active TG-55 voice.
The isolated eight-Pad TG-55 profile fell through 59.3551%, 58.0599%, 55.9280%, 53.8347%, and 52.5011% to 51.1935%, a combined 27.1% reduction. All nine TG-55 factory-category audio smoke cases passed with finite output and complete release after the zone/pan and filter passes, as did 80s FM and the complete 16-engine registry. An initial unconditional block-control cache raised unrelated workload cost; gating it by assignment or an active captured voice restored the broader performance smoke to 30.6555% with 0% measured disabled-return overhead while preserving sustaining TG-55 voices through engine changes.
Moonshadow Spectral Frame Preparation
Moonshadow rebuilt model selection, quality, spectral controls, tempo-synced vibrato settings, and up to nine model-specific stretched/inharmonic partial ratios for every voice sample. These values are now prepared once per block only for Pads assigned to Moonshadow or carrying a captured active Moonshadow voice. Spectral-envelope progression, motion, expression pitch, Nyquist handling, model-specific dynamic amplitude, noise, and oscillator phase remain in the sample path.
The isolated eight-Pad Moonshadow profile fell from 37.0260% to 31.0703%, a 16.1% reduction. Propulsion, used as an unrelated-renderer control after an edit-context correction, retained identical peak output and remained in its established performance neighborhood. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 31.0250% with 0.0488% measured idle-return overhead.
Redshift Selective Waveform Rendering
Redshift's oscillator helper eagerly calculated sine, triangle, PolyBLEP saw, and PolyBLEP square for every oscillator call before selecting one waveform. The renderer now evaluates only the selected waveform and the component waveforms required by explicit morph modes. Each waveform retains its prior formula and anti-aliasing path.
The isolated eight-Pad Redshift profile fell from 34.9218% to 31.7518%, a 9.1% reduction. A new focused SPACEAGE_REDSHIFT_FILTER_ONLY gate separates DSP verification from the known Propulsion UI geometry failures in the broader synth-control gate. It passed all twelve waveforms, filter modes, oscillator 2, shape, drive, spread, and default-ratio checks. The broader performance smoke passed at 31.8585% with 0.0537% measured idle-return overhead.
Glass Moon Operator-Control Preparation
Glass Moon reloaded and sanitized its algorithm, brightness, feedback, vibrato, pitch, and forty operator controls for every active voice sample. It also recalculated four fine-tune exponentials per voice sample. These stable values and their derived modulation, feedback, and fine-tune multipliers are now prepared once per block only for Pads assigned to Glass Moon or carrying an active captured Glass Moon voice. Voice age, random decay, velocity, expression, phase, feedback history, and envelopes remain in the sample path.
The isolated eight-Pad Glass Moon profile fell from 32.6854% to 26.5598%, an 18.7% reduction. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 33.3967% with 0.2968% measured disabled-return overhead.
Lunacy Grain-Control Preparation
Lunacy reloaded and sanitized its source, quality, grain geometry, texture, motion, freeze/reverse, LFO, vibrato, pitch, and source-root controls for every active voice sample. It also rebuilt its quality-dependent grain limit, tempo-synced vibrato rate, and texture-dependent smoothing coefficient in that path. These values are now prepared once per block only for Pads assigned to Lunacy or carrying an active captured Lunacy voice. Grain scheduling, randomized launch values, per-grain windows and source scans, LFO motion, expression pitch, and sample playback remain live.
The fresh isolated eight-Pad Lunacy profile fell from 32.6601% to 27.7504%, a 15.0% reduction. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 31.8485% with 0.0241% measured idle-return overhead.
Liftoff Unison/Tuning Preparation
Liftoff reloaded oscillator, unison, wavetable, warp, motion, source-root, sub, pitch, and vibrato controls for every active voice sample. More importantly, each oscillator/unison combination recalculated its pitch exponential in the inner sample loop, reaching sixteen repeated exponentials per voice sample at maximum unison. Oscillator transposition and unison detune are now combined into prepared frequency multipliers. Warp normalization, source-root frequency, unison normalization, phase spread, and tempo-synced vibrato are also prepared once per block only for Pads assigned to Liftoff or carrying an active captured Liftoff voice. Voice expression, vibrato phase, wavetable motion, mip selection, noise, oscillator phase, and user-source sampling remain live.
The fresh isolated eight-Pad Liftoff profile fell from 32.1758% to 24.9319%, a 22.5% reduction, while its profile peak remained exactly 2.22555. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 29.3257% with 0.0611% measured idle-return overhead.
Propulsion Unison/Stereo Preparation
Propulsion reloaded three oscillators' waveform, tuning, level, pan, pulse width, unison, pitch, and vibrato controls for every active voice sample. At maximum unison it also recalculated twenty-four pitch exponentials, oscillator pan square roots, unison compensation, and output normalization in that path. Oscillator transposition and unison detune are now prepared as frequency multipliers, with phase spread and stereo gain coefficients prepared once per block only for Pads assigned to Propulsion or carrying an active captured Propulsion voice. Expression pitch, vibrato phase, PolyBLEP correction, oscillator phase, and the existing noise sequence remain live.
The fresh isolated eight-Pad Propulsion profile fell from 22.0812% to 17.8622%, a 19.1% reduction, while its profile peak remained exactly 1.30604. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 28.1699% with 0.0078% measured idle-return overhead.
Hat Lab Hit-Preparation Completion
Hat Lab's earlier preparation pass left click controls, comb geometry, velocity gain, bite, drive conversion, saturation bias, and transient decay geometry in the per-sample renderer. These Flux-aware values are now finalized with the rest of the hit snapshot, preserving the existing per-hit Flux cadence and randomization. Age-dependent envelopes, noise/filter state, metallic phase, click waveform, and comb feedback remain live.
The fresh isolated eight-Pad Hat Lab profile fell from 20.6752% to 19.8226%, with a repeat at 19.9146%, confirming a roughly 3.7-4.1% reduction. All 22 native synth smoke cases and the 16-engine registry passed. The broader performance smoke passed at 27.9043% with 0.0119% measured idle-return overhead.
SoundFont Stable Controls and Pitch-Wheel Changes
The SoundFont renderer converted gain, sanitized vibrato controls, resolved tempo sync, and called TinySoundFont's pitch-wheel setter for every voice sample. Gain and vibrato settings are now prepared once per block only for Pads assigned to SoundFont or carrying an active captured SoundFont voice. Each voice remembers its last quantized pitch-wheel value, so the library receives an update on the first sample and whenever vibrato, bend, or modulation changes it, but not repeatedly while it remains unchanged.
The generated-fixture eight-note benchmark measured 7.1118% before and 7.2011%/7.2497% in two post-change runs while all control engines also slowed, so no isolated percentage reduction is claimed. Relative SoundFont overhead versus the generated Quasar sampler narrowed from about 8.5% to 5.2-7.0%, consistent with a small saving hidden by TinySoundFont's dominant render cost and machine variance. The full asset-backed SoundFont regression, all 22 native synth smoke cases, and the 16-engine registry passed. The broader performance smoke passed at 27.7732% with 0% measured idle-return overhead.
80s FM Retrigger/Envelope Control Preparation
The sustained-polyphony benchmark showed that 80s FM's fixed-point operator kernel was not the primary source of its heavier eight-Pad result: 32 sustained voices remained around 24-30% depending on patch, while the retrigger-heavy eight-Pad workload reached 41.0188%. Newly started voices and 64-sample envelope frames repeatedly loaded and converted each operator's velocity sensitivity, keyboard scaling, output level, rate scaling, amplitude-modulation sensitivity, enable state, and eight envelope parameters. These controls are now prepared once per block only for Pads assigned to 80s FM or carrying an active captured 80s FM voice. DX envelope, frequency, phase, feedback, routing, LFO, and controller arithmetic are unchanged.
The matched retrigger-heavy eight-Pad profile fell from 41.0188% to 37.4018%, an 8.8% reduction, while peak output remained exactly 0.551471. The complete sustained FM CPU matrix passed and remained in its established performance band after accounting for a slower control run. DX7 SysEx export/import round-trip, all 22 native synth smoke cases, and the 16-engine registry passed. The broader performance smoke passed at 28.6240% with 0.0042% measured idle-return overhead.
Redshift Block-Control Preparation
After selective waveform rendering, Redshift still loaded and sanitized its oscillator, tuning, vibrato, noise, metallic, folding, filter, and tempo-synced motion controls for every active voice sample. It also recalculated pitch ratios, normalization, resonance conversion, filter-envelope rate, and synchronized LFO angular rate in that inner path. These stable controls and derived values are now prepared once per block only for Pads assigned to Redshift or carrying an active captured Redshift voice. Oscillator phases, PolyBLEP correction, drift and cross-modulation motion, envelopes, noise and filter state, and dynamically modulated cutoff remain live.
Against the fresh 29.8004% eight-Pad Redshift baseline, matched runs measured 23.4182% and 23.3382%, confirming a 21.4-21.7% reduction. Peak output also remained within the established range, moving from 1.24807 to 1.15253/1.19528. The focused Redshift filter and oscillator gate passed all twelve waveforms, filter modes, oscillator 2, shape, drive, spread, and default-ratio checks. All 22 native synth smoke cases, the 16-engine registry, and the broader performance smoke passed; the latter measured 27.4079% with 0.0202% idle-return overhead.
Sample Playback Geometry and Fixed Tuning
Quasar and ordinary sample layers recalculated note-fixed pitch, source-rate conversion, sample start/end boundaries, and progress normalization for every voice sample. Voice initialization now snapshots those note-owned values after its sample or Quasar zone is selected. Pad pitch automation and MIDI pitch bend/mod-wheel vibrato remain live; their exponential is skipped only when their combined live offset is effectively zero. Interpolation, reverse playback, looping, fades, and sample position remain in the render path.
The fresh polyphonic Quasar fixture measured 14.1971% before the change and 6.8315%/6.9527% afterward, while its peak remained exactly 0.220925. The before run also contained an unrelated SoundFont timing spike, so the full apparent 51% reduction is not treated as a perfectly isolated estimate; the repeat-confirmed post-change range and removed per-sample exponential establish a substantial gain. Asset-backed Quasar load/audio/save/restore/repair, live asset retirement, audio safety and continuity, and the broad performance smoke all passed. The broad gate measured 27.9970% with 0.0457% idle-return overhead.
Shared Voice Gate and Post-Filter Preparation
The post-engine voice path reloaded gate depth/rate/pattern and filter envelope, velocity, cutoff, resonance, and two LFO families for every voice sample. It also rebuilt gate timing, pattern storage, resonance conversion, band gain, and synchronized filter-LFO angular rates in that path. These stable controls and derived values are now prepared once per block. Captured SoundFont voices retain their own LFO family if the selected Pad engine changes mid-note. Voice age, gate phase, modulation routes, cutoff modulation, filter coefficient/state, and audio-rate LFO phase remain live.
An initial eager version derived gate and filter values for every source slot even when both processors were neutral; it pushed the broad performance smoke to 30.9227% during a generally slower measurement session. That version was corrected so disabled gates and filters pay only their cheap enable reads. The tightened broad run measured 28.4613% with zero measured idle-return overhead, and the polyphonic matrix returned to its prior neighborhood. Because the machine speed moved materially across these runs, no isolated percentage reduction is claimed. Active Liftoff gate/filter audibility, Redshift filter behavior, real-time performance-filter publication, all 22 native synth smoke cases, the 16-engine registry, and broad performance passed.
Internal Engine Selective Component Rendering
The Internal Engine evaluated its harmonic and second-oscillator sines, noise-type/decay path, and six metallic-partial sines for every voice sample even when the corresponding output level or mix was zero. The renderer now evaluates only components that can reach the output. Oscillator phase, all six metallic phases, raw noise generation, and pink/low-pass noise state continue advancing while inaudible so later automation starts from the same history rather than restarting a component.
Against fresh 8/32/64-Pad baselines of 24.0462%, 69.5175%, and 75.6303%, repeat-confirmed results were 19.9315%, 52.1990%, and 53.7664%. That is a 17.1%, 24.9%, and 28.9% reduction respectively, with the increasing benefit matching active-voice scaling. The focused neutral-control signal gate passed all twelve component/post-control difference checks. All 22 native synth smoke cases, the 16-engine registry, audio safety and continuity, and broad performance passed. The broad gate measured 27.3506% with zero measured idle-return overhead.
Drum Bank Snapshot and Cache Publication
The four Drum banks already reuse the same 64 real-time Pad slots, so dormant banks add no audio-loop sources. Bank switching, however, allocated and replaced 64 large snapshot objects, copied every destination through the global clipboard, notified every Pad parameter even when unchanged, and rebuilt instrument caches. Snapshot storage is now reused, restores consume snapshots directly, and host/UI notifications are emitted only for values that actually differ. Snapshots also retain the immutable sample, SoundFont, and Quasar cache generations associated with their assets and atomically republish those generations on restore.
The original control-only round-trip fixture measured 403.163 ms per switch. After storage reuse and differential parameter publication, matched repeat runs measured 198.243 ms and 203.801 ms, a 49.5-50.8% reduction. A stronger sample-backed version of the gate now proves that Bank A publishes a sample resource, blank Bank B does not, and returning to A restores the exact original real-time cache generation; its later run measured 344.486 ms, which is recorded separately because it is not the same workload. Live sample/SoundFont/Quasar retirement, asset-backed Quasar playback, project persistence, and broad performance passed. The broad gate measured 24.8499% with zero measured idle-return overhead.
Stacked Effects and Settled EchoRay Controls
A new focused profile runs Halostar, EchoRay, and Chorus together across eight Pad sends so optimizations are judged under a realistic shared-return stack rather than only in isolated effects. It established a stable pre-change range of 28.2233-28.2725% load. EchoRay was still advancing nine settled smoothers for every audio sample; those controls are now read once per block when stable, while any active automation retains the original sample-accurate smoothing path.
Four repeat post-change runs measured 27.6621-28.0449%, with a median around 27.86%. Against the midpoint of the baseline range, this is a modest repeat-confirmed reduction of about 1.4%. The complete shared-effects signal gate passed, including EchoRay wet-only routing, delayed tails, control changes, stereo behavior, return silence, and finite output. The broad polyphonic matrix also passed, with its heaviest tested engine at 18.9075% in that run.
Live Chord Readout Idle Cache
The editor's 20 Hz timer rebuilt the live chord description on every tick. Even with no MIDI held, that path scanned all 128 note positions and created temporary note containers before discovering that the visible text was unchanged. The readout now caches both live-note masks plus key root, scale mode, and flat/sharp preference, and performs chord analysis only when one of those inputs changes.
A focused regression called the refresh path 64 times with unchanged state and confirmed zero additional chord analyses, then invalidated one cached input and confirmed exactly one analysis. This removes 19 redundant analyses per second during an ordinary idle second after the initial refresh. The broader primary-UI contract ran but retained unrelated existing layout/focus failures; the older chord-engine workflow gate terminated with a Windows stack-overflow code before reporting a result, so neither is claimed as passing evidence for this change.
Header Readout Change Detection
The editor's 20 Hz timer formatted and submitted transport time, bar/beat position, CPU text, CPU warning color, and idle Arranger status on every callback even when their displayed values were unchanged. Transport formatting is now keyed to absolute step and tempo. CPU formatting is keyed to the rounded value actually shown, and its color changes only when crossing the normal, warning, or danger bands. Arranger status still responds to rendering and hold-time transitions but avoids resubmitting identical text.
At idle, the two transport strings now format once after initialization instead of forty combined times per second. Stable CPU text and color similarly avoid repeated formatting and property updates. This is a structural UI-thread reduction rather than an audio-CPU percentage claim. The live-chord idle-cache gate and timer-sensitive project-load feedback contract both passed after the change.
Mixer Meter Visual-Silence Rest
Mixer meters were already updated only while a Mixer page was visible, but their exponential peak decay never reached exact zero. After any signal, every visible channel, bus, and Master meter could therefore continue requesting repaints for numerically nonzero values that mapped to no visible height. Meters now enter a no-work resting state after both inputs, levels, peaks, and clip hold settle. The cutoff is -60 dB, exactly matching the meter's existing lowest drawable value, so visible decay is unchanged.
The focused meter contract proves pristine silence requests no update, signal activates the meter, decay reaches exact zero, and subsequent silent updates remain asleep. Aligning rest with the visual floor reduced the fixture's decay-update tail from 752 to 447 timer ticks, a 40.6% reduction. The broader Mixer layout contract still reports a pre-existing narrow-viewport containment failure for modulation control 3 on all sixteen strips; meter readout, stereo behavior, send stacking, output naming, and panel coverage passed within that contract.
Event-Driven ADSR Display Animation
Seven ADSR displays each owned a permanent 30 Hz timer. Hidden Engine pages and fully settled curves therefore continued receiving timer callbacks for the entire editor lifetime. The displays now start their timer only after a visible slider or programmatic patch refresh, stop immediately when hidden, and stop again when the displayed slope reaches its target. Preset and other programmatic refresh paths use the same wake mechanism, so visible graphs still track non-gesture changes.
The focused contract confirmed that a hidden refresh leaves the timer stopped, a visible slope change starts it, and the animation reaches rest and stops after 27 frames. Native patch lifecycle and full native synth audibility passed. The broader synth-control quality contract retains unrelated existing geometry, target-size, interaction, and accessibility failures on 80s FM page 16; Redshift filter behavior, audibility, retired-parameter checks, patch identity, gesture Undo, and contextual presentation passed within that run.
Visibility-Driven Starfield Timers
The Effects and Library starfields already returned early from their 24 Hz callbacks while hidden, but both timers still woke the UI thread for every callback. Their timers now follow effective component visibility and parent attachment: showing a starfield starts animation, hiding or detaching it stops the timer completely, and a defensive hidden callback also stops itself.
The focused contract passed hidden startup, visible activation, hidden shutdown, reshow restart, and detached shutdown. This removes 48 timer wakeups per second on pages where neither starfield is visible, and 24 per second when either Effects or Library is visible. The broader primary-UI contract confirmed correct decorative backdrop layering and Effects behavior while retaining its previously recorded unrelated page/grid/focus failures.
MIDI Maps Polling Change Detection
Popup timer ownership was audited first. MIDI Health and SysEx Vault already compare snapshots before repainting, Automation only checks owner lifetime, Busy Overlay stops on hide, and callout-owned panels are destroyed on close. MIDI Maps was the exception: while open, its 8 Hz poll replaced the assignment vector, rebuilt the full dashboard, and repainted even when every mapping and controller value was unchanged.
MIDI Maps now compares the visual state that can change between polls, including live serial and values, pickup state, enable and resolution state, shared-source count, range, curve, inversion, and warnings. Unchanged polls return before vector replacement, dashboard construction, and repaint. This eliminates eight such update cycles per second while the popup is open and idle. MIDI live-input health and the full MIDI health gate passed, including timing, recording-queue warnings, Automation doorway behavior, and hardware-proof honesty.
Real-Time Allocation Audit and Idle Status Formatting
The audio callback was audited for recurring container and buffer allocation. It contains no ordinary per-block vector or string construction. Shared effect buffers are allocated during prepareToPlay; the callback's setSize calls are defensive capacity growth only when a host unexpectedly supplies a larger block than prepared. Explicit project edits still allocate where appropriate outside the audio callback.
The editor timer did still construct the idle Arranger status string 20 times per second before comparing it with the visible text. Status ownership now caches render percentage, chain slot, step, and the last timer-owned text, so formatting occurs only after those values change or another status message expires. Project-load feedback and the complete transport workflow passed, including temporary status holds, play/pause, playhead boundaries, loops, count-in, metronome, cancellation, and persistence.
Retired Instrument Asset Maintenance
Sample, SoundFont, and Quasar generations are retained when replaced while a voice still references them, correctly preventing use-after-free. Once the final old voice ended, however, that retired generation remained in memory until another asset publication happened to trigger reclamation. The editor now performs non-audio retirement maintenance once per second under the existing model locks. It removes only generations whose shared ownership proves no voice still uses them; mapped-file and SoundFont destruction remain outside the audio callback.
The strengthened retirement regression now drains the old voice and proves maintenance itself increases the relevant destruction counter before any dummy republish. It passed sample generations 82->85->86 and SoundFont generations 1->2->3, observed two mapped closes and 97 TinySoundFont closes across the full fixture, and kept callback lock/allocation/destruction/TinySoundFont-close/mapped-close counters at 0/0/0/0/0. Project-load feedback and audio safety/continuity also passed.
Background Worker Move Handoffs
Project-load, save, and Library workers were audited for peak-memory duplication. Prepared project snapshots already move across the worker result and share immutable asset storage during adoption, so no full-project copy was found. Library application did copy every scanned juce::File path from the worker vector into the UI list while both collections coexisted. It now consumes the result and moves each file entry after deriving its display label and selection match. Project-save completion is also a single-consumer move rather than copying its file/error result.
The Library contract confirmed background indexing, latest-request selection, and complete entry delivery; its existing compact action-state/accessibility failure remains unrelated. Project-load feedback passed. Full project persistence passed, including prepared adoption, malformed-input rejection, state preservation after failed loads/saves, independent Save As, overwrite, and background save. The broader golden lifecycle also passed configure/save/load/state/playback/export but retained a separate render-tail expectation failure.
Accepted Optimization Trace
| Build | Area | Accepted impact |
|---|---|---|
| 0177 | Shared effects | Established sleeping returns, stable-tail handling, and earlier EchoRay, Halostar, Octave, modulation, and send-routing reductions. |
| 0178 | Chorus, Flanger, Phaser | Stable controls process one full DSP block instead of sixteen 32-sample slices; moving controls retain sliced smoothing. |
| 0179 | Master volume and compressor | Settled master controls avoid repeated smoother bookkeeping; measured workload moved from about 712 ms to 683 ms in that comparison. |
| 0180 | Drum and Instrument buses | Solo state and bus gains are prepared once per block instead of recalculated per sample; measured workload moved from about 683 ms to 668 ms in that comparison. |
| 0181 | Instrument Mixer | Gain, pan, auto-pan choices, strip coefficients, sends, and bus routing are prepared outside the sample loop. |
| 0182 | Drum Mixer routing | Mute, solo, output, and bus decisions are block snapshots; multi-output bus inspection remains lazy. |
| 0183 | EchoRay disabled state | Disabled EchoRay skips per-sample control derivation while preserving free-running LFO timing. |
| 0184 | Halostar dormant shimmer | Halostar avoids octave pitch shifting when Shimmer and Shimmer Feedback are inactive. |
| 0185 | Halostar active shimmer | Shimmer with zero feedback skips feedback-state math that cannot contribute to output. |
| 0186 | Tremolo and Octave | Settled controls use stable-value paths; moving controls retain sample smoothing. |
| 0187 | Master unity gain | Settled 0.00 dB master volume is a true no-op instead of multiplying the output by 1.0. |
| 0188 | Disabled master limiter | Limiter-off output uses one contiguous sanitation/meter pass rather than linked limiter analysis and a second output pass. |
| Post-0188 | EchoRay zero-motion path | Preserves free-running timing while skipping modulation waveforms and flutter sine calculations that cannot affect delay time at zero depth. |
| Post-0188 | EchoRay fixed-timing reads | Uses exact circular-buffer reads for integer synchronized timing; moving, Haas, drift, flutter, and unlinked-offset modes retain interpolation. |
| Post-0188 | Settled drum-strip controls | Compressor and saturation coefficients update only for moving controls or enable transitions; silent configured strips no longer repeat expensive coefficient math every control slice. |
| Post-0188 | Neutral drum-voice controls | Zero Comb, Transient, and voice Compressor settings bypass calculations that cannot affect output while preserving Comb history for later automation. |
| Post-0188 | Block-prepared drum controls | Drive gain, bit-depth levels, and crush rate are prepared once per source slot per block instead of loaded and converted for every voice sample. |
| Post-0188 | Block-prepared voice envelopes | Pad envelope values and slope transforms are prepared once per block while velocity, randomization, age, and release state remain per voice. |
| Post-0188 | Block-prepared shared voice controls | Velocity response, sample blend, click controls, and neutral post controls are snapshotted per source slot while Drum Lab Flux remains live in its renderer. |
| Post-0188 | Hat Lab metallic spread | Removes a dead per-sample frequency update and prepares six audible Flux-aware phase multipliers once per Hat hit. |
| Post-0188 | Hat Lab hit preparation | Flux-aware pitch, balance, decay, noise-filter, type, and transient values are prepared once per hit instead of transformed every sample. |
| Post-0188 | Internal Engine block preparation | Stable oscillator, noise, metallic, and derived coefficient values are prepared once per block; isolated eight-Pad load fell from 29.0333% to 27.4452%. |
| Post-0188 | Kick/Snare Lab hit preparation | Eighteen Flux-aware controls and stable type/pitch values are finalized once per hit; isolated eight-Pad loads fell 7.5% for Kick and 7.8% for Snare. |
| Post-0188 | Physical Model modal preparation | Shared membrane bloom and six block-prepared modal coefficient sets reduced the isolated eight-Pad profile from 30.7150% to 23.3942%. |
| Post-0188 | Classic Machines block preparation | Stable model, tuning, envelope, saturation, FM, and metallic controls reduced the isolated eight-Pad profile from 19.1917% to 18.6462%. |
| Post-0188 | Native engine profile matrix | Added serial eight-Pad profiles for Redshift, Propulsion, Liftoff, Glass Moon, Moonshadow, Lunacy, TG-55, and 80s FM, exposing TG-55 as the 70.2640% outlier. |
| Post-0188 | TG-55 element/filter preparation | Cached settled envelope scales, filter invariants, shared zone pitch ratios, static pan/gain, and engine-gated block controls; isolated eight-Pad load fell from 70.2640% to 51.1935%. |
| Post-0188 | Moonshadow spectral frame | Engine-gated block preparation removes repeated spectral controls and partial geometry; isolated eight-Pad load fell from 37.0260% to 31.0703%. |
| Post-0188 | Redshift selective waveform rendering | Calculates only the selected oscillator waveform and required morph components; isolated eight-Pad load fell from 34.9218% to 31.7518%. |
| Post-0188 | Glass Moon operator-control preparation | Engine-gated block preparation removes repeated operator loads, sanitation, and fine-tune exponentials; isolated eight-Pad load fell from 32.6854% to 26.5598%. |
| Post-0188 | Lunacy grain-control preparation | Engine-gated block preparation removes repeated grain/source control loads, tempo conversion, and smoothing-coefficient work; fresh isolated eight-Pad load fell from 32.6601% to 27.7504%. |
| Post-0188 | Liftoff unison/tuning preparation | Prepared oscillator/unison frequency multipliers remove up to sixteen pitch exponentials per voice sample; fresh isolated eight-Pad load fell from 32.1758% to 24.9319%. |
| Post-0188 | Propulsion unison/stereo preparation | Prepared frequency multipliers and stereo coefficients remove up to twenty-four pitch exponentials plus repeated pan/normalization work per voice sample; fresh isolated eight-Pad load fell from 22.0812% to 17.8622%. |
| Post-0188 | Hat Lab hit-preparation completion | Finalizes remaining Flux-aware click, comb, drive, saturation, velocity, and transient values at hit start; fresh isolated eight-Pad load improved by a repeat-confirmed 3.7-4.1%. |
| Post-0188 | SoundFont stable controls/pitch wheel | Prepares gain and vibrato per block and sends TinySoundFont pitch-wheel updates only when the quantized value changes; absolute fixture timing was variance-bound, so no percentage reduction is claimed. |
| Post-0188 | 80s FM retrigger/envelope controls | Prepares 66 stable per-operator envelope/scaling values once per block instead of across newly started voices and control frames; retrigger-heavy eight-Pad load fell from 41.0188% to 37.4018%. |
| Post-0188 | Redshift block-control preparation | Prepares stable oscillator, tuning, vibrato, noise, metallic, fold, filter, and tempo-synced motion values once per block; fresh isolated eight-Pad load fell from 29.8004% to 23.4182%/23.3382%. |
| Post-0188 | Sample playback geometry/fixed tuning | Snapshots note-owned tuning, source-rate conversion, boundaries, and progress scaling at voice start; Quasar's polyphonic fixture measured 6.8315-6.9527% after a 14.1971% baseline run, with the baseline caveat documented above. |
| Post-0188 | Shared voice gate/post-filter preparation | Prepares stable gate timing/pattern and post-filter envelope, resonance, velocity, and LFO controls once per block, with neutral paths avoiding derived work; timing variance prevents an isolated percentage claim. |
| Post-0188 | Internal Engine selective components | Preserves phase/noise history while skipping inaudible harmonic, oscillator 2, noise-decay, and six-partial metallic waveform evaluation; repeat-confirmed 8/32/64-Pad loads fell 17.1%, 24.9%, and 28.9%. |
| Post-0188 | Drum bank snapshot/cache publication | Reuses snapshot storage, restores directly, publishes only changed parameters, and republishes bank-owned immutable asset caches; matched control-only switch latency fell from 403.163 ms to 198.243-203.801 ms. |
| Post-0188 | Stacked effects / settled EchoRay controls | Adds a Halostar + EchoRay + Chorus stack profile and reads nine stable EchoRay smoothers once per block while preserving per-sample automation; repeat load fell about 1.4%. |
| Post-0188 | Live chord readout idle cache | Keys chord analysis to note-mask and spelling-state changes; a focused regression proved 64 unchanged refreshes perform zero analyses and a changed input performs one. |
| Post-0188 | Header readout change detection | Formats transport labels and idle Arranger status only after their source state changes, and updates CPU text/color only after visible value or warning-band changes; timer-sensitive feedback tests passed. |
| Post-0188 | Mixer meter visual-silence rest | Stops meter state updates and repaints after levels and peaks fall below the existing -60 dB visual floor; focused decay work fell from 752 to 447 ticks. |
| Post-0188 | Event-driven ADSR animation | Replaces seven permanent 30 Hz display timers with visible-change wakeup and automatic rest; the focused animation settled and stopped after 27 frames. |
| Post-0188 | Visibility-driven starfields | Stops both 24 Hz decorative timers while their pages are hidden and restarts only the visible backdrop; focused lifecycle coverage passed. |
| Post-0188 | MIDI Maps polling change detection | Keeps the open popup's 8 Hz responsiveness but skips vector replacement, dashboard reconstruction, and repaint when mapping visual state is unchanged. |
| Post-0188 | Real-time allocation/status audit | Confirms ordinary audio blocks allocate no containers and removes twenty idle Arranger status-string constructions per second. |
| Post-0188 | Retired instrument asset maintenance | Reclaims drained sample, SoundFont, and Quasar generations within the editor's one-second maintenance interval without destruction or locking on the audio callback. |
| Post-0188 | Background worker move handoffs | Moves Library file metadata and save completion results into their single consumer; prepared project snapshots were confirmed already move/shared rather than fully copied. |
| Post-0188 | Native sample-render memory | Reuses one 512-sample work buffer and normalizes/writes the retained range in place; worst-case 12-second stereo audio-buffer storage falls from about 9.22 MB to 4.61 MB and work-buffer allocations fall from as many as 1,125 to one. |
| Post-0188 | Arrangement render streaming | Confirms full mixes and stems stream in bounded 512-sample blocks and reuses one work buffer/MIDI container across the complete musical and tail phases. |
| Post-0188 | Portable project archive memory | Moves the one-shot production snapshot into export remapping and removes three redundant full-project file rereads during import validation; large audio and Quasar payloads remain file-streamed. |
| Post-0188 | Quasar long-zone memory | Memory-maps WAV/AIFF zones longer than ten seconds with decoded fallback for short/unsupported assets; eligible zones no longer require permanent decoded-float allocation. |
| Post-0188 | SoundFont prepared-pool sizing | Sizes each of 48 allocation-free note instances to the preset's true maximum region overlap instead of always reserving 32 internal voices. |
| Post-0188 | Large-asset process-memory profile | Adds a repeatable private-memory gate around SoundFont load, live-generation replacement, and maintenance reclamation; a 3.82 MiB fixture measured +7.65 MiB per decoded generation. |
| Post-0188 | Prepared-project parameter deduplication | Drops serialized parameter XML after parsing the prepared ValueTree; the mixed live/incoming project peak fell by about 2.53 MiB without reparsing at adoption. |
| Post-0188 | Transport button idle change detection | Updates Run/Play button state, text, and color only when playback or visible page changes, removing 60-100 redundant setter calls per idle second. |
| Post-0188 | MIDI record-control idle change detection | Updates Sequencer and Arranger record controls only when recording state or target context changes; idle Arranger removes 40 setters and 20 full tooltip/target-summary constructions per second. |
| Post-0188 | Stopped Arranger timeline rest | Leaves static timeline recalculation to the established edit refresh path and runs the timer scan only during playback or transitions; a maximum 256-clip project avoids 5,120 idle clip inspections per second. |
| Post-0188 | Running Arranger static-geometry cache | Reuses timeline length and loop ranges calculated by the edit refresh path, leaving the 20 Hz timer responsible only for playback indicators and playhead progress; a maximum project avoids another 5,120 clip inspections per playback second. |
| Post-0188 | Piano Roll active-note query | Scans note storage in place instead of copying the complete vector at 20 Hz and suppresses unchanged active-note repaints; active playback avoids up to 20 vector copies per second and stable display states avoid 20 repaints per second. |
| Post-0188 | Pad activity rest and visual quantization | Stops relaxed atomic writes after activity reaches its visual floor and updates 32-level Pad/Sequencer colors only when their visible key changes; silence removes 128 atomic writes per audio block and 320 idle color assignments per second. |
| Post-0188 | Meter publication rest | Publishes channel and bus block peaks only when changed, removes a duplicate Pad-meter decay pass, and rests master peak decay at its visual floor; silence removes 595 atomic writes per audio block. |
| Post-0188 | Aggregate pending-Pad trigger gate | Checks one lock-free aggregate flag before scanning ordinary and pitched trigger slots; idle audio drops from 256 atomic exchanges per block to one while same-block multi-trigger and panic cancellation remain exact. |
| Post-0188 | Audio status publication cadence | Publishes constant block size only when changed, prechecks empty reset/deferred flags, and samples display-only CPU load every fourth block with equivalent smoothing; typical CPU timestamp/store work falls about 75%. |
| Post-0188 | Internal/Classic/Physical selective preparation | Prepares each source's configured or still-sounding engine only, retaining universal sample-layer pitch; removes unrelated six-mode and six-partial derivation and collapses nine configured-engine reads per source to one. |
Current post-0188 work caches the parsed active DX7 cartridge and scopes cartridge-patch Undo snapshots to one instrument slot. It reduced measured cartridge recall latency by about 95.3%; assign its build number when the next executable is packaged.
The same post-0188 work now scopes all native factory preset Undo snapshots to the edited instrument. Measured recall latency fell from roughly 190-274 ms to 9-16 ms across fourteen Engine families, while the complete 629-preset safety contract and per-recall Undo checks passed.
The local-edit audit was then extended beyond factory presets. Engine switching, single-instrument sample-layer and bonus-shot clears, sample-region resets, SoundFont selection and loading, Quasar loading, native patch loading, and Liftoff/Lunacy custom-source loading now use the same bounded instrument snapshot. Bulk Pad loading, clear-all-Pads, lane transactions, loop-track changes, and other cross-project edits deliberately retain full-project Undo. Patch lifecycle, SoundFont asset loading, Quasar package loading, and all factory Engine recall regressions passed after the conversion. Factory recall medians remained 8.4-10.3 ms in the follow-up run.
That verification also found and repaired a stale test assumption: the patch-readout contract still mapped fifteen pages after 80s FM added a sixteenth readout. The product mapping was correct; the test now includes the 80s FM page and no longer reads beyond its parent-page table.
Every accepted build passed the relevant shared-effects signal, audio-safety/continuity, and performance gates before packaging. Build-specific hashes remain in the development conversation and executable history; this report tracks engineering impact rather than serving as a release manifest.
The production native sample renderer previously allocated a new stereo work buffer for every 512-sample block, then copied the retained render into a second full-length buffer before normalization and WAV writing. It now reuses one work buffer and operates directly on the retained prefix of the original render. At the maximum 12-second duration, stereo float audio-buffer storage drops from approximately 9.22 MB to 4.61 MB; short-tail renders save less, but no longer approach a second full-render allocation. The production Drum Lab Flux/render gate passed Kick Lab, Snare Lab, and Hat Lab with valid bounded WAV output and unchanged measured peaks.
The full Arrangement export was confirmed to stream both master renders and lane stems directly to their temporary WAV files in bounded 512-sample blocks, so its audio-buffer memory does not grow with song duration. The worker now reuses its stereo buffer and MIDI container across both music and tail phases instead of allocating a fresh pair for every block. The complete export gate passed full-mix parity, duration, tails, progress, cancellation, range rendering, four unique lane stems, muted-lane silence, destination refusal, and stem cancellation.
Portable project ZIP creation was confirmed to use file-backed entries for samples and Quasar payloads rather than loading those assets into memory. The one-shot production worker now moves its captured project JSON into path remapping instead of retaining an additional complete snapshot copy. Import reads the packaged project once and validates both remapped strings directly, removing three transient full-project file rereads. Import deliberately retains two remapped strings because pre-commit resource validation needs staging paths while the committed project needs final paths. The complete archive regression passed immutable capture, missing/corrupt/post-plan mutation refusal, safe replacement, path redaction, asset and Quasar remapping, resource audio, resave, mixed recovery, path policy, and generation guards.
Quasar previously decoded every zone into permanent float buffers, with a package-wide safety ceiling of 134,217,728 sample values, or 512 MiB of float storage. WAV and AIFF zones longer than ten seconds now use the same memory-mapped playback ownership already proven for long Pad samples and loop tracks. Short zones remain decoded for fast repeated access, and failed/unsupported mapping falls back to decoding. The focused 11-second gate proved both mapped ownership and audible pitched playback; production package build/reload, hostile replacement preservation, and realtime asset-generation retirement also passed.
TinySoundFont copies were confirmed to share their immutable decoded sample and preset data through the library's reference count, so the 48-instance realtime pool does not multiply the .sf2 payload. It did, however, reserve 32 mutable internal voice records in every instance even though one instance serves one SpaceAge note. Pool preparation now scans the selected preset's key/velocity regions once and reserves its true maximum simultaneous region overlap, capped at the historical 32. Per loaded SoundFont slot, reserved internal voices therefore change from a fixed 1,536 to 48 x overlap: 48 for a one-layer preset, with the old 1,536 ceiling retained for exceptionally layered presets. The asset-backed three-preset workstation gate, SoundFont voice-49 turnover, and off-callback generation retirement all passed.
A focused Windows process-private-memory profile now creates a temporary 3.8152 MiB SoundFont fixture, loads it through the production path, starts an audible note, replaces the font while that old generation is in flight, then drains and reclaims retired assets. Two runs measured first-generation increases of 7.65234 MiB and replacement-coexistence increases of 7.64844/7.64453 MiB. After maintenance, private memory returned to the first-loaded level exactly in one run and within 0.004 MiB in the other. This confirms that decoded sample memory is shared by all 48 prepared instances, that one old and one new decoded generation coexist intentionally for click-free replacement, and that the old generation does not remain leaked after retirement.
The same gate now exercises the complete two-phase project-load path rather than direct replacement. With one live SoundFont generation and an in-flight note, preparing an incoming project initially added 35.6328 MiB of private committed memory: 7.65 MiB for the incoming decoded font plus the parsed project graph, parameter tree, and allocator growth. The prepared state had retained both parsed parameters and the original serialized parameter XML. Removing that now-unused XML after semantic validation reduced the preparation delta to 33.1055 MiB, an improvement of about 2.53 MiB on the fixture. Adoption succeeded without creating a third decoded audio generation; releasing the prepared owner and retiring old audio remained safe. Complete project persistence and project-load feedback/stale-completion guards passed.
The editor's required 20 Hz coordination timer previously reassigned global Run state and colors on every tick, plus visible Sequencer or Arranger Play text/color, even while stopped and unchanged. Those setters now run only when playback state or visible page changes. This removes 60 redundant button setter calls per second on other pages and 100 per second on Sequencer or Arranger while preserving independent recording/count-in refresh. Keyboard/Spacebar workflow and the complete transport workflow passed, including pause, cursor, loops, restart, boundaries, count-in, metronome, cancellation, and persistence.
The same timer also reassigned the visible MIDI record button twice per tick and, on Arranger, rebuilt its complete lane/clip target tooltip every tick. Compact recording-state, lane, and pattern keys now limit those updates to real transitions. Idle Sequencer avoids 40 setter calls per second; idle Arranger avoids 40 setters plus 20 target-summary and tooltip-string constructions per second. The complete MIDI recording timing matrix, MIDI health gate, and transport workflow passed after the change.
The stopped Arranger also rescanned every chain slot and Arrangement clip at 20 Hz to rediscover static timeline length and loop ranges that refreshChain() had already calculated after every edit. The timer now performs that scan only during playback or a page/transport transition. At the 256-clip ceiling this avoids 5,120 idle clip inspections per second, plus chain traversal, loop-range reconstruction, and playback-state calls across the chain buttons. Arrangement lane visual state and the complete transport workflow passed. The broader Arranger edit contract passed all arrangement ownership, clip, chain, section, and capacity checks but remains red on pre-existing mixer Undo-history checks (mixerSliderTransaction, mixerDiscreteTransaction, and mixerMixedHistory).
The running Arranger now uses the same static ownership instead of repeating the chain/clip scan on every playback tick. refreshChain() caches the calculated timeline length and now explicitly owns both Arrangement and step-loop ranges; the timer updates only chain-button progress and the visual playhead against that cache. A maximum 256-clip project therefore avoids another 5,120 inspections per playback second, along with repeated loop reconstruction and timeline-bound calculation. Arrangement lane and recording visual-state gates passed at 1800x1000 and 1100x800, and the complete transport workflow passed loop scope, boundaries, restart, cancellation, and persistence.
Piano Roll playback previously called getPianoNotes() at 20 Hz, copying the entire selected pattern's note vector merely to identify the active pitch. A focused processor query now scans the owned vector under the existing lock and returns one MIDI note without allocating or copying note storage. The active-note display also repaints only when that note changes. Populated playback avoids up to 20 full-vector copies per second; stopped or stable-note display avoids 20 redundant repaints per second. The transport gate directly passed silence, muted-note exclusion, exact boundaries, overlapping-note priority, playhead movement, and persistence. The broad Piano Roll workflow still terminates in its pre-existing Windows stack-overflow harness failure before assertions.
Pad activity decay previously performed a sequentially consistent atomic load and store for all 128 source slots on every audio block, including permanent zero-to-zero writes in silence. Activity is visualization-only, so it now uses relaxed atomics, writes only while a flash remains active, and clamps completed flashes to exact zero. The Pads and Sequencer pages quantize that activity to 32 visible levels and assign button colors only when the source, selection, or level key changes. Silence therefore removes 128 atomic writes per audio block and 320 idle component-color assignments per second. Keyboard triggering, audio safety/continuity, and transport passed; an isolated regression proved activity rises after its trigger block and rests exactly at zero after decay. Source cardinality rendered its private source correctly but remains red on pre-existing hostile-state and audition-routing assertions.
Mixer channel and bus meters previously published all 400 block-peak atomics unconditionally, including zero-to-zero writes, then loaded and stored all 192 Pad meter values again in a redundant processor-side decay pass even though visual peak decay belongs to the meter widgets. Publication now uses relaxed atomics and writes only changed values; the duplicate decay pass is removed. The three master peak meters retain processor-side hold/decay but clamp at the visual floor and skip settled writes. Silence therefore removes 595 atomic writes per audio block. Mixer lane routing passed exact stereo meter values across four routed lanes, bus mute/pass, compressor, saturation, EQ, and isolation; mixer persistence and audio safety/continuity also passed.
Ordinary and pitched UI Pad triggers previously required the audio callback to perform 256 atomic exchanges every block across both 128-slot pending arrays, even when no trigger existed. Producers now publish slot payload and readiness exactly as before, then release one aggregate flag. The callback exchanges that flag once and scans both arrays only when work is pending. Idle audio therefore removes 255 atomic read-modify-write operations per block. Native voice-steal and all-audible retirement passed across every native Engine and SoundFont, keyboard triggering and audio safety passed, and a direct regression proved three mixed ordinary/pitched requests queued before one block all fire while panic cancels a queued request.
Display and coordination status also performed avoidable real-time publication. Constant host block size was stored every block; empty loop-reset and deferred performance-filter flags used read-modify-write exchanges; CPU display load took a high-resolution end timestamp and atomic store every block even though the UI reads at 20 Hz. Block size now publishes only when changed, empty flags use a cheap precheck before exchange, and CPU load samples every fourth block with smoothing mathematically adjusted to retain the prior response envelope. At 48 kHz with 512-sample blocks, CPU timestamp/store work falls by about 75% while updates remain near 23 Hz. Realtime performance-filter publication, MIDI health and block-latency reporting, and audio safety/continuity all passed.
The block-control pass already selected Redshift, SoundFont, Propulsion, Liftoff, Glass Moon, Moonshadow, Lunacy, TG-55, and 80s FM preparation by configured or active engine, but Internal, Classic, and Physical calculations still ran for all 80 sources every block. Those three paths now follow the same rule and retain active-engine flags so a voice keeps correct controls if its source changes engine while sounding. Universal pitch remains outside the gate because sample layers use it with every engine. Unrelated sources no longer perform Physical's six-mode ratio/decay/gain derivation or Classic's tuning, saturation, and six-partial increment derivation; nine repeated configured-engine reads per source are also collapsed to one. Native voice continuity, source-backed patch/sample lifecycle, and all 629 factory preset audio renders passed with zero failures.
Rejected Experiments
Eager multi-output bus inspection
Prechecking every possible output bus each block caused a large idle regression. The final design caches cheap routing values but asks the host about an output bus only when an audible channel actually needs it.
Per-slice strip coefficient change detection
Comparing all strip controls before recomputing compressor and saturation coefficients added enough branch and comparison overhead to make the realistic workload slower. The experiment was removed rather than rationalized as a theoretical win.
Per-voice routed-pan coefficient cache
Caching left/right square-root pan coefficients inside every voice appeared attractive for stable drum routing, but the required per-sample pan comparison and larger hot voice state made the dense workload slower. Fresh 8/32/64-Pad baselines of 24.0462%, 69.5175%, and 75.6303% became 25.2248%, 70.3707%, and 77.6059% in the repeat post-change sweep. The cache was removed in full.
Halostar settled-control geometry branch
Halostar normally refreshes its smoothed delay geometry every 32 samples. An experiment reduced that to once per block when all seven controls were settled, but detecting the settled state and branching in the hot sample loop outweighed the avoided preparation. Because machine load varied heavily, Halostar Shimmer was alternated with a Dry Limiter Off control profile in both builds. The original Halostar-minus-dry gaps were about 0.95, 1.23, and 1.30 percentage points; the candidate gaps were about 1.39, 1.26, and 1.42 points. The experiment was removed in full.
These failures establish an important rule: reducing the apparent number of calculations does not guarantee lower CPU. Cache preparation, branches, host calls, memory access, and idle behavior all count.
Forward Impact Register
Update this table whenever a substantial feature or optimization is proposed, accepted, rejected, or re-profiled.
Whole-Project Profiler Workflow Validation (2026-08-28)
The project profiler now has a complete generated-project validation path. Its fixture is saved and reloaded through the production project format and contains an active Kick Lab drum clip plus an active Redshift bass clip. The workflow verifies idle, shared- effects-off, delay-only, reverb-only, original-project, drums-only, and isolated- Redshift measurements, including receipt and latest-report publication.
Lane isolation is now derived from arrangement clips rather than the preallocated lane count. This prevents empty default lanes from being reported as silent engine failures. The validation removes its synthetic receipt and restores the prior latest report after success, preserving the rule that published percentages must come from an explicitly selected user project. Release compilation and the complete workflow passed.
Whole-Project Bottleneck Ranking (2026-08-28)
Successful project profiles now publish an actionable summary ahead of the raw output. It calculates original-project, delay-only, and reverb-only percentage-point overhead against the same-run shared-effects-off baseline, then ranks dry drums and clip-bearing tonal lanes by median load with callback P95, P99, and maximum values.
The ranking is deliberately diagnostic rather than additive: each isolated row includes common engine, mixer, and callback cost. The archived receipt preserves raw profiler output beneath a separate provenance header, and the report explains the comparison basis. The generated-project workflow passed all derived-summary assertions and restored the permanent no-real-project placeholder.
Whole-Project Callback Headroom (2026-08-28)
The actionable project summary now evaluates callback risk against the real audio deadline: 100% of one 512-sample callback window. It reports original-project P99 and worst-observed headroom, explicitly flags a measured deadline overrun when callback maximum reaches 100%, and avoids invented warning thresholds.
The same summary names the highest-load isolated workload and the largest measured shared- effect delta as investigation starting points. These are scoped observations from the captured run, not additive costs or proof of causation. Script parsing and the complete generated-project workflow passed, including report restoration and synthetic cleanup.
Whole-Project Buffer-Size Profiling (2026-08-28)
The supported project profiler and PROJECT_CPU gate now accept 64, 128, 256, 512,
1024, or 2048 samples, with 512 retained as the default. The C++ harness keeps a constant
262,144-sample measured duration by scaling callback count inversely with buffer size.
This makes lower-latency callback pressure visible without giving those runs a shorter
observation window.
Report metadata and receipt filenames include the selected buffer size. Release compilation passed, and the complete synthetic project workflow passed at 256 samples across all global, effect, drums, and Redshift profiles. The synthetic report and receipt were removed after validation, so no generated percentages remain as project evidence.
Whole-Project Latency Sweep (2026-08-28)
A supported PROJECT_CPU_SWEEP gate now runs one saved project across a validated set
of buffer sizes using the existing single-run profiler. It builds once, preserves one raw
receipt per buffer, and publishes a comparison of original-project median load, callback
P95/P99/maximum, and actual deadline status. The default set is 128/256/512/1024 samples.
Publication is transactional at the aggregate-report level: a failed sweep restores the previous latest Markdown report and regenerates the browsable documentation. A generated Kick Lab plus Redshift project passed a 256/512 sweep, both comparison-row assertions, receipt accounting, prior-report restoration, and complete synthetic cleanup.
Whole-Project Latency Trend Analysis (2026-08-28)
Latency-sweep reports now use the largest tested buffer as the run-local baseline and show each row's relative median-load change, P99 deadline headroom, and worst-observed deadline headroom. The summary identifies the buffer with the least measured headroom, making low-latency pressure visible without inventing a warning threshold.
The calculation intentionally preserves non-monotonic results caused by scheduling or thermal variation rather than forcing smaller buffers to appear more expensive. The 256/512 generated-project sweep passed all trend, comparison, receipt, restoration, and synthetic-cleanup assertions.
Whole-Project Sweep Repeatability (2026-08-28)
Latency sweeps now accept one through five repeats per buffer size. Aggregate rows use the standard median for load and callback P95/P99, report median-load spread, and retain the worst callback maximum across repeats so a transient deadline risk is not averaged away. Every repetition keeps its raw receipt. One repeat is the quick default; three is the recommended evidence run when profiling time is available.
The generated Kick Lab plus Redshift project passed two repeats at both 256 and 512 samples. The workflow verified aggregate and trend content, all five temporary receipts including the preliminary single profile, prior-report restoration, and complete cleanup. The conventional average-of-two median implementation was rerun successfully.
Whole-Project Sweep Order Bias Control (2026-08-28)
Repeated latency sweeps now alternate buffer sizes by round instead of grouping all runs for one buffer together. For example, two repeats at 256/512 execute as 256, 512, 256, 512. This gives each buffer a fairer mix of early and later machine conditions and reduces thermal or background-scheduling order bias without adding test time.
The report records this execution policy and lists receipts in chronological order. The complete generated-project workflow passed, including an explicit receipt-order assertion, five-receipt accounting, prior-report restoration, and synthetic cleanup.
Whole-Project Environment Provenance (2026-08-28)
Each project CPU receipt now records capture time, project and audio configuration, host, Windows version, process architecture, CPU identity, logical-core count, and active Windows power plan when available. The measured profiler lines remain unmodified beneath a clear raw-output boundary, and the latest report mirrors the environment metadata.
This makes comparisons auditable across machines and power configurations without adding any work to the audio thread. Missing data is reported as unavailable rather than guessed. The complete generated-project single profile and repeated round-robin sweep passed metadata, raw-section, report, receipt-accounting, restoration, and cleanup checks.
| Date | Feature or subsystem | Predicted burden | Planned control | Evidence required | Status |
|---|---|---|---|---|---|
| 2026-08-24 | New Instruments and engine expansion | Polyphony multiplies oscillator/operator/filter/envelope work. | Bounded voices, prepared tables/constants, sleeping voices, quality modes only when justified. | Isolated engine profile plus realistic Arrangement workload. | Eight-engine chord baseline, verified FM scaling, four factory profiles, first Yamaha cartridge profile, and Internal Engine block-preparation result recorded. |
| 2026-08-24 | Shared and channel effects | Channels, sends, tails, modulation, and oversampling can multiply inner-loop work. | Active-route lists, tail sleep, disabled fast paths, settled-control block paths, shared returns. | Isolated and stacked wet/dry/control/tail tests plus whole-project CPU gate. | Focused Halostar, EchoRay, strip, limiter, and Halostar/EchoRay/Chorus stack profiles recorded; settled EchoRay controls reduced stacked load about 1.4% with full signal regression. |
| 2026-08-24 | Mixer and bus growth | Per-sample parameter reads and full-channel scans scale poorly. | Block/control-slice snapshots, active-channel lists, contiguous processing, lazy host-bus queries. | Routing/mute/solo/multi-out regression plus lane-count sweep. | Sparse/dense drum gate added; dormant strip coefficient overhead reduced about 75-89%. Dense 32/64-Pad voice cost remains a priority. |
| 2026-08-24 | Four Drum banks and future Pad expansion | Naive processing can scale with all available Pads rather than audible Pads. | Process active voices/routes only; dormant Pads must cost essentially nothing. | Empty-bank, sparse-kit, dense-kit, and bank-switch profiles. | Banks reuse 64 audio slots; dense 8/32/64-Pad loads fell 17.1%, 24.9%, and 28.9%, matched bank switching fell about 49-51%, and sample-cache restoration is now directly tested. |
| 2026-08-24 | UI visualization and metering | Timers, repaint regions, meters, analyzers, and animation can consume UI/GPU time even when hidden. | Bounded refresh rates, dirty-region repaint, hidden-page sleep, cached geometry. | Focused idle-work contracts plus UI responsiveness and idle-CPU observation on representative displays. | In progress: readouts skip unchanged state; meter publication/widgets and Pad activity sleep; ADSR/starfields are event/visibility-driven; MIDI Maps skips unchanged rebuilds; transport/record controls avoid unchanged work; Arranger geometry is event-driven; Piano Roll active-note display is copy-free and change-driven. |
| 2026-08-24 | Import, analysis, rendering, and archives | Long work can block audio/UI or cause memory spikes. | Immutable plans, bounded workers, cancellation, streaming/chunking, cached results. | Audio-continuity test plus large-asset memory/time test. | Audio callback audit passed; render/archive paths stream or reduce copies; Quasar long zones map; SoundFont generations measure +7.65 MiB each and reclaim fully; the mixed prepared-project gate is established and duplicate parameter XML removal lowered its peak about 2.53 MiB. Expand mixed assets only when a structurally distinct ownership path is added. |
| 2026-08-24 | 80s FM cartridge browsing | Repeated file parsing and full-project Undo serialization made each patch selection visibly slow. | Cache the parsed active bank and checkpoint only the edited instrument slot. | Median setup/32-voice browse timing plus bank and single-voice import regression. | Accepted: average recall 218.051 ms to 10.2483 ms, about 95.3% faster. |
| 2026-08-24 | Native factory preset recall | Every Engine serialized the entire project before changing one instrument. | Use the bounded instrument-slot Undo record for local preset changes. | Per-Engine median recall, visible-control verification, Undo after every recall, and full bank safety contract. | Accepted: fourteen Engines reduced from 190-274 ms to 9-16 ms; 629-preset safety contract passed. |
| 2026-08-24 | Local instrument asset and Engine edits | Full-project Undo made a one-instrument load, clear, or selection scale with the entire project. | Use bounded instrument snapshots for single-instrument edits; retain full snapshots for bulk Pad, lane, and project transactions. | Native patch lifecycle, SoundFont, Quasar, and factory recall regressions. | Accepted: all focused regressions passed; factory recall remained 8.4-10.3 ms. |
Next Audit Priorities
- Expand the 80s FM cartridge corpus only with structurally distinct banks; the separate import/browse latency benchmark is now established.
- Extend focused effect profiles only when a new mode or processing path is added; current Halostar, EchoRay, strip, and limiter coverage is established.
- TG-55 remains the heaviest engine but is explicitly deferred by product direction. Continue with Redshift, Moonshadow, Quasar, shared post-engine processing, dense drum workloads, stacked effects, UI activity, memory/allocation profiling, and packaged-app validation; refresh profiles as each area is optimized because run-to-run load varies.
Redshift Bounded Phase Wrapping
Redshift's two primary oscillators used general floating-point remainder operations to wrap phases on every active voice sample, then repeated the same remainder work when converting those already-wrapped phases to normalized oscillator positions. Their frequencies are clamped below Nyquist, so each positive phase increment is less than half a cycle and can cross the boundary at most once. The renderer now uses one conditional subtraction per phase and directly scales the wrapped phases for the primary oscillator calls. Spread oscillators retain general normalization because their deliberately offset and multiplied phases do not share that bound.
At 16 voices and a 512-sample block, the common path avoids 32,768 floating-point remainder operations. This is an exact operation-count reduction; measured load remains subject to machine scheduling and will be refreshed with the next engine profile matrix. Redshift waveform, filter, continuity, factory-preset, and audio-safety checks remain the required validation set.
Redshift Metallic-Ratio Preparation
The optional six-resonator metallic layer rebuilt all six spread-adjusted modal frequency ratios for every active voice sample. Those ratios depend only on the Metal Spread control, which is already captured in Redshift's block-control snapshot. They are now derived once per active Redshift source per block and read directly by each voice. At 16 voices and a 512-sample block with the metallic layer enabled, this avoids 49,152 repeated spread multiplications and 49,152 additions while preserving sample-accurate resonator phase and envelope evolution.
Moonshadow Bounded Partial-Phase Wrapping
Moonshadow used a general floating-point remainder operation to wrap every rendered spectral partial on every active voice sample. Each stored partial phase begins normalized, every increment is positive, and the renderer already rejects partials at or above 0.48 cycles per sample. A phase can therefore cross the unit boundary at most once per sample. The renderer now uses one conditional subtraction for stored phase advancement while retaining general wrapping for the separate bipolar Width phase offset.
At maximum quality, 16 voices, and a 512-sample block, this removes up to 73,728 floating-point remainder operations from the synthesis loop. The change preserves the exact normalized phase result within ordinary floating-point precision and does not alter partial ratios, amplitudes, envelopes, motion, width, or model behavior.
Lunacy Demand-Driven Source Math
Lunacy's generated-source grain renderer calculated hash noise, including a sine evaluation and phase hash, before selecting the source model. Four source models do not use noise at all, so that work was discarded for every active grain sample using those models. Noise generation is now lazy and runs only in the six models whose formulas consume it. User-sample pitch conversion also no longer performs an exponential calculation when the voice has no user or mapped sample attached.
The exact reduction follows active grain count: each active grain sample using generated source models 1, 2, 4, or 7 now avoids one hash sine, one floor, and associated hash arithmetic. Every ordinary generated-source voice also avoids one unused pitch exponential per rendered sample. Noise-using models and user-sample playback retain their existing calculations and output formulas.
Shared Sampler Static-Pitch Preparation
Quasar and ordinary sample layers previously combined the stable per-source Pitch control with live MIDI expression and evaluated the resulting base-2 exponential for every active voice sample. The Pitch control is now converted to a playback multiplier once per source per audio block. Each sample voice applies that prepared multiplier directly, and only evaluates an additional exponential when pitch bend or mod-wheel vibrato is actually nonzero.
With neutral MIDI expression, every active Quasar or sample-layer voice now avoids one exponential per rendered sample while retaining block-rate automation of the Pitch control. At 16 voices and a 512-sample block, that is 8,192 avoided exponential evaluations. Pitch bend and mod-wheel vibrato remain sample-live and use the same semitone conversion when active.
Shared Envelope Stage-Gated Evaluation
The master voice envelope previously calculated decay progress, optional power shaping, and decay exponentials before checking whether the voice was still attacking, holding, or already releasing. Those stages then replaced the calculated decay result. Non-gated voices also calculated the decay exponential twice: once while building the unused sustain-aware result and again for their one-shot result. Envelope evaluation now follows the active stage directly. Attack, hold, and release skip decay math; decay computes one exponential; and a neutral ADSR slope bypasses the general power function.
The exact savings depend on envelope stage and trigger mode. Every active voice in attack or hold avoids the decay exponential and shaping work; every releasing voice avoids the same discarded decay work; every non-gated voice in decay avoids one duplicate exponential; and neutral-slope voices avoid one power evaluation until linear decay reaches its terminal region. The output equations and stage boundaries are unchanged.
Shared Post-Engine Neutral Filter and Blend Paths
The shared post-engine filter evaluated its envelope exponential for every filtered voice sample even when Filter Env was exactly zero, immediately multiplying that result by zero. Block preparation now records whether the envelope amount is non-neutral, and the renderer evaluates the exponential only when it can affect cutoff. The synth/sample mixer also now selects the source directly at exact 0% and 100% blend instead of performing a full crossfade whose opposite side is multiplied by zero.
At 16 voices and a 512-sample block, a filter-enabled patch with neutral Filter Env avoids 8,192 exponential evaluations. Pure-synth and pure-sample voices each avoid the crossfade's repeated endpoint arithmetic. Nonzero Filter Env and intermediate blend values retain their existing formulas and live behavior.
Sample-Accurate Shared Performance-Filter Coefficients
Each public Pad voice previously read the same live performance-cutoff atomics and independently evaluated the same sine coefficient during a rendered sample. The main renderer is sample-major and applies incoming MIDI performance messages before rendering voices, so the first active voice for a Pad can safely calculate that sample's filter state and publish it to sibling voices. A cache keyed to the existing absolute render-sample clock now shares the active flag and coefficient among voices on the same Pad for that sample. Private arrangement instruments retain their existing block-prepared path.
Controller response remains sample-accurate because a cache entry never crosses a rendered-sample boundary. With 16 simultaneous voices on one filtered Pad and a 512-sample block, coefficient preparation falls from 8,192 cutoff reads and sine evaluations to 512, a 93.75% reduction for that control path. Single-voice Pads pay only a clock comparison around the same calculation.
Route-Empty Halostar and Room Input-Scan Bypass
Halostar and the shared Room reverb scanned their complete stereo send buffers for new input whenever enabled, even when block-level routing discovery proved that no drum, instrument, or loop route could have written to those buffers. Their input detection now uses the same route-aware guard already established for modulation and octave returns. Existing tails remain independently active and continue through the full processors until their established tail logic retires them.
With both effects enabled but unrouted in a 512-sample block, the change avoids two stereo magnitude scans, or up to 2,048 sample-magnitude checks. Routed input, newly written sends, control smoothing, and active effect tails retain their existing processing.
Muted-Voice Routing Work Deferral
Muted or solo-excluded voices must continue rendering so synthesis state, envelopes, releases, and effect-independent tails remain temporally correct. The routing lambda previously read MIDI channel gain, selected mixer gain, and multiplied the rendered sample before checking whether the lane and channel were audible. Those routing-only operations now occur after the audibility check. Inaudible voices still execute their complete renderer and publish zero routed magnitude, but skip work whose result cannot reach a mixer channel. The loop processor also references its immutable snapshot settings directly instead of copying the processor structure for every track sample.
The savings scale with muted polyphony: each inaudible voice sample avoids MIDI channel-gain lookup, mixer-gain selection, and two gain multiplications. Audible routing, voice retirement, mute/solo timing, lane permissions, and synthesis progression are unchanged.
Arranger Idle Visual-State Gating
The editor's 20 Hz timer previously reapplied the Arranger Snap button's complete visual state and forced a repaint on every tick while the Arranger was visible. It also reapplied the pinned MIDI, Mute, and Solo button bounds for every visible lane even when scrolling, lane count, display mode, visibility, and canvas geometry were unchanged. Both paths now retain compact visual-state keys and return immediately until an input that can alter their result changes.
On a stationary four-lane Arranger, this avoids 20 forced Snap repaints and 240 redundant lane-button bound assignments per second. At the 64-lane maximum, it avoids up to 3,840 repeated bound assignments per second. Scroll movement and all relevant geometry or mode changes still update immediately through the viewport callback or the next bounded timer tick.
Synth Drawer Context and Hidden-Choke Sleep
The open synth drawer periodically maintained context-sensitive controls during playback. Each maintenance pass rewrote enabled or visible state across seven filter editors, the Classic model controls, four Glass Moon operator-mode pairs, and the TG-55 preset selector even when none of their governing modes had changed. A compact key covering the active instrument, filter/model selections, Glass Moon operator modes, and TG-55 preset now rejects unchanged passes before component mutation. The Choke Manager's 16-Pad membership display is no longer polled by the timer while its view is hidden; when visible, a group/page/membership cache suppresses repeated button text and colour updates.
At the playback maintenance rate, an unchanged open drawer now replaces dozens of component-state writes per pass with mode reads and one key comparison. A drawer outside the Choke view also avoids all 16 Choke parameter reads and button formatting work on every pass. User changes still call the same refresh routines directly, while host-driven changes are observed on the next bounded maintenance pass.
Active Arrangement Patch-Identity Scan
Patch-readout maintenance previously fingerprinted every one of the 80 public Drum Pad and private Arrangement instrument source slots to discover whether an Arrangement lane label needed a modified marker. Only the actively edited source and instruments actually owned by the 16 available Arrangement lanes can affect the readouts maintained by this path. The scan now visits that bounded set and deduplicates slots shared by its active-editor and lane inputs.
The worst-case scan falls from 80 instrument identities to 17, a 78.75% reduction. A typical four-instrument Arrangement scans at most five identities, a 93.75% reduction. Patch fingerprints still include every parameter owned by each visited Engine, and host automation on an assigned lane remains visible at the same maintenance cadence. Unassigned source slots are refreshed by their existing direct edit, load, recall, and selection transactions rather than background polling.
Active-Engine Patch Readout Maintenance
The timer-driven synth drawer maintenance rebuilt text, tooltip, title, description, help text, and colour for all 16 Engine patch labels even though only the current Engine page can be visible or edited. Periodic maintenance now updates only the active Engine's label. Full refresh remains the default for Engine selection, drawer attachment, patch load or save, preset recall, project hydration, Undo, and explicit presentation transactions, so hidden labels are synchronized before they can become visible.
Each periodic pass therefore reduces patch-label formatting and component mutation attempts from 16 labels to one, a 93.75% reduction in that portion of drawer maintenance. Active patch dirty detection and the bounded Arrangement identity scan still run at their previous cadence.
Sequencer Incremental Playback Columns
The Drum Sequencer previously refreshed every visible step cell whenever playback advanced by one step. That meant 256 cell-state reads and component updates in the standard 16-column view and 1,024 in the compact 64-column view, although only the old and new playhead columns could change appearance. Step-only refreshes now update those two columns across 16 rows. Pattern, page, compact-mode, and transport-stop changes retain the complete grid refresh needed to synchronize edits and clear transient highlighting.
A normal playback step now touches at most 32 cells: an 87.5% reduction from the standard grid's 256 cells and a 96.875% reduction from the compact grid's 1,024 cells. The separate playhead overlay remains change-gated, and Pad activity indicators retain their existing 20 Hz response.
Visibility-Gated Mixer Meters
The Mixer timer previously loaded and smoothed all 16 channel meters and all four Bus meters whenever either Mixer page was active, even though the channel and Bus meter sets are mutually exclusive. Opening a channel's Send, Dynamics, or EQ detail also hid that channel meter without stopping its updates. Meter polling now requires the widget to be showing. A meter clears its local decay, peak, and clip-hold state when hidden, so reopening begins from the processor's current decaying peak rather than a stale visual value.
The Bus page avoids 32 channel-meter atomic loads and 16 widget update attempts per 20 Hz timer pass. A normal channel page avoids eight Bus-meter atomic loads and four widget update attempts per pass, with another stereo pair avoided for each open channel detail panel. Visible meter ballistics and processor-side peak publication are unchanged.
Derived Mono Mixer Peaks
The audio callback accumulated and atomically published a third mono peak for every one of the 64 drum and 64 instrument Mixer channels, although that value was exactly the maximum of the already-published left and right peaks. No live UI path consumed the duplicate arrays. The callback now retains only stereo peaks, and the compatibility mono getters derive max(left, right) on demand for tests or non-UI callers.
Every routed drum or instrument sample avoids one redundant peak maximum update. Every audio block avoids 128 atomic publication loads and any corresponding stores, while processor state sheds 128 persistent atomic floats. Stereo meter output and mono peak values remain equivalent; the mono getter trades its uncommon single atomic load for two relaxed loads and one maximum operation.
Prepared Mixer Compressor Exponents
Both drum and instrument strip compressors rebuilt the ratio-dependent power exponent, 1 - 1 / ratio, inside the per-sample gain curve whenever the envelope exceeded threshold. The exponent now lives in prepared compressor state: instrument strips calculate it once per enabled channel per block, while drum strips update it only when their smoothed compressor controls change. The former ratio cache arrays were removed rather than retaining duplicate prepared values.
Each above-threshold compressed channel sample avoids one floating-point division and subtraction. For a continuously compressing stereo strip across a 512-sample block, that is up to 512 divisions and 512 subtractions avoided per channel. Enabled but below-threshold instrument compressors pay one block preparation without using the exponent, so stacked compressor profiling remains the evidence gate for any further preparation changes.
Active Instrument Mixer Channel List
The instrument half of the Mixer scanned all 64 channels for every rendered sample, immediately skipping channels whose accumulation buffers were silent. Instrument strips currently process only samples delivered by routed voices; unlike the drum strip path, they do not advance a separate no-input EQ or saturation tail. Voice routing now registers each destination channel once per sample through a generation-stamped active list, and the instrument strip loop visits only those entries. Voice retirement tails use the same routing path and therefore remain included.
A four-lane instrument project reduces the instrument strip pass from 64 channel probes per sample to at most four, a 93.75% reduction in that scan. A single-lane project reduces it to one. Each audible routed voice pays one integer generation comparison, and dense 64-channel workloads naturally approach the original loop size. Drum channels retain their full scan because their explicit no-input processor-tail behavior must remain intact.
Sparse Instrument Accumulator Clearing
After introducing the active instrument-channel list, the callback still cleared both 64-element instrument accumulation arrays in full before every sample. Those arrays begin zeroed, and only channels registered in the previous sample's active list can contain data. The callback now clears the left and right values for those destinations before reusing the list, leaving all never-written channels untouched at zero.
A four-channel instrument workload reduces accumulation clearing from 128 float writes per sample to eight, a 93.75% reduction. One channel requires two writes. A fully dense 64-channel workload performs the original 128 writes through indexed list traversal, so future dense-project profiling must account for that traversal overhead before extending this strategy to drum channels.
Change-Gated Mixer EQ Coefficients
Enabled full channel EQ, drum strip EQ, and instrument strip EQ previously rebuilt all biquad coefficients on every audio block, even when their controls were static. Exact control arrays are now compared with the last prepared values. Coefficients rebuild only on first use, re-enable, or an actual parameter change. The caches are invalidated in prepareToPlay, ensuring sample-rate changes always regenerate sample-rate-dependent coefficients.
For each unchanged enabled full channel EQ, every block avoids approximately four power evaluations, twelve sine/cosine evaluations, two square roots, and the associated coefficient normalization. Each unchanged three-band strip EQ avoids approximately three powers, six sine/cosine evaluations, and two square roots per block. Atomic control reads and exact comparisons remain so host automation is detected at the original block cadence.
Persistent Instrument Strip Preparation
Instrument compressor and saturation constants were previously stored in block-local arrays and rebuilt for every enabled channel on every callback. Their prepared constants and exact source-control arrays now persist in processor state. Static controls reuse the prior preparation; changes are detected from the same block-rate atomic reads, and prepareToPlay invalidates both families so sample-rate-dependent attack, release, and tone coefficients are regenerated.
Each unchanged enabled instrument compressor avoids two decibel-to-gain conversions, two exponential coefficient evaluations, one ratio division, and related arithmetic per block. Each unchanged enabled saturation strip avoids one gain conversion, one hyperbolic tangent, one reciprocal, and one exponential per block. Exact array comparisons remain, and disabled strips still clear their runtime envelopes or tone states as before.
Master Compressor Independent Preparation
The master compressor's fixed 120 ms release coefficient was recalculated with an exponential on every audio block. Its ratio exponent was also rebuilt per compressed sample whenever any one of threshold, ratio, or makeup was smoothing, even if ratio itself was settled. The release coefficient is now prepared in prepareToPlay, and each control advances according to its own smoother state. A settled ratio uses one prepared exponent while threshold and makeup remain independently sample-smoothed.
Static master compression avoids one exponential per block and one ratio division/subtraction per above-threshold sample. Threshold-only or makeup-only automation receives the same sample-level smoothing while also using the settled exponent. Ratio automation retains per-sample exponent calculation for the duration of its smoothing ramp.
Master Output Static-Control Preparation
The master low-pass rebuilt its settled cutoff coefficient with a sine evaluation on every active audio block, while master volume and the master limiter converted unchanged decibel controls to linear gain on every applicable block. These values now persist in processor state and rebuild only when their source control changes. prepareToPlay initializes the caches, so a sample-rate change always regenerates the low-pass coefficient.
An unchanged active master low-pass avoids one sine evaluation and coefficient clamp per block. Static master volume avoids one decibel-to-gain conversion per block when it is away from the already-special-cased 0 dB value, and an unchanged enabled limiter avoids another. Low-pass cutoff automation retains the original sample-smoothed coefficient calculation, volume smoothing and limiter behavior are untouched, and all controls are still checked at audio-block cadence.
Change-Gated Mixer Gain Conversion
The audio callback converted all 64 instrument channel gains and all eight drum and instrument Bus gains from decibels to linear values on every block, even when every fader was stationary. Persistent exact-value caches now reuse each linear gain until its corresponding parameter changes. Parameter reads and comparisons remain at block cadence, so host automation and user fader movement are observed at the same time as before.
A static project avoids up to 72 decibel-to-gain conversions per audio block: 64 instrument channels and eight Bus controls. Controls at exactly 0 dB retain their unity fast path, while changed values incur one conversion in the block where the change is observed.
The fixed 16-sample mixer-control smoothing coefficient is now also prepared when the sample rate is established instead of being rebuilt with a power evaluation in every callback. The shorter final control slice retains its existing sample-count-specific calculation.
Generation-Keyed Loop Effect Preparation
Loop-track compressor, gain, low-pass, saturation, tape, and distortion constants were rebuilt for every track on every audio callback. Each immutable loop track already publishes a generation number whenever its settings change. Prepared effect state now persists per track and is rebuilt only when that generation changes. The compressor's fixed attack and release coefficients are prepared once per sample-rate setup, and all prepared generations are invalidated when audio is prepared again.
For eight unchanged loop tracks with every processor active, each block now avoids 24 decibel-to-gain conversions, sixteen hyperbolic tangents and reciprocals, sixteen sine evaluations, and two exponential coefficient evaluations, plus repeated mapping and normalization arithmetic. Each above-threshold compressed sample also avoids rebuilding the ratio exponent with a division and subtraction. A loop edit is reflected in the first block that acquires its new snapshot; the callback remains lock-free and allocation-free.
Change-Gated Shared Source Derivations
The common source-control pass rebuilt drive gain, envelope decay-shape exponent, and pitch multiplier for all 80 public Pad and private Arrangement source slots on every audio callback. Exact source-value caches now preserve those derived values until their controls change. Raw parameters are still read and compared every block, preserving the existing response cadence for host automation and UI edits.
With static non-default controls, each block avoids up to 80 decibel-to-gain conversions and 160 base-two exponent evaluations. Default 0 dB drive and linear envelope slope retain their existing fast paths, while pitch-ratio preparation benefits all source slots regardless of the selected Engine.
Change-Gated Internal and Classic Preparation
Active Internal sources rebuilt oscillator-two detune ratios and noise-filter coefficients every block. Active Classic sources rebuilt tuning ratios, saturation bias, and six metallic partial increments. Exact control tuples now gate those derived values, with preparation invalidated whenever the sample rate is established so frequency-dependent coefficients cannot survive a rate change.
Each unchanged Internal source avoids one base-two exponent and one sine evaluation per block. Each unchanged Classic source avoids one base-two exponent, one hyperbolic tangent, and six partial-frequency calculations. Parameter reads remain block-rate, and a changed patch control rebuilds its affected group in that same callback.
Shared Filter Derived-State Caching
Every enabled shared source filter rebuilt resonance-derived state with a power, square root, and reciprocals on each callback. Active Arrangement performance filters also rebuilt their sample-rate-dependent cutoff coefficient with a sine evaluation. Both paths now retain exact control caches; performance-filter coefficients are invalidated in prepareToPlay, while resonance state remains sample-rate independent.
Each unchanged enabled source filter avoids one power and one square root per block. Each unchanged active performance filter avoids one sine evaluation and coefficient clamp. Filter controls are still sampled every block, and edited values update their derived state in that callback.
Change-Gated Mixer Delay Filters
Every active drum and instrument delay route rebuilt its low-pass coefficient with a sine evaluation on every callback, although the cutoff changes independently from tempo-synchronized delay time. A unified cache now retains cutoff-derived coefficients for all 128 Mixer delay routes. prepareToPlay invalidates the cache so sample-rate changes always regenerate coefficients.
Each unchanged active delay route avoids one sine evaluation and coefficient clamp per block. Tempo-dependent delay sample counts remain live every callback, and cutoff automation is still read and applied at block cadence.
Smoothing-Aware EchoRay Control Slices
EchoRay updated its character, feedback-tone, and pre/post-tone control groups every 32 samples even when every smoother in those groups was settled. Each group now performs the first control slice required for the block, then repeats slice preparation only when that group was smoothing at block start. Automated ramps retain the original 32-sample cadence. The fixed activity-decay coefficient is prepared per sample rate, and unchanged input and output decibel gains reuse exact caches.
For a 512-sample block with settled controls, each group avoids fifteen redundant slice updates. Across the three groups this removes repeated power, sine, mapping, and smoothing operations, while static non-unity input and output controls avoid two decibel-to-gain conversions per block. Echo modulation and audio processing still run per sample where required.
Change-Gated Shared DSP Configuration
Settled Room reverb resent its complete parameter structure every processed block, while settled chorus, flanger, and phaser routes resent rate, depth, delay, and feedback settings before each block. Exact applied-control caches now configure each DSP object only on first use or when its smoothed controls change. The caches are invalidated in prepareToPlay so newly prepared DSP instances always receive their controls.
Unchanged active effects continue processing every sample and preserving tails, but avoid redundant setter work per block. Smoothed automation still configures each 32-sample slice because its exact control tuple changes throughout the ramp.
Smoothing-Aware Halostar Geometry
Halostar rebuilt all eight delay-line lengths, decay feedback powers, stereo pan gains, shimmer constants, and predelay state every 32 samples even when its seven smoothed controls were settled. The first slice still prepares complete block state, but later slices rebuild geometry only when a control smoother was active at block start. Return-level smoothing remains independent and advances per sample as before.
For a 512-sample block with settled Halostar controls, fifteen redundant geometry updates are removed. That avoids 120 power evaluations for the eight decay lines, plus repeated rounding, pan, shimmer, and coefficient arithmetic. Active parameter ramps retain their original 32-sample update cadence and tail processing remains sample-continuous.
Change-Gated Redshift and Glass Moon Derivations
Each active Redshift source rebuilt glide, oscillator-two detune, unison spread, modal ratios, and resonance state every block. A six-control exact tuple now gates that derived state, and is invalidated during prepareToPlay because glide depends on sample rate. Glass Moon operator fine-tuning multipliers now update independently only when each operator's fine control changes.
An unchanged Redshift source avoids one exponential, two base-two exponentials, one power, and six modal-ratio calculations per block. An unchanged Glass Moon source avoids four base-two exponentials. Raw controls and automation are still sampled every block, and edited values rebuild their derived state immediately.
Change-Gated Liftoff and SoundFont Scalars
Liftoff rebuilt unison normalization, warp normalization, and root frequency on every block, while SoundFont converted its gain from decibels for every active source. These scalar derivations now update only when their exact source controls change. Liftoff root-frequency preparation is invalidated in prepareToPlay because its upper clamp depends on sample rate.
Each unchanged Liftoff source avoids one square root, one hyperbolic tangent and reciprocal, and one base-two exponent per block. Each unchanged non-unity SoundFont source avoids one decibel-to-gain conversion. Tempo-synchronized vibrato and all raw parameter reads retain their prior block cadence.
Change-Gated Propulsion Geometry
Propulsion rebuilt stereo pan gains, unison normalization, output normalization, per-voice tuning multipliers, and phase offsets for all three oscillators every block. A twelve-value exact tuple now gates that geometry: unison count, detune, spread, and each oscillator's level, pan, and tuning. Waveform, pulse width, pitch, and tempo-synchronized vibrato remain live block controls.
At the eight-voice maximum, each unchanged Propulsion source avoids 24 base-two exponentials, eight square roots, and the surrounding unison and stereo geometry arithmetic per block. Any tuple control change rebuilds the complete internally consistent geometry in that same callback.
Change-Gated Liftoff Geometry
Liftoff rebuilt both oscillators' unison tuning multipliers and stereo phase offsets every block. A five-value exact tuple now gates this geometry: unison count, detune, spread, and both oscillator tunings. Wavetable selection, position, oscillator levels, motion, pitch, and tempo-synchronized vibrato remain live block controls.
At the eight-voice maximum, each unchanged Liftoff source avoids sixteen base-two exponentials and all associated unison-centering and phase-offset arithmetic per block. Any geometry control change rebuilds both oscillator tables together in that callback.
Change-Gated Moonshadow Spectral Geometry
Moonshadow rebuilt its complete partial-ratio table every block from model, quality, stretch, and inharmonicity. A four-value exact tuple now gates that table. Quality changes still alter the active partial count immediately, and any geometry change rebuilds every active ratio together in the same callback.
An unchanged Normal-quality source avoids nine model-table selections and the associated stretch, inharmonicity, curve, and ratio arithmetic per block. Brightness, tilt, motion, noise, width, spectral envelopes, pitch, and tempo-synchronized vibrato remain live block controls.
Change-Gated Lunacy Texture Filter
Lunacy rebuilt its texture-derived smoothing cutoff, sine coefficient, and filter mix every block. Exact texture caching now preserves that derived pair until texture changes. The cache is invalidated in prepareToPlay because the cutoff clamp and coefficient depend on sample rate.
Each unchanged Lunacy source avoids one sine evaluation, coefficient clamp, cutoff mapping, and related mix arithmetic per block. Grain source, quality, shape, position, density, motion, freeze, reverse, width, pitch, and LFO controls remain live at block cadence.
Change-Gated Physical Modal Geometry
The Physical engine rebuilt decay scaling and all six resonator mode ratios, decay coefficients, and gains every block. A six-value exact tuple now gates this state: model, damping, material, tension, spread, and decay. Tune and strike remain independent live controls.
Each unchanged Physical source avoids six modal ratio calculations, six decay divisions, six gain calculations, and the associated material, tension, spread, and membrane-model arithmetic per block. Any geometry change rebuilds all modal state together in the same callback.
Change-Gated Shared Comb and Filter Rates
The shared source pass rebuilt comb-delay length from comb amount and base frequency, and rebuilt enabled filter-envelope rate from decay, on every block. Exact control caches now retain both derived values. Comb-delay caches are invalidated in prepareToPlay because delay length depends on sample rate; filter-envelope rate is sample-rate independent.
Each unchanged active comb source avoids one sample-rate division and delay clamp per block. Each unchanged enabled source filter avoids one reciprocal division. Raw controls remain sampled every callback, so edits and host automation retain block-rate response. Bit-depth level shifting was reviewed and intentionally left uncached because its existing integer operation is cheaper than persistent cache management.
Shared Tempo-Step Preparation
Gate timing, shared filter LFOs, and synchronized vibrato across seven Engines independently repeated the same tempo clamp and quarter-step duration division inside the source loop. The exact expression is now evaluated once per audio callback and shared by every synchronized consumer. Host tempo and Chain multiplier changes remain visible each block through the existing effective-tempo read.
When all synchronized consumers are active, the callback avoids ten duplicate tempo clamps and chained divisions per source pass. Each destination still performs its own rate division because its selected rhythmic step length differs.
- Audit UI timers and repaint behavior for hidden pages, meters, scopes, and animated backgrounds.
- Add memory/allocation instrumentation for project load, SoundFonts, Quasar packages, samples, and preset browsing.
Maintenance
This is a living important document. Update it in the same change that introduces a meaningful new CPU risk, optimization, benchmark, or rejected performance experiment. Do not rewrite historical measurements to look cleaner; append newer evidence and explain differences in workload or machine state.
Robust channel-EQ architecture decision
- The planned mixer EQ will reuse SpaceAge's existing change-gated six-band biquad core instead of importing and running a parallel third-party filter framework.
- The shared topology is high-pass, low shelf, two parametric bells, high shelf, and low-pass. Bypassed EQs and neutral or disabled bands must remain outside the per-sample processing path.
- Coefficients will continue to update only after controls or sample rate change. Automation-safe coefficient staging must be added without allocation or locks on the audio thread.
- A future curve display will use coefficient snapshots. A spectrum analyzer is explicitly deferred until it has a bounded lock-free handoff, decimated analysis, hidden-page suspension, and a measured multi-channel CPU budget.
- MIT candidates DSPFilters and iir1 remain appropriate higher-order fallbacks.
GPLv3 ChowDSP EQ/filter modules were rejected for the proprietary licensing
boundary. Full research and implementation order are recorded in
docs/Robust_Channel_EQ_Research_And_Plan.md.
Bounded channel-EQ spectrum analyzer
The six-band response display now overlays live channel spectrum without placing FFT work, allocation, or locks on the audio thread. A single fixed 2,048-sample atomic ring captures only the channel currently requested by the editor. The 16 visible channel panels are refreshed round-robin, limiting the system to one capture stream and one message-thread FFT per timer pass instead of sixteen concurrent analyzers. Leaving the Mixer, opening the bus page, or hiding all EQ detail panels disables capture immediately. Each graph now exposes a keyboard-accessible LIVE/STATIC mode. STATIC keeps the calculated EQ response while opting that channel out of capture and FFT updates; when every visible graph is STATIC, the shared capture stream is disabled.
Optional 24 dB channel-EQ pass slopes
High-pass and low-pass bands now offer 12 or 24 dB-per-octave slopes. The default 12 dB path performs exactly one biquad as before. Only an enabled pass band explicitly set to 24 dB runs the second stage, so shelves, bells, bypassed bands, and existing projects pay no additional per-sample filter cost. Both stages use fixed channel-owned state and perform no allocation or locking. The dedicated eight-channel worst-case profile, with both pass bands enabled at 24 dB on every channel, measured 20.1265% realtime load and passed its budget. For context, the adjacent dry limiter-off snapshot measured 18.2846%; these are directional same-machine figures rather than a universal CPU promise.
Automation-safe channel-EQ coefficient staging
Drum and instrument channel EQ now retain the previous coefficient bank and filter state when frequency, gain, Q, slope, or band enable changes. Old and new banks run in parallel for a fixed 64-sample crossfade, avoiding potentially unstable coefficient interpolation and abrupt state discontinuities. Settled channels still execute only the current bank, so static projects retain their existing processing cost. All transition storage is fixed and channel-owned.
The global EQ switch now uses that same transition contract. Enabling fades from dry to the prepared filter bank; disabling retains the processed bank as the previous side and fades to dry. The Drum Mixer tail check keeps only the bounded transition alive after bypass, then returns to the zero-work disabled path.
The hostile instrument automation regression alternates 180 Hz/7.2 kHz,
-24/+24 dB, and Q 0.15/10 every 128 samples during a sustained note. The latest
run also toggles the global EQ switch repeatedly and remained finite and bounded.
A separate Drum Mixer stress pass alternates the same gain and Q extremes across
220 Hz/6.4 kHz while toggling global bypass, and likewise remained finite and
bounded. SHARED_EFFECTS_SIGNAL and AUDIO_SAFETY_CONTINUITY pass. The adjacent
PERFORMANCE_SMOKE run measured 21.4529% of its real-time window, with 0.0362
percentage points of measured idle-return overhead; this is regression evidence,
not a hardware-independent CPU claim.
Shared channel-EQ coefficient preparation
Drum Mixer and instrument Mixer EQ now use one implementation for peak, shelf, high-pass, and low-pass coefficient preparation. Their controls, caches, filter states, slope stages, and transition banks remain independently owned, but a future stability or response correction can no longer drift between two copies of the same DSP formula. Preparation remains change-gated at block boundaries; the refactor adds no per-sample work, allocation, or locking.
SHARED_EFFECTS_SIGNAL and AUDIO_SAFETY_CONTINUITY pass after consolidation.
The adjacent PERFORMANCE_SMOKE run measured 22.4709% of its real-time window
with zero measured idle-return overhead, remaining comfortably inside budget.
The Drum Mixer and instrument Mixer now also share one per-sample biquad kernel. Both domains consequently use the same finite-output and finite-state recovery, state reset, and denormal suppression instead of maintaining subtly different stability rules. The direct-form calculation and fixed channel-owned state are unchanged. Mixer signal, audio-safety, and performance gates pass; the adjacent performance run measured 20.915% of its real-time window with zero measured idle-return overhead. That percentage is recorded as a regression sample, not claimed as a refactor-derived speedup.
Automation-safe channel processor bypass
Channel compressor and saturation enables now use independent 64-sample wet/dry transitions in both the Drum Mixer and instrument Mixer. Their prepared control state remains warm only while a bypass transition is audible; after fade-out, disabled processors again perform no nonlinear or dynamics work and their stale envelope/tone state is cleared. Fixed per-channel floats provide the transition, with no allocation, locking, timers, or message-thread dependency.
The mixer regression now alternates compressor and saturation bypass at different
rates over a sustained note and requires finite, audible, bounded output with no
adjacent-sample jump above the continuity budget. Mixer signal and audio-safety
gates pass. The adjacent PERFORMANCE_SMOKE run measured 21.2564% of its
real-time window and 0.0534 percentage points of idle-return overhead.
Regular Mixer channel-processor automation parity
Instrument-channel compressor threshold, ratio, attack, release, and makeup, plus saturation drive, tone, and mix, now follow the same five-millisecond, 16-sample control-slice smoothing contract as Drum Mixer strips. Parameter reads remain fixed and lock-free, while decibel, exponential, and saturation-derived values are recalculated only when a smoothed control changes. Disabled processors perform neither smoothing nor derived-value work until they are enabled.
The sustained-note regression now combines extreme processor-control movement
with overlapping compressor and saturation bypass changes. Mixer signal and
audio-safety gates pass. The adjacent PERFORMANCE_SMOKE run measured 22.5154%
of its real-time window with 0.0306 percentage points of idle-return overhead.
Regular Mixer gain, pan, and send smoothing restoration
Regular Mixer channel gain, pan, and all eight shared-effect sends now advance through the same five-millisecond, 16-sample control-slice contract as Drum Mixer controls. Gain conversion remains change-gated outside the sample loop. Fixed channel-owned smooth values feed every voice assigned to that channel, preventing polyphony from changing gesture speed. Send target discovery also considers the current smoothed value, so an effect remains awake through a fade to zero and can retire its tail naturally. Mute and solo remain immediate by design.
The sustained automation regression now alternates -24/+6 dB gain and hard-left/
hard-right pan alongside processor control and bypass changes. Mixer signal and
audio-safety gates pass. The adjacent PERFORMANCE_SMOKE run measured 21.5043%
of its real-time window with 0.0421 percentage points of idle-return overhead.
Auto-pan depth and bus-gain continuity
Drum and instrument auto-pan depth plus all eight drum/instrument bus gains now use the existing five-millisecond control-slice smoothing contract. Auto-pan rate remains an immediate tempo division, and channel-to-bus assignment remains one discrete destination; SpaceAge never creates an ambiguous partial route merely to disguise a routing change. Bus decibel conversion remains change-gated at the block boundary, while only inexpensive linear interpolation occurs in slices.
The sustained mixer regression now automates auto-pan depth from zero to full
alongside gain, pan, processor controls, and processor bypass. Mixer signal and
audio-safety gates pass. The adjacent PERFORMANCE_SMOKE run measured 22.3566%
of its real-time window with zero measured idle-return overhead.
Automation-safe master-compressor bypass
Master compressor enable now uses a 64-sample dry/wet transition instead of a hard branch. Threshold, ratio, and makeup retain their existing five-millisecond smoothing during the bounded fade. Once bypass reaches dry, detector state is cleared and the compressor returns to zero work. The master limiter is deliberately unchanged: ceiling-threatening gain reduction remains immediate, with only its release smoothed, so continuity never weakens output protection.
Shared-effects signal and audio-safety gates pass, including master-compressor
character and limiter-ceiling checks. The adjacent PERFORMANCE_SMOKE run
measured 21.0758% of its real-time window with 0.0174 percentage points of
idle-return overhead.
Automation-safe Room bypass
Room reverb enable now uses the standard 64-sample bounded return fade instead of resetting the reverb at an arbitrary waveform position. Disabling Room stops new sends immediately, processes silence only for the short fade, then resets the reverb and returns it to zero work. Enabling Room fades the return in over the same interval, while size, damping, width, and return-level smoothing retain their existing behavior.
The shared-effects regression now performs a live disable during an audible Room tail. It measured 0.00616 RMS during the 64-sample fade and exact silence for the remainder of the block, while all existing Room character, shared-return silence, mixer-processor, master-processor, and finite-output checks passed.
Automation-safe HaloStar bypass
HaloStar now follows the same bounded enable policy as Room. Disabling it stops new sends, fades the active return over 64 samples, resets its internal delay and feedback state, and then returns to zero processing work. Enabling it fades the return in over the same interval. This replaces the previous immediate reset, which could truncate an active cloud at an arbitrary waveform value.
The shared-effects live-disable regression measured 0.000942 RMS during the HaloStar fade and exact silence afterward. HaloStar tail length, damping, width, shimmer, mode, feedback, predelay, disabled-return silence, and finite-output checks all remained passing.
Automation-safe EchoRay bypass
EchoRay now stops accepting new sends immediately when disabled, fades its existing wet return over 64 samples, invalidates delay history and filter state once, and then remains at zero delay-network work. An explicit cleared-state flag prevents fully bypassed blocks from repeatedly walking and clearing all 128 drum and instrument delay routes.
Because synchronized repeats are intentionally sparse, the live-disable test is signal-driven: it waits for an established audible repeat before switching the effect off. The regression measured 0.0325 RMS during the bounded fade and exact silence afterward. EchoRay character, stereo, level-stage, wet-only contract, shared-return silence, and finite-output checks all remained passing.
Automation-safe modulation-effect bypass
Chorus, flanger, phaser, and tremolo now share one bounded bypass policy. During the 64-sample transition their existing sends continue feeding the processor, the processed return fades to or from dry, and a completed disable resets the individual DSP state. Fully bypassed effects skip send-buffer clearing, routing, control DSP, and return mixing.
Chorus serves as the representative live-transition regression for the shared path and measured 0.02377 RMS during the fade with exact silence afterward. Separate chorus, flanger, phaser, and tremolo character, return-level, disabled-return, isolated-control, and finite-output checks all remained passing.
Automation-safe octave bypass
The musical octave shifter now keeps existing drum and instrument sends active only through a 64-sample processed-return fade. Once a disable reaches zero, the shifter resets and fully bypassed blocks skip send-buffer clearing, routing, pitch processing, and return mixing. Re-enabling uses the same bounded fade-in while the existing ratio and level smoothers retain their behavior.
The live-disable regression measured 0.00883 RMS during the fade and exact silence afterward. All four octave choices, return-level behavior, disabled-return silence, and finite-output checks remained passing. This closes the immediate-reset audit for all shared send effects.
Six-band mixer EQ implementation
- Instrument mixer channels now use the same six-stage topology as drum channels: high-pass, low shelf, two parametric bells, high shelf, and low-pass.
- The instrument filter bank remains coefficient-change gated. A bypassed EQ performs no per-sample filter work, neutral gain bands are inactive, and the pass filters become inactive at their neutral frequency boundaries.
- The mixer UI exposes one selected band at a time, so changing the displayed band only replaces message-thread parameter attachments. It adds no timer, repaint loop, analyzer, allocation, or audio-thread work.
MIXER_LANE_ROUTING,SHARED_EFFECTS_SIGNAL,MIXER_STATE_PERSISTENCE, andMIXER_LAYOUTpass with the new parameters and panel.- The Release
FOCUSED_EFFECTS_PERFORMANCEfull-production profile measured 29.06% realtime load at 48 kHz / 512 samples, compared with the previously recorded 29.39% fixture. This is normal run-to-run variation and demonstrates no measurable regression; it is not claimed as an EQ-derived speedup.
Static EQ response curve
- Each visible channel EQ panel now draws the exact combined magnitude response of its six configured biquads. The display reads message-thread parameter snapshots and recalculates only when a bound control, selected band, mixer bank, or enabled state changes.
- There is no FFT, audio capture, timer, worker, allocation on the audio thread, or hidden-page repaint loop. The display component is hidden with its EQ panel.
MIXER_LAYOUTpasses with 2,402 audited controls, andSHARED_EFFECTS_SIGNALremains finite and behaviorally distinct.- The repeated Release full-production profile measured 29.18% realtime load at 48 kHz / 512 samples, inside ordinary variation from the preceding 29.06% and 29.39% measurements. The static response display therefore adds no measurable audio-processing burden.
Per-band EQ bypass and neutral rack
- Every drum and instrument channel EQ band now has an independent enable parameter. The global EQ switch enables the rack, while a newly enabled rack keeps all six bands bypassed and performs no per-band sample work.
- Disabling a band clears both stereo biquad states immediately. Frequency, gain, Q, and enable values share the existing exact change gate, so unchanged controls do not rebuild coefficients.
- The response display omits disabled bands and refreshes only from message-thread
attachment changes.
MIXER_LANE_ROUTINGproves neutral-rack output at 0.226754 versus 0.227426 in consecutive phase-varying renders, then proves an enabled bell band changes the signal. Mixer layout and state persistence pass. - Two Release full-production runs measured 32.15% and 31.71%. Their dry baselines were also elevated at 19.95% and 19.41%, versus the earlier 17.68%, indicating broader machine-load variation. Both profiles passed. The full-production-minus-dry spreads were 12.20 and 12.30 percentage points; continue tracking that spread when pass-filter slopes or an analyzer are added.
Classic Machine model-specific render preparation
- The Classic Machine renderer now evaluates its standard exponential decay only for models that actually consume that envelope. The six metallic models retain their dedicated metal decay and no longer pay for a discarded exponential calculation on every active-voice sample.
- Tonal Classic Machine models that do not consume noise no longer advance the per-voice noise generator merely to discard its result.
- The selected model's audible formulas are unchanged; the renderer simply prepares fewer unused inputs. Savings scale with Classic Machine polyphony and are strongest for metallic and purely tonal patches.
Physical plucked-bass envelope specialization
- The detailed plucked-bass physical model now skips the generic physical decay envelope that its dedicated string-envelope return path never consumed.
- This removes one discarded exponential calculation per active plucked-bass voice sample while preserving the model's existing Karplus-Strong feedback, body filtering, transient noise, and dedicated string decay exactly.
- The modal and simpler string models retain the generic envelope, including their existing live damping and decay response.
Physical string delay-line wrapping
- Both Karplus-Strong physical string paths now advance their circular delay-line indices with bounded wrap checks instead of integer remainder operations.
- The detailed plucked-bass path applies the same exact wrapping to its previous, second-next, pickup, and bridge taps. Each offset is already constrained below one delay-line length, so one conditional subtraction addresses the same sample as remainder arithmetic.
- This removes up to five integer divisions per detailed plucked-bass voice sample and one per simpler string voice sample without changing delay length, tuning, feedback, or pickup geometry.
Physical modal-envelope recurrence
- The six-mode physical resonator now advances modal decay envelopes multiplicatively between exact rebases instead of evaluating six exponentials for every active-voice sample.
- Envelopes rebase immediately when damping or decay geometry changes, after a voice spends time in another physical model path, and every 1,024 continuously rendered samples to bound accumulated floating-point drift.
- Each rebase also prepares the six per-sample multipliers. A stable modal voice therefore replaces as many as 6,144 exponential evaluations per 1,024 samples with 12 preparation exponentials and inexpensive multiplications while retaining live block-rate control response.
Kick and Snare Lab note-start derivation
- Kick Lab and Snare Lab now prepare their note-latched base pitch, noise-filter coefficient, drive gain, and saturation-bias correction when a voice starts rather than rebuilding them for every rendered sample.
- This removes a pitch power, filter sine, decibel conversion, and constant saturation hyperbolic tangent from each active Lab voice sample. Pitch sweep, decay, transient, compressor, and other deliberately live controls retain their existing render-rate or block-rate behavior.
- Their bounded 1,024-sample comb-buffer reads now use exact conditional wrapping instead of integer remainder operations.
Shared voice filter-route compilation
- Filter modulation routes are now compiled once per source per audio block into velocity, random-timbre, and LFO coefficients instead of scanning and branching over every route for every active voice sample.
- Multiple filter LFO routes share one sine evaluation per sample, while sources with no filter LFO route skip that oscillator entirely.
- The shared voice comb read and delay-line advance now use exact bounded wrapping rather than integer remainder operations.
Permanent engine and production-effects CPU coverage
- The polyphonic CPU gate now measures Classic Machine metallic, Physical Model modal, Kick Lab, and Snare Lab alongside the existing synth and sampler cases. Each case renders eight simultaneous pitched voices and requires finite, audible output, timely voice release, and substantial realtime headroom.
- Focused effects performance now includes a full-production profile with Room reverb, HaloStar, EchoRay, octave, all four modulation effects, channel compressor/EQ/saturation, four drum buses, master compressor, and master limiter active together.
FOCUSED_EFFECTS_PERFORMANCEis now a first-class targeted test gate, making the combined-effects load repeatable in future optimization work.
Measured on the 48 kHz / 512-sample Release fixture after this optimization group:
- Eight-voice Classic Machine metallic: 4.28% realtime load.
- Eight-voice Physical Model modal: 4.28% realtime load.
- Eight-voice Kick Lab: 4.17% realtime load.
- Eight-voice Snare Lab: 4.35% realtime load.
- Full production effects mix: 29.39% realtime load, including all shared effects, eight processed drum strips, four drum buses, and master compressor/limiter.
The measurements are regression budgets and directional engineering evidence, not a promise of identical percentages on different processors, audio drivers, host block sizes, or project material.
Standalone release configuration boundary repair
- The live-chord readout cache test helper is now compiled only in the audio self-test configuration, matching its header declaration.
- The production readout implementation remains present in standalone and plugin builds. This removed an existing UI-only release-build failure exposed while producing the post-optimization test build.
Arrangement lane ordering lookup
- Visual lane ordering now derives from lane type, keeping every drum lane below instrument lanes even after later lane insertion.
- Both logical-to-visual and visual-to-logical translation remain bounded linear passes with no allocation, sorting, timer work, or audio-thread involvement. This avoids turning the correctness repair into quadratic redraw work as projects gain lanes.
Block-compiled Layer and Lab processors
- The independent Layer and Lab envelope/filter controls are now captured once per source at the start of each audio block instead of loading up to eleven atomic parameters for every active voice sample.
- Envelope decay and release rates, filter-envelope rate, resonance damping, and band-pass gain are derived once per block. The per-sample path retains the same envelope and state-variable-filter equations, including next-block automation response.
- Disabled local processors still return immediately, and enabled envelope-only processors avoid all filter preparation and filter work. Savings scale with sample-layer and Kick/Snare/Hat Lab polyphony.
DRUM_LAB_FLUX_RENDERpasses for all three Lab engines after the change, with finite audible output and clean reset behavior.
Compiled internal-engine pitch routes
- Internal-engine pitch modulation now compiles velocity, random-timbre, and LFO route amounts once per source per audio block instead of scanning and branching over all four route slots for every active voice sample.
- Sources without an active pitch LFO route skip the pitch LFO sine calculation entirely. Multiple same-source routes are folded into one coefficient while retaining the existing 12-semitone amount scale and block-rate route response.
- Channel-pressure and poly-aftertouch pitch routes remain silent in this renderer, matching their previous behavior until those real-time modulation sources are connected deliberately.
- The 629-preset rendered-audio matrix passes with no failures after the change.
Neutral internal-engine pitch-sweep bypass
- Internal-engine voices with a zero pitch-sweep amount now skip the sweep curve's power and exponential evaluations entirely.
- Nonzero sweep patches retain the existing curve, decay, and block-rate automation behavior. The bypass threshold matches the renderer's established effectively-neutral control convention.
- This removes two transcendental operations per active voice sample from neutral-sweep internal patches, which are common among sustained and tonal starting points.
- The permanent polyphonic CPU gate now includes separate eight-voice Internal Engine neutral-sweep and active-sweep profiles.
- On the 48 kHz / 512-sample Release fixture, the neutral-sweep profile measured 5.35% realtime load versus 5.74% for the active-sweep profile. This is approximately 6.9% less CPU within the Internal Engine benchmark; machine-wide project savings depend on how much of the project load comes from neutral-sweep Internal Engine voices.
Neutral crusher and settled transient bypass
- The shared voice sample-rate reducer now bypasses its hold-counter branch and held-sample reread when the reduction rate is 1. It still refreshes the held value so automation into a reduced rate begins from the same sample as before.
- Transient emphasis stops evaluating its decay exponential after 200 ms. At that age the maximum possible emphasis contributes less than
1.6e-8, so the float multiplier rounds to exactly1.0and the former calculation cannot alter an audio sample. - These bypasses preserve block-rate automation: raising the crusher rate resumes hold behavior immediately, and transient amount changes within its audible 200 ms window retain the original response.
Neutral SoundFont vibrato bypass
- SoundFont voices now calculate vibrato fade progress only when both vibrato rate and depth are active. The default neutral-vibrato path therefore avoids a per-sample division and clamp.
- Active vibrato retains the same sine, depth, fade, pitch-wheel quantization, and block-rate control response.
- The permanent polyphonic CPU gate now measures the synthetic SoundFont fixture with both neutral and active vibrato configurations.
- On the 48 kHz / 512-sample Release fixture, eight neutral-vibrato SoundFont voices measured 4.29% realtime load versus 4.64% with vibrato active, approximately 7.4% less CPU within this SoundFont benchmark.
Neutral Redshift modulation bypass
- Redshift now skips drift, pulse-width drift, cross-modulation, and vibrato oscillators when their respective amounts are neutral. Vibrato fade progress is likewise calculated only for active vibrato.
- A zero filter-envelope amount now bypasses the otherwise discarded per-sample filter-envelope exponential.
- Active modulation retains the existing formulas and block-rate control response. The permanent CPU gate now carries separate neutral and active Redshift modulation profiles.
- On the 48 kHz / 512-sample Release fixture, eight neutral-modulation Redshift voices measured 4.96% realtime load versus 5.79% with drift, cross-modulation, vibrato, and filter envelope active, approximately 14.3% less CPU within this Redshift benchmark.
Cross-engine neutral vibrato and motion bypass
- Propulsion, Liftoff, Glass Moon, Moonshadow, and Lunacy now calculate vibrato fade progress only when both vibrato rate and depth are active.
- Liftoff wavetable-position motion and Lunacy source-position motion now skip their age-based sine oscillator when motion is neutral. Enabling motion later retains the same phase because both formulas derive phase directly from voice age.
- Active vibrato and motion formulas, control ranges, and block-rate automation response are unchanged.
Bounded Propulsion, Liftoff, and Lunacy phase wrapping
- Propulsion and native-wavetable Liftoff oscillator phases now use a single bounded subtraction after each positive sub-cycle increment instead of a general floating-point remainder operation. Liftoff user-sample playback retains general wrapping because extreme source-rate and tuning combinations can advance by more than one cycle.
- Liftoff wavetable interpolation uses its already bounded sample index directly and conditionally wraps only the next sample, removing two integer remainder operations from every wavetable lookup.
- Lunacy's nonnegative LFO phase uses the same bounded wrap. Phase ranges, interpolation points, automation timing, and active modulation behavior remain unchanged.
Redshift metallic-partial fast wrapping
- Redshift's six metallic partial phases now use direct advancement when no boundary is crossed and one subtraction for an ordinary single-cycle crossing.
- Extreme high-frequency increments that can cross multiple cycles retain the general remainder fallback, preserving the full tuning range.
- The permanent polyphonic CPU gate now includes an eight-voice Redshift metallic-partial profile so this optional six-oscillator layer has explicit performance coverage.
Redshift inactive oscillator rendering
- Redshift now skips oscillator-2 waveform generation and the sub-oscillator sine when their levels are neutral. Both phases continue advancing, so enabling either level during a note retains the previous phase and automation response.
- A zero noise mix bypasses discarded blend arithmetic while the random generator and pink-noise state continue advancing for automation continuity.
- Active oscillator, sub, and noise paths retain their existing formulas and normalization.
Moonshadow neutral spectral and attack-noise bypass
- Moonshadow now skips its spectral-envelope exponential when spectral amount is neutral. Brightness remains at the exact base-control value in that state.
- Noise-only patches no longer calculate the attack-character decay exponential when attack character is neutral. Active attack character retains the existing decay curve and noise blend.
- The permanent polyphonic CPU gate now carries separate eight-voice Moonshadow neutral and active spectral/noise profiles, keeping both the optimized common case and the full feature path under budget.
- On the 48 kHz / 512-sample Release fixture, the neutral profile measured 5.21% realtime load versus 5.50% with spectral motion and noise active, approximately 5.2% less CPU within this Moonshadow benchmark.
Glass Moon inactive-operator bypass
- Glass Moon operators at exactly zero level now skip their otherwise discarded envelope exponential and sine evaluation.
- Disabled operators continue advancing phase and decaying feedback, so enabling them during a held note preserves live-automation timing and avoids stale feedback returning suddenly.
- Ordinary positive phase increments now use a bounded single subtraction instead of a general floating-point remainder operation.
- The permanent polyphonic CPU gate now measures separate eight-voice carrier-only and full four-operator Glass Moon profiles.
- On the 48 kHz / 512-sample Release fixture, the carrier-only profile measured 4.65% realtime load versus 4.97% with all four operators active, approximately 6.4% less CPU within this Glass Moon benchmark.
Lunacy dead effects-history removal
- Lunacy no longer applies
tanh, writes a 2,048-sample per-voice effects-history buffer, and wraps its write index for data that had no reader anywhere in the engine. - Removing the unused history also reduces every voice object by 8,196 bytes, lowering voice-pool memory and cache pressure.
- The rendered signal, grain state, filters, live controls, and automation paths are unchanged because the removed history never fed audio or state restoration.
- Lunacy remains covered by the permanent eight-voice Normal-quality polyphonic CPU profile and the full factory-preset rendered-audio matrix.
Kick and Snare Lab neutral resonance/saturation bypass
- Kick Lab and Snare Lab now skip comb-delay address calculation and history reads when resonance is neutral. Their delay histories continue updating, preserving immediate live-automation response.
- Both engines skip the otherwise discarded second
tanhsaturation curve when saturation is neutral. The primary drive curve remains unchanged. - The permanent polyphonic CPU gate now measures separate eight-voice neutral and active resonance/saturation profiles for both Lab engines.
- On the 48 kHz / 512-sample Release fixture, neutral Kick Lab measured 4.64% realtime load versus 4.80% active, approximately 3.3% less CPU within that benchmark. Neutral Snare Lab measured 4.67% versus 5.03% active, approximately 7.1% less CPU.
Hat Lab neutral optional-layer bypass
- Hat Lab now skips all six metallic-partial sine evaluations and the metallic decay exponential when metal mix is neutral, while continuing to advance the shared metallic phase.
- Neutral comb resonance bypasses its delay address and history read, and neutral transient and saturation controls bypass their otherwise discarded exponential and second
tanhcurve. - Noise/filter and delay-history state continue updating, preserving live-automation response. The permanent CPU gate now includes separate eight-voice neutral and active optional-layer profiles.
- On the 48 kHz / 512-sample Release fixture, the neutral profile measured 4.52% realtime load versus 5.09% with the optional layers active, approximately 11.1% less CPU within this Hat Lab benchmark.
Classic Machines neutral saturation and FM bypass
- All 25 Classic Machine models now return directly after the primary drive curve when saturation is neutral, avoiding a discarded second
tanh, bias subtraction, division, and interpolation. - FM models 17–24 skip the modulator sine when FM amount is neutral while continuing to advance both carrier and modulator phases for live automation.
- Kick models skip their short attack-noise exponential when attack is neutral. Noise state still advances consistently.
- The permanent polyphonic CPU gate now measures neutral and active saturation on a metallic model plus neutral and active modulation on an FM model.
Physical Modeling neutral strike-excitation bypass
- Modal Physical Modeling voices now skip the short strike-excitation decay exponential when strike is neutral.
- The noise generator still advances on every sample, preserving its state if strike is automated during a held voice. Membrane bloom, resonant modes, and all active-strike behavior remain unchanged.
- The permanent polyphonic CPU gate retains membrane coverage and adds separate eight-voice plate profiles with neutral and active strike.
Propulsion waveform-specific noise generation
- Propulsion no longer advances and validates its random generator for tonal oscillator waveforms that discard the resulting noise sample.
- Noise oscillators now return before phase normalization and anti-alias step preparation, which those oscillators do not use.
- Oscillator phases, unison tuning, stereo spread, and tonal waveform equations remain unchanged. Noise state now advances only while a noise waveform is active, matching conventional oscillator behavior.
- The permanent polyphonic CPU gate now carries separate eight-voice, five-way-unison tonal and all-noise Propulsion profiles.
Liftoff table-specific noise and mip selection
- Liftoff now advances its random generator only for the residue/noise table or the existing residue fallback used when User Source has no loaded sample. Tonal wavetables and valid user samples no longer generate discarded noise.
- The residue table skips per-sample harmonic-budget division and mip searching because its generated waveform is identical at every mip level.
- Wavetable interpolation, warp, unison, phase, and User Source playback behavior remain unchanged. The permanent CPU gate now carries separate eight-voice, four-way-unison tonal and residue profiles.
Quasar and shared sample-playback specialization
- Mono Quasar zones and sample layers now interpolate their single channel once and reuse it for the centered output instead of reading and interpolating that same channel twice.
- Samples with both fades disabled skip normalized playback-progress calculation and both fade-condition divisions. Active fade-in and fade-out behavior is unchanged.
- Stereo interpolation, mapped-file reads, looping, pitch expression, local envelope/filter processing, and gain remain unchanged.
- The permanent eight-voice Quasar fixture is explicitly identified as mono, matching the optimized common capture case.
80s FM free-running oscillator phase accumulation
- With oscillator key sync disabled, each active operator now resynchronizes its global phase once per 64-sample control frame and uses the existing fixed-point phase accumulator between control frames.
- This removes floating-point remainder and rounding work from 63 of every 64 samples while preserving free-running phase, control-rate frequency updates, operator routing, envelopes, and feedback.
- The permanent CPU gate now includes sparse and full six-operator free-running 80s FM profiles under eight-note polyphony.
- On the 48 kHz / 512-sample Release fixture, the sparse and full profiles measured 4.86% and 4.84% realtime load respectively. All 629 factory presets and the audio safety/continuity gate also passed.
Liftoff residue-table interpolation specialization
- Liftoff's residue table now uses its linear position law directly instead of reading and interpolating two adjacent position frames for every unison voice.
- The specialized path retains the same phase interpolation, position-dependent tonal amplitude, noise blend, warp saturation, and output limiting while halving wavetable reads and removing the frame-selection work.
- On the 48 kHz / 512-sample Release fixture, the eight-note, four-way-unison residue profile measured 5.40% realtime load, down from the preceding 10.13% measurement and slightly below the 5.79% tonal profile in the same run.
- The complete 33-profile CPU gate, all 629 factory presets, and the audio safety/continuity gate passed after the change.
Lunacy grain-window lookup specialization
- Lunacy's Hann, sine-taper, and cosine-taper grain windows now reuse the engine's interpolated sine table instead of invoking standard trigonometric functions for every active grain on every sample.
- The lookup interpolation also avoids a redundant floor operation. Gaussian and triangular windows retain their existing equations.
- The permanent CPU gate now measures normal-quality Hann and Gaussian grain profiles separately, covering both the optimized common path and the more complex exponential window path.
- On the 48 kHz / 512-sample Release fixture, the eight-note Hann and Gaussian profiles measured 5.37% and 5.22% realtime load. The complete 34-profile CPU gate, all 629 factory presets, and audio safety/continuity passed.
Redshift metallic-partial sine lookup
- Redshift's six metallic shimmer partials now use a 2,048-point linearly interpolated sine table instead of six standard sine evaluations per voice per sample.
- Partial phase, tuning ratios, metallic spread, decay envelope, gain, and output limiting remain unchanged. Primary and secondary oscillator waveform generation is unaffected.
- On the 48 kHz / 512-sample Release fixture, the eight-note metallic-partial profile measured 4.98% realtime load versus 5.26% in the preceding comparable stable run, approximately 5.2% less CPU within that profile.
- The complete 34-profile CPU gate, all 629 factory presets, and audio safety/continuity passed after the change.
Liftoff shared position-frame preparation
- Liftoff now calculates each oscillator's clamped wavetable position, adjacent frame indices, and frame interpolation fraction once per sample before entering the unison loop.
- Every unison voice retains independent phase, frequency, mip selection, sample interpolation, noise, and warp saturation; only position work that was identical across the voices is shared.
- The polyphonic CPU harness now accepts
SPACEAGE_POLYPHONIC_CPU_FILTER, allowing one engine or profile family to be measured without running the full matrix. This reduces measurement delay and helps separate engine cost from system-wide background load. - The complete 34-profile CPU gate and a filtered Liftoff-only gate passed. Because Windows showed roughly double normal cost across every engine during measurement, no before/after percentage is claimed for this pass. All 629 factory presets and audio safety/continuity also passed.
Propulsion tonal oscillator specialization
- Propulsion now uses bounded one-cycle phase wrapping for its normal unison range, retaining general remainder handling only for unexpected larger values.
- Sine oscillators use a 2,048-point linearly interpolated table, and triangle oscillators use their exact piecewise-linear equation instead of a sine followed by arcsine.
- PolyBLEP saw, square, and pulse behavior, oscillator phases, unison tuning, stereo spread, and noise generation remain unchanged.
- On the 48 kHz / 512-sample Release fixture, the eight-note five-way-unison tonal profile measured 5.14% realtime load versus 5.40% in the preceding stable run, approximately 4.8% less CPU. Its cost is now effectively level with the 5.12% all-noise profile.
- The complete 34-profile CPU gate, all 629 factory presets, and audio safety/continuity passed after the change.
Moonshadow partial-motion and width specialization
- Moonshadow's active partial motion now reuses the engine's 2,048-point interpolated sine table instead of invoking a standard sine function for every partial on every sample.
- Fixed per-partial stereo-width phase offsets are generated once in a static table rather than recalculated throughout every voice. The sine lookup interpolation also avoids a redundant floor operation.
- Spectral envelopes, partial ratios, phase accumulation, motion rates, width amount, noise color, and model-specific amplitude laws remain unchanged.
- The targeted Moonshadow gate and complete 34-profile CPU gate passed. System-wide background load varied too heavily for a defensible before/after percentage, so none is claimed. All 629 factory presets and audio safety/continuity also passed.
Shared static voice-filter coefficient caching
- The common post-engine filter now prepares its tangent and topology-preserving normalization coefficient once per audio block when cutoff is genuinely static.
- Filter envelopes, velocity response, modulation routes, synth and SoundFont LFO movement, and per-step filter locks automatically retain per-sample coefficient calculation.
- The permanent CPU matrix now includes separate eight-note static and modulated shared-filter profiles, expanding the suite from 34 to 36 profiles.
- The targeted shared-filter gate and complete 36-profile CPU gate passed. Under the current background load, static and modulated profiles measured 7.24% and 7.31% in the targeted run; no broader percentage claim is made. All 629 factory presets and audio safety/continuity also passed.
Shared comb delayed-saturation specialization
- The common comb history now stores the finite unsaturated voice sample and applies the same
tanhsaturation when delayed history is actually read. - Active comb feedback retains its saturated delayed signal and live automation sees equivalently saturated history, while neutral comb voices no longer execute a discarded nonlinear function on every sample.
- Non-finite values are replaced with zero before entering delay history, preventing contaminated history from resurfacing later.
- The permanent CPU matrix now includes separate shared neutral and active comb profiles, expanding coverage from 36 to 38 profiles. The targeted shared-chain gate, complete matrix, all 629 factory presets, and audio safety/continuity passed.
Shared neutral-click and quantizer arithmetic specialization
- A neutral transient-click control now preserves the voice random-generator advance but skips discarded envelope, phase, waveform-selection, and mix calculations. Active noise, sine, wood, and digital clicks retain their existing rendering.
- Bit-depth quantization now multiplies by a per-block reciprocal instead of dividing by the selected level count on every voice sample. The 2- through 16-bit quantization grids are unchanged.
- The permanent CPU matrix now includes neutral and active click profiles plus 16-bit and 4-bit quantizer profiles, expanding coverage from 38 to 42 profiles.
- In the stable 48 kHz / 512-sample run, the eight shared profiles measured approximately 4.3% to 4.6% realtime load. The complete matrix, all 629 factory presets, and audio safety/continuity passed.
Shared settled gate-envelope bypass
- Gate-mode voices now use the exact sustain level after shaped decay progress reaches
3.0, avoiding a continuing exponential evaluation for the remainder of a held note. - At that transition, the omitted decay contribution is below
exp(-19.5), approximately0.0000000034. This is far beneath the existing audio and voice-finish thresholds. Moving gate envelopes, one-shot envelopes, note releases, and sustain automation before settling retain their existing calculations. - The permanent CPU matrix now includes separate moving and settled eight-note gate-envelope profiles, expanding coverage from 42 to 44 profiles.
- In the focused 48 kHz / 512-sample run, the settled profile measured 13.07% realtime load versus 14.04% for the moving profile, approximately 6.9% less CPU in this sustained-envelope stress case. The complete 44-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Shared transient-envelope recurrence
- The common post-engine transient shaper now advances its fixed 90 Hz decay envelope with one multiplication per voice sample instead of recalculating an exponential while the first 200 milliseconds of every voice are active.
- The sample-rate-dependent multiplier is prepared once, and the per-voice envelope starts at unity on every trigger. The transient amount remains live for automation, including changes made after a voice begins.
- Dedicated neutral and active transient-shaper profiles expand the permanent CPU matrix from 44 to 46 cases.
- In the focused 48 kHz / 512-sample run, neutral and active profiles measured 4.61% and 4.64% realtime load respectively, making active transient shaping effectively cost-neutral in this test. The complete 46-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Shared body-tightness blend preparation
- The common body-tightness stage now prepares its dry gain and normalized nonlinear wet gain once per source block instead of rebuilding the blend and normalization for every active voice sample.
- The existing
tanh(sample * 3)curve, normalization, parameter range, neutral bypass, and block-rate automation behavior remain unchanged. - Dedicated neutral and active body-tightness profiles expand the permanent CPU matrix from 46 to 48 cases.
- In the focused 48 kHz / 512-sample run, neutral and active profiles measured 5.14% and 4.98% realtime load respectively, so active body tightness added no measurable load in this fixture. The complete 48-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Settled filter-envelope bypasses
- Redshift, the independent Layers/Engine filters, and the shared voice filter now stop evaluating their filter-envelope exponential after its multiplier falls below
exp(-19.5), approximately0.0000000034. - Filter envelopes continue to render normally while moving. Once settled, their remaining maximum cutoff contribution is far below an audible or representable control change; filter audio state, resonance, modulation, and automation remain active.
- A dedicated settled shared-filter profile expands the permanent CPU matrix from 48 to 49 cases and complements the existing static and moving-filter profiles.
- The focused and complete 49-profile gates passed. The short focused fixture did not show a defensible reduction because filter coefficient work dominates it, so no percentage claim is made; this change specifically removes wasted work from long-held voices. All 629 factory presets and audio safety/continuity also passed.
Independent envelope settled-state bypasses
- The independent Layers and Engine amplitude envelopes now use the exact sustain level after their decay residual falls below
exp(-19.5), and use zero after a release reaches the same threshold. - Moving attack, hold, decay, sustain, and release behavior remains unchanged. Filter processing continues after the amplitude reaches zero so existing resonant tails can decay naturally.
- Moving and settled Kick Lab independent-envelope profiles expand the permanent CPU matrix from 49 to 51 cases and directly cover the Engine-side processor path shared with Layers.
- In the focused 48 kHz / 512-sample run, moving and settled profiles measured 5.38% and 4.99% realtime load respectively, approximately 7.2% less CPU in this envelope stress case. The complete 51-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Shared modulation-route sine lookup
- The common 2 Hz LFO used by pitch and filter modulation routes now reads a 4,096-point linearly interpolated sine table instead of invoking the standard sine function for every routed voice sample.
- Route amount, phase, pitch scaling, filter scaling, neutral bypasses, and block-rate automation remain unchanged. The larger table keeps interpolation error well below audible modulation resolution.
- Neutral and simultaneous pitch-plus-filter route profiles expand the permanent CPU matrix from 51 to 53 cases.
- In the focused 48 kHz / 512-sample run, neutral and active dual-route profiles measured 5.12% and 4.97% realtime load respectively, so active routing added no measurable load in this fixture. The complete 53-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Engine vibrato sine lookup
- Redshift, Propulsion, Liftoff, Glass Moon, Moonshadow, Lunacy, and SoundFont vibrato now share the 4,096-point interpolated sine table instead of invoking the standard sine function for every active vibrato voice sample.
- Oscillator waveforms, FM phase tables, vibrato rate/depth/fade, sync-derived rates, and neutral bypasses remain unchanged. Only the low-frequency vibrato waveform evaluation uses the shared lookup.
- An active Propulsion vibrato profile expands the permanent CPU matrix from 53 to 54 cases, complementing the existing neutral/active SoundFont and Redshift modulation coverage.
- In the focused 48 kHz / 512-sample run, active Propulsion vibrato measured 4.23% realtime load. SoundFont measured 4.05% neutral and 4.37% active; its active case also includes live pitch-wheel updates. The complete 54-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Moonshadow Air Choir fixed partial weights
- Moonshadow's Air Choir model now prepares its 64 fixed partial weights once instead of evaluating a sine from the unchanged partial index for every partial on every voice sample.
- The exact weight equation, partial ordering, oscillator phases, motion, quality levels, width, and spectral controls remain unchanged.
- A High-quality Air Choir profile with 64 partials expands the permanent CPU matrix from 54 to 55 cases.
- In the focused 48 kHz / 512-sample run, the dedicated eight-note Air Choir profile measured 5.10% realtime load. No before/after percentage is claimed because this profile is new. The complete 55-profile matrix, all 629 factory presets, and audio safety/continuity passed.
Convolution control-math preparation
- The shared convolution return now converts Damping to its filter coefficient once per process call and smooths that coefficient directly, removing power and exponential evaluation from the sample loop.
- The exact equal-power Size gains are prepared in a 2,049-point table and linearly interpolated during processing, removing per-sample sine and cosine calls while retaining the existing morph endpoints and curve.
- The focused 96 kHz, 1,024-sample dual-room stress render fell from a 0.497x baseline to 0.440x best observed and 0.453-0.455x clean verification runs, approximately 8.5-11.5% lower depending on machine contention. Timing, automation segmentation, room distinction, tail settlement, hostile-input recovery, and project-level shared-effects tests remained green.
- A proposed settled-control branch path was rejected. Two measurements produced 0.538x and 0.482x, both worse than the 0.440x lookup-only result; its added branching and temporary-value work were removed.
- Repeated product testing exposed an intermittent finite-magnitude runaway. Root-cause isolation proved that float rounding in the fractional Pre-delay wrap could yield a read index exactly equal to the ring capacity, causing a one-past-end read; at 20 ms this alternated between nearly silent output and enormous values depending on adjacent memory. Double-precision wrap arithmetic now normalises both bounds before indexing. The neutral engine also sanitises input outside +/-8 and discards any backend output block containing non-finite or out-of-range values. Focused 20-ms timing now moves onset from sample 341 to 1301 with full 0.644371 energy, and twelve rapid fresh instances report substantial zero- and 20-ms energy with no rejected blocks.
- A shared static JUCE convolution message queue was evaluated and rejected. Although focused DSP remained correct, VST3 host smoke timed out during module teardown; per-engine queue ownership was restored before release rebuilding.
Circular-delay boundary audit
- The convolution Pre-delay failure prompted an audit of every circular delay reader in the production audio path. Integer-only drum combs and Halostar Pre-delay were already bounded correctly.
- The Musical Octave Shifter and Halostar shimmer pitch windows used the same vulnerable float-domain wrap. Their clamped indices prevented an out-of-bounds access, but a rounded position equal to the buffer capacity could still produce a one-sample interpolation extrapolation and audible glitch. Both now use double-precision lower-and-upper-bound normalization before indexing.
- EchoRay's shared fractional reader already promoted its float delay value before subtraction; it now also normalizes both bounds explicitly before indexing, making the invariant local and resilient to future range changes.
- The convolution focused suite and the complete shared-effects signal gate pass after the audit. Coverage includes convolution timing and hostile controls, Halostar shimmer modes, octave choices, EchoRay modes, modulation effects, all effect disable fades, and finite-output checks.
Settled custom-convolution specialization
- During the 50 ms built-in-to-custom transition, the compact room, deep room, and custom response all remain active so the crossfade has complete histories and cannot click.
- Once the custom response reaches 100%, the two built-in convolutions are no longer processed and multiplied by zero. This removes the dominant avoidable cost from sustained custom-IR use; only the selected non-uniform custom convolution remains active.
- JUCE 8.0.8 source inspection confirms that the queued kernel command is drained synchronously by
prepare()before the guarded engine is published, so the transition cannot target an unprepared backend. The focused convolution and complete shared-effects gates pass after specialization.
Missing-IR folder recovery isolation
- Recursive recovery may hash many large WAV/AIFF files, so it runs on a background-priority worker rather than the message or audio thread.
- The worker receives only the selected folder and saved SHA-256 fingerprint. It never touches live DSP state; an exact match is handed back to the message thread and installed through the existing guarded custom-IR path.
- The external-IR regression proves exact folder recovery alongside sample-rate restoration, missing-path retention, strict mismatch rejection, and intentional replacement. Standalone launch and VST3 discovery/audio/state/editor smoke remain green.
Custom convolution tail scheduling
- Tail processing remains demand-driven rather than continuously active, but its bounded countdown follows the active response: 3.0 seconds for built-in rooms or the custom IR duration plus the 250 ms maximum Pre-delay.
- This preserves long imported halls without paying their convolution cost when no send or tail is active. The focused lifecycle contract uses a four-second custom response and proves the 4.25-second budget survives host re-preparation and returns to 3.0 seconds after clearing the response.
Mixer-bus Reverb sends
- Drum Buses A-D and Instrument Buses A-D now expose independent, project-persistent Reverb sends.
- The controls are read once per block and smoothed with the existing bounded mixer-control cadence. Per-sample multiply/add work occurs only for an audible bus whose smoothed send is above the silence threshold.
- All sends default to zero, so existing projects add no Reverb input and no active convolution burden. The bus signal is tapped post-fader and post-mute; muted or excluded buses cannot leak into the shared return.
- Isolated signal coverage proves both bus families create a Reverb tail, muted buses remain silent, and all eight values survive state restoration. Mixer layout, mixer persistence, the complete shared-effects signal sweep, standalone launch, and VST3 audio/state/editor smoke pass.
- Once the 50 ms custom-response transition settles, the engine now also skips the per-sample built-in Size-table interpolation. The Size smoother continues advancing, preserving a click-free future return to built-in rooms, but inactive morph math no longer taxes sustained custom-IR playback.
Responsive custom-IR loading
- User-initiated WAV/AIFF decoding, sanitation, fingerprinting, and convolution preparation now run on a single background-priority worker instead of blocking the interface thread.
- Direct loads, strict relinks, and exact-folder recovery share the same serialized path. The editor joins the worker during teardown, preventing a load from outliving its processor, while status text reports preparation and completion on the message thread.
- Custom convolution preparation is now a prepare-then-publish transaction. Resampling, normalization, allocation, and FFT setup occur before the callback guard; only configuration validation and a prepared-engine pointer swap occur while audio is suspended. A concurrent device-format change rejects the stale prepared engine instead of publishing an incompatible block contract.
- Generation tokens prevent superseded loads and folder searches from publishing or repainting stale status. Choosing built-in rooms invalidates pending work immediately, avoiding an unexpected late engine replacement.
- Stale-work checks now also sit between fingerprinting, decoding, sanitation, and engine preparation, while recursive recovery checks between candidate files. Obsolete requests therefore leave at the earliest safe stage instead of necessarily consuming the full preparation cost before rejection.
Basic Groove 5 convolution and CPU-meter audit
- The saved customer project
Basic Groove 5.sskitis now a repeatable project-level profiling fixture. At 48 kHz with 512-sample blocks, its original full playback measured 31.10% of the realtime window; disabling shared effects measured 15.20-17.92%, and Reverb alone reproduced nearly the entire effect cost. - The two immutable built-in room convolutions now use a 512-sample non-uniform head instead of 256 samples. The impulse responses, Size morph, damping, width, Pre-delay, wet level, latency, custom-IR path, and tail scheduling are unchanged. Non-instrumented full-project measurements after the change were 24.93-26.98%, a roughly 13-20% relative reduction from the 31.10% baseline. A 1,024-sample candidate lowered the average further but concentrated FFT work into larger callback spikes, so it was rejected in favor of safer realtime headroom.
- The header CPU meter previously sampled only every fourth callback. Partitioned FFT work is periodic, so that cadence could repeatedly land on expensive convolution blocks and display about 50% while sustained audio work measured near 25%. It now accumulates elapsed time and deadline budget across all four callbacks before publishing the same smoothed percentage.
- Dry isolation measured 6.47% for drums, 8.85% for the Redshift lane, 7.62% for the SoundFont lane, and 4.18% for the unused Internal lane versus a 3.73% loaded-idle baseline. No second runaway processor was found; the unused lane produced no audio.
- The focused convolution suite, complete shared-effects signal matrix, audio safety/continuity, and performance smoke gate pass. The focused performance workload measured 15.93%, while enabled but unfed shared returns added only 0.03 percentage points over explicitly disabled returns.
Custom IR library workflow
- Reverb Recent/Favorite browsing stores only small path lists and performs no audio decoding, hashing, or convolution preparation while the menu is opened.
- Selecting an entry reuses the existing serialized background loader, generation cancellation, fingerprint validation, and prepare-then-publish path. Missing entries are disabled before dispatch, avoiding failed worker jobs and unnecessary filesystem churn.
- Recent history is bounded to 16 entries and written atomically outside the audio callback. The change adds no callback work and does not alter convolution CPU cost.
EchoRay saturation preparation
- EchoRay's input-character and feedback saturation amounts change only at the existing bounded control cadence, but their drive, ceiling, and
1 / tanh(drive)normalization were previously rebuilt independently for left and right on every sample. - Drive, ceiling, and normalization are now prepared with the other 32-sample control values. The sample-accurate nonlinear numerator remains unchanged, preserving the curve, drive, headroom, feedback saturation, and Repeat Age response.
- In an adjacent project-level A/B under the same machine load,
Basic Groove 5.sskitmeasured 19.84% with shared effects disabled and 20.10% with EchoRay alone. Before this preparation, the clean comparable pass measured 14.46% dry and 20.56% with EchoRay alone. - The complete shared-effects signal matrix and audio safety/continuity pass after the change, including EchoRay tail, control contrast, disable fade, wet-only behavior, level staging, brightness, character, stereo linking, and finite-output checks.
2026-08-27 Redshift Motion And Single-Cycle Impact Register
- Inactive Tone Motion routes exit before advanced shape work. Continuous route state is fixed-size per voice; the audio callback performs no allocation or I/O.
- Long musical durations add no proportional per-sample cost. An 16-bar route is the same evaluator workload as a short route.
- Filter slopes add bounded one-pole cascade work only to active Redshift voices. Existing patches remain on the 12 dB response and inactive Redshift instances do not enter this voice path.
- Single-cycle oscillators are approved only with precomputed mipmapped tables. File decoding, DC correction, normalization, cycle detection, resampling, and mip generation belong to import/background preparation, never note rendering.
- Deduplicate immutable table data across instances while retaining independent oscillator selection and modulation state. Bound cache size and publish tables atomically so library growth cannot create unbounded RAM or callback stalls.
- Required measurements: procedural baseline versus one and two table oscillators, 1/8/16/32 voices, common sample rates and buffer sizes, rapid patch changes, cold import, warm cache, and worst-case mip transition sweeps.
- The initial Redshift bank reuses immutable tables prepared outside voice rendering. Per sample it performs bounded mip selection/table interpolation; no decoding, allocation, file access, or table generation occurs on note paths.
RedshiftCycleLibraryperforms file decoding, DC removal, harmonic analysis, mip generation, and normalization before publication. Runtime lookup is bounded table interpolation with no locks or allocation. Future UI work must dispatch preparation away from both the audio callback and latency-sensitive UI actions.- Catalog opening reuses cached AKWF metadata and the one-second user-folder scan cache. Interactive cycle selection prepares one immutable table on a single background-priority worker before message-thread publication; the callback only captures two shared pointers per block. Per-slot/per-oscillator generation tokens reject superseded results, and editor teardown joins the worker. Project restore, patch transactions, and repair remain deterministic guarded operations.
- Release-mode focused measurement at 48 kHz/512 samples with 16 held voices measured 4.54% of the realtime window for the procedural comparison, 3.74% with one custom-cycle oscillator, and 3.77% with two custom-cycle oscillators. These are machine-local regression figures, not universal product claims, but they show the current table path adds no unexpected burden at this polyphony.
- Oscillator phase start and key-reset modes add no per-sample branch to the Redshift oscillator. Phase is initialized once at note start; free-running starts derive from the existing global audio sample clock. The post-change focused 16-voice measurement was 3.58% procedural, 3.57% with one custom cycle, and 3.84% with two custom cycles at 48 kHz/512 samples.
- Redshift Source Morph is dormant at zero and returns after the original single source lookup. Active morph performs one additional bounded source lookup and a linear interpolation; it does not allocate, lock, decode, or access files. The focused gate proves audible/bounded morph behavior. With morph dormant, the post-change 16-voice cycle figures were 3.73%, 3.75%, and 3.75% for procedural, one-custom, and two-custom scenarios at 48 kHz/512 samples.
- Redshift oscillator tuning converts octave, semitone, and fine values into two frequency multipliers once per block. Rendering adds one multiplication per active oscillator sample and no exponentials, parameter reads, allocation, or synchronization. The focused gate proves independent OSC 1/OSC 2 tuning; its post-change cycle measurements were 3.99%, 4.15%, and 4.44% at 48 kHz/512.
- Per-oscillator Pitch Motion bypasses before sine lookup and pitch conversion when Duration is Off or Depth is zero. Active routes reuse the existing fast sine table and perform one pitch conversion per active oscillator sample; all rate and endpoint parameters are prepared once per block. The focused gate proves zero-Depth neutrality and independent OSC 1/OSC 2 movement. Dormant 16-voice measurements were 3.64%, 3.64%, and 3.66% at 48 kHz/512.
- Pitch Motion shape selection adds only a bounded switch to active routes. Smooth Random and Sample & Hold use integer hashing from cycle/slot/oscillator, with no mutable generator, allocation, or locking. The focused gate proves all seven shapes are distinct, finite, and bounded. Dormant 16-voice cycle figures were 3.98%, 4.15%, and 4.03% at 48 kHz/512.
- Pitch Motion Block Save/Load performs JSON and filesystem work only from the editor. Loading validates the complete seven-field payload before publishing parameter changes. The feature adds no audio-callback work, persistent table, cache scan, or background thread. The post-change focused dormant figures were 3.82%, 3.82%, and 3.86% at 48 kHz/512.
- The automated block contract now proves roundtrip recall, oscillator isolation, version enforcement, range checks, and atomic rejection of incomplete data. The same validator serves the popup and test, so safety checks cannot drift.
- The Pitch Motion Block browser scans its small preset folder only when the popup opens or a block is saved. Factory choices are static data, and selecting either a factory or user block reuses the validated editor-side loader. No browsing, sorting, JSON parsing, or file access occurs on the audio callback.
- Redshift now prepares static filter coefficients once per audio block instead of
evaluating
tanandexpfor every sample of every voice. The original sample-accurate route remains active whenever cutoff can move through Tone Motion, filter-envelope motion, velocity tracking, cross-modulation, or a live performance offset. The focused gate proves static and moving filter paths. - Redshift base-octave normalization now runs once per audio block. Voices reuse
the prepared base frequency and retain their per-sample pitch expression and
modulation conversion. This removes a
log2and one exponential from every active voice sample without reducing modulation resolution. - The original numbers recorded here were later invalidated by the 2026-08-28 benchmark-integrity audit: repeated pending Pad triggers coalesced, so the fixture did not prove sixteen retained voices. Retain the source optimization, but use the corrected representative baseline above for current claims.
Ranked Redshift CPU Follow-Ups
- Add a controlled A/B benchmark switch for optimized and reference render paths so small savings can be measured in the same process and workload.
- Specialize oscillator rendering by active source type and bypass inaudible oscillator, noise, metal, spread, and morph work while preserving phase/state.
- Move slow Tone Motion routes to a bounded control rate with interpolation; retain audio-rate processing for fast or stepped routes where it is audible.
- Cache or increment pitch ratios for voices whose pitch sources are static, while preserving sample-accurate glide, vibrato, pitch bend, and Pitch Motion.
- Add voice sleeping for release tails below a measured silence threshold and audit polyphony limits against real flagship patches.
Status as of 2026-08-28:
Item 1 is complete: the paired alternating reference/optimized fixture now covers dynamic drift, x-mod, vibrato, Tone Motion, moving cutoff, and zero/one/two custom cycle routes with exact signature comparison.
Item 2 is substantially complete: inactive morph, Oscillator 2 rendering, noise, metallic tails, spread, filter cascades, and Filter Off DSP have explicit measured boundaries. Additional source branches tested below measurement noise or regressed.
Item 3 is deferred by design. Bounded control-rate interpolation changes rendered samples and requires a dedicated maximum-error, transition, aliasing, and listening harness before it can be considered an optimization rather than a sound change.
Item 4 is complete for static root conversion and prepared tuning ratios. Dynamic glide, vibrato, bend, x-mod, and Pitch Motion remain sample-accurate intentionally.
Item 5 is complete as an audit and rejected as new behavior: the established release floor, 48-voice cap, quiet/releasing-first stealing, and de-click retirement tails already provide the correct bounded lifetime without truncating audible tails.
Redshift sample-rate validation, inverse sample rate, cutoff ceiling, and oscillator ceiling are now prepared once per audio block. Oscillator, spread, and metal phase increments multiply by the prepared reciprocal rather than dividing per voice sample. Dynamic filters use the same prepared reciprocal. All phase accumulators continue advancing under the original rules, including inaudible Oscillator 2, so later automation remains deterministic.
The focused gate retained the complete waveform, morph, tuning, Pitch Motion, Tone Motion, filter, ownership, persistence, and block-contract signatures. Its 16-voice figures were 4.13%, 4.40%, and 4.14%; this run-to-run variance is further evidence that future percentage claims need the planned same-process optimized/reference A/B harness.
The Redshift gate now contains that same-process A/B harness. A test-only switch renders the original per-sample calculations and the prepared hot path with the same 16-voice patch, takes three timing samples per prepared processor, compares medians, and requires matching audio signatures. The switch and its branches are compiled out of production builds.
The first tightened result measured procedural Redshift at 4.98% reference and 4.18% optimized, a 16.1% reduction. One- and two-custom-cycle routes measured 4.22%/4.24% and 4.23%/4.15%; those paths are dominated by table lookup, so this arithmetic optimization is expected to be roughly neutral there. Audio-signature equivalence passed for all three routes.
Custom-cycle sampling now uses a prevalidated phase path and direct fixed mip thresholds. It removes per-sample finite checks, phase wrapping, harmonic-count division, and the nine-entry mip search from production playback. The reference sampler remains compiled into the audio self-test for A/B comparison.
Direct low/high-frequency sampler comparisons and complete rendered signatures matched. The same-process medians measured one custom oscillator at 3.85% reference versus 3.77% optimized (2.2% lower), and two custom oscillators at 3.88% versus 3.73% (3.8% lower). Procedural results overlapped scheduler noise and are not attributed to this custom-cycle-only change.
Each Redshift voice now caches the active custom-cycle mip and its exact lower and upper frequency bounds. The table level is reused until bend, glide, or modulation crosses a harmonic boundary; boundary crossings immediately select the correct new mip. Spread frequencies remain independently selected.
The CPU A/B workload now uses a high-register 16-voice spread spanning several mip levels, while the broader audio gate retains low-register coverage. Dual custom-cycle playback measured 4.11% reference versus 3.85% cached (6.2% lower), with matching rendered signatures. Single-cycle and procedural results overlapped timing noise, so no general gain is claimed for those routes.
Redshift now aggregates the eight Tone Motion route states once per block. If every route is dormant, production playback skips the complete per-voice, per-sample route loop and reads each destination's prepared base value directly. Active routes retain the original sample-accurate timing, trigger, shape, fade, offset, and endpoint behavior. A zero filter-envelope amount also bypasses its decay division and exponential, and Smooth Random no longer hashes its first endpoint twice.
The controlled reference path still performs the former dormant-route loop, and rendered-signature equivalence passed for procedural, one-custom, and two-custom 16-voice cases. This run measured 3.89%/4.13%, 6.18%/3.52%, and 3.46%/4.95% reference/optimized respectively. The contradictory movement identifies heavy scheduler noise, so no isolated percentage is attributed to this checkpoint; the exact removed work and audio equivalence are the defensible result.
Redshift oscillator sources are now classified once per block as procedural, factory wavetable, or custom cycle. Production rendering enters the matching source path directly instead of rediscovering the source class for every voice, sample, spread oscillator, and morph target. The test-only reference path keeps the former decisions for controlled comparison; no new abstraction, allocation, synchronization, or GUI dependency was introduced.
All 20 waveform cases, source morph, spread, oscillator isolation, custom-cycle ownership, and rendered A/B signatures passed. The same-process 16-voice run measured one-custom-cycle playback at 4.85% reference versus 4.25% specialized (12.5% lower) and dual-custom playback at 4.52% versus 4.31% (4.7% lower). Procedural playback measured 4.05% versus 4.17%, which overlaps scheduler noise and is not presented as a regression or gain from this custom-heavy change.
Redshift now prepares whether any audible oscillator route consumes the Shape/ Width value. With Random Timbre active, production playback skips the extra width-drift sine calculation for routes such as plain saw and custom cycles that cannot use its result. Wavetable position, contextual procedural shapes, active morph targets, Oscillator 2, and spread retain the original sample-rate motion.
The A/B benchmark now fixes its test-only random seed and enables substantial drift, ensuring both processors receive identical per-voice variation. Rendered signatures matched. This run measured 4.14%/4.00%, 3.99%/4.18%, and 4.01%/4.15% reference/optimized for procedural, one-custom, and two-custom cases. The mixed timing movement is treated as scheduler noise; the exact unused sine removal, not a general percentage, is the supported result.
Each Redshift voice now caches its completed root-frequency conversion, keyed by the exact combined pitch and normalized base frequency. Static notes reuse the result after the first sample. Glide, bend, mod-wheel vibrato, synth vibrato, drift, cross-modulation, pitch automation, and any other change to the combined value invalidate the cache immediately; oscillator-specific Pitch Motion remains downstream and sample-accurate.
The static-pitch 16-voice A/B signatures matched. Procedural playback measured 4.41% reference versus 4.19% cached (4.9% lower). One- and two-custom-cycle measurements were 3.89%/4.05% and 3.99%/4.12%; those small opposite movements are treated as timing noise in table-dominated workloads, not regressions.
Redshift Release-Tail Audit (2026-08-27)
- Inspected Redshift note release, voice retirement, voice stealing, and the shared post-engine path.
- Redshift already retires a released voice when its amplitude envelope falls
below the established
0.0004silence floor. Long releases therefore cost CPU only while they are still producing an intentional audible tail. - No second voice-sleep mechanism was added. Skipping oscillator, noise, motion, or filter updates before the existing retirement point would change internal state and could make live automation or a stolen-voice fade sound different.
- Current recommendation: retain the existing retirement contract and pursue measured, sound-identical savings in active-voice control preparation and enabled modulation routes.
Redshift A/B Benchmark Hardening (2026-08-27)
- The focused 16-voice A/B workload previously scheduled note auto-release at four seconds while warm-up plus three measured passes slightly exceeded four seconds. Its median generally excluded the retiring pass, but benchmark validity should not depend on that ordering accident.
- Test voices now sustain for 30 seconds, keeping all 16 voices active throughout setup and measurement. Each processor now records five timed passes and reports the median rather than three.
- The strengthened run passed all Redshift behavior and exact rendered-signature checks. Procedural, one-custom-cycle, and two-custom-cycle routes measured 3.17648%/3.29146%, 3.17540%/3.23727%, and 3.25120%/3.18384% reference/optimized respectively.
- The mixed movement is within the harness's observed scheduler noise. No CPU gain or regression is attributed to the structural maturity refactor. The supported result is that the refactor is performance-neutral on this workload; future gains require measured removal of DSP work.
- The A/B workload now renders audible pink noise rather than leaving noise muted. This makes its exact signature comparison cover Redshift's RNG, pink recurrence, and noise mix on every measured route.
Redshift Bounded Noise-State Fast Path (2026-08-27)
nextNoiseproduces a finite bounded value, and Redshift's pink state starts from reset state and uses0.985 * previous + 0.015 * noise. The recurrence is therefore bounded during valid playback; its per-sample finite test and clamp could not activate.- Production playback now omits those redundant guards. The test-only reference path retains them, allowing the strengthened audible-pink-noise A/B workload to compare the old and new paths directly.
- Exact rendered signatures matched for procedural, one-custom-cycle, and two-custom-cycle 16-voice routes. Reference/optimized medians were 3.39553%/3.35276%, 3.38403%/3.43859%, and 3.37289%/3.38315%.
- The mixed sub-two-percent movement overlaps scheduler noise, so no percentage gain is claimed. The defensible result is exact audible equivalence, removal of guaranteed-dead per-sample checks, and no measured regression.
Redshift Finite-Lock Boundary Normalization (2026-08-27)
- Pitch-lock and filter-lock values are now normalized when drum steps are edited, when piano notes are normalized, and when a project restores its drum-step bank directly. Non-finite legacy or malformed values become zero before reaching an audio voice.
- Redshift's production renderer can consequently omit redundant finite-number checks for its combined pitch and cutoff on every active voice and sample. The test-only reference renderer retains the former checks for direct A/B comparison.
- Release compilation succeeded. The strengthened 16-voice gate passed every Redshift behavior check and exact audible-noise signature equivalence across procedural, one-custom-cycle, and two-custom-cycle routes.
- Reference medians were 3.45560%, 4.18983%, and 3.48478%; optimized medians were 3.46102%, 3.48997%, and 3.94252%. Run-to-run movement remains too noisy for a percentage claim. The supported result is fewer hot-loop instructions, stronger project-input hygiene, exact output equivalence, and no demonstrated regression.
Redshift Bounded Mix Fast Path (2026-08-27)
- Audited every source entering Redshift's pre-filter mix. Imported cycle tables
reject non-finite samples and normalize each mip level to
[-1, 1]; built-in oscillators, prepared controls, noise, metallic shimmer, and fold inputs are likewise finite and bounded. - Production playback now retains the audible
[-4, 4]saturation clamps but omits unreachable finite-number branches after oscillator/noise mixing, metallic shimmer, and wave folding. The self-test reference path retains all three former branches. - Release compilation and the strengthened focused gate passed, including exact signatures for procedural, one-custom-cycle, and two-custom-cycle audible pink-noise workloads.
- Reference/optimized medians were 3.77608%/3.72174%, 3.79868%/3.70921%, and 3.72127%/3.75543%. The aggregate direction is favorable but still close to observed scheduler noise, so no percentage improvement is claimed.
Redshift Filter-State Fast Path (2026-08-27)
- Redshift previously clamped all four filter states both before and after every sample. Since voices initialize those states to zero and the end of each sample owns their bounds, the next sample's opening clamps duplicated work.
- Production playback now performs the four essential end-of-sample clamps only.
Their
[-8, 8]stability limits and the final[-4, 4]audio saturation remain unchanged. Finite-number recovery stays in the self-test reference path. - This removes four duplicate clamps and five unreachable finite checks per active Redshift voice and sample without changing filter mathematics.
- Release compilation and the focused gate passed every waveform, filter mode, slope, motion, custom-cycle, and exact optimized/reference signature check. Reference/optimized medians were 3.55241%/3.58343%, 3.55609%/4.16461%, and 3.68572%/3.59944%. The isolated middle-route timing spike prevents a supported percentage claim; exact output equivalence and reduced instruction count are the defensible results.
Redshift Filter-Lock Coefficient Cache (2026-08-27)
- A static Redshift patch with a sequencer filter lock has a voice-specific but
constant cutoff. It previously recalculated the state-variable coefficient
with
tanand the cascade coefficient withexpon every sample because the lock prevented use of the shared block coefficient. - Each voice now caches those two coefficients by exact cutoff. Patch automation or a changed lock invalidates the cache immediately. Filter envelopes, velocity modulation, cross-modulation, and Tone Motion continue through the original sample-accurate dynamic path.
- The A/B benchmark now deliberately enables a low-pass filter and applies a fixed filter lock to all 16 sustained voices after startup, directly exercising the new path with procedural and custom-cycle sources plus audible pink noise.
- Release compilation and every focused check passed with exact signatures. Reference/optimized medians were 3.40865%/3.50868%, 3.44993%/3.48576%, and 3.52641%/3.51388%. The whole-voice timings are effectively flat; the supported result is elimination of two transcendental calculations per sample on the locked-static-filter route, not a general percentage claim.
Redshift Settled-Envelope Filter Cache (2026-08-27)
- Extended the voice-local coefficient cache to velocity-filtered voices and to filter envelopes only after they reach the renderer's existing exact-zero settled state. At that point velocity, cutoff, and a sequencer filter lock are constant per voice unless live modulation is active.
- Cutoff Tone Motion, velocity Tone Motion, envelope-amount/decay Tone Motion, and cross-modulation explicitly disable this path. Their coefficients remain sample-accurate. Any exact cutoff change invalidates the voice cache.
- The benchmark now uses a low-pass filter, velocity tracking, a short nonzero filter envelope allowed to settle, a filter lock, 16 sustained voices, audible pink noise, and procedural/custom-cycle source variants.
- Release compilation and all focused checks passed with exact signatures. Reference/optimized medians were 3.50237%/3.43369%, 4.44119%/3.95262%, and 3.75781%/3.49993%. All three moved favorably, though the spread still indicates scheduler noise; these numbers document the run rather than establish a whole-project percentage.
Redshift Phase/Age State Fast Path (2026-08-27)
- Audited Redshift's two oscillator phases and voice age. New voices initialize them to finite nonnegative values; phase advancement wraps both phases, and the shared voice renderer is the sole bounded age owner.
- Production Redshift playback now omits three redundant finite-state checks and the associated age sign check on every active voice and sample. The guarded self-test reference path retains the former recovery behavior for direct A/B proof.
- Release compilation and the strengthened sustained-note gate passed every Redshift behavior check and exact procedural/custom-cycle signatures. Reference/optimized medians were 3.19195%/3.12634%, 3.10820%/3.16918%, and 3.13033%/3.13085%. These are effectively tied; the supported result is a small cumulative hot-loop reduction with exact output equivalence.
Redshift Metallic Phase Fast Path (2026-08-27)
- Redshift's six metallic-shimmer phases initialize to zero and are wrapped by their only update function on every active sample. Their six repeated finite checks could not activate during valid production playback.
- Production playback now omits those checks while the reference renderer keeps them. Phase wrapping, all six modal oscillators, shimmer decay, level, and spread remain unchanged.
- The sustained 16-voice benchmark now enables metallic level and spread in addition to its filter envelope, velocity tracking, filter lock, audible pink noise, and procedural/custom-cycle source variants.
- Release compilation and every focused check passed with exact signatures. Reference/optimized medians were 3.38462%/3.32533%, 3.34734%/3.37902%, and 3.33760%/3.38666%. Mixed movement in this narrow range supports no percentage claim; the verified result is six fewer branches per metallic voice/sample.
Redshift Metallic Increment Cache (2026-08-27)
- Stable-pitch metallic voices previously rebuilt all six modal phase increments from frequency, modal ratio, and sample-rate reciprocal on every sample.
- Each voice now caches those exact increments, keyed by exact frequency, metallic spread, and sample-rate reciprocal. Pitch movement, spread automation, or sample-rate change invalidates the cache immediately; dynamic voices retain sample-accurate increment updates.
- No decay threshold or inaudibility approximation was introduced. All six modal phases continue advancing and wrapping exactly as before.
- Release compilation and the dense metallic 16-voice gate passed every focused check and exact procedural/custom-cycle signature. Reference/optimized medians were 3.37906%/3.34890%, 3.34631%/3.38791%, and 3.39483%/3.34749%. Mixed narrow movement supports no broad percentage claim; the scoped saved arithmetic is the verified result.
Redshift Custom-Cycle Route Preparation (2026-08-27)
- Whether oscillator 1 or oscillator 2 requires custom-cycle mip selection is determined entirely by block-stable source kinds and morph amounts. Redshift previously rebuilt those decisions for every active voice and sample.
- Both custom-cycle route flags and the sample-rate-derived harmonic frequency limit are now prepared once per block. Production voices consume the prepared values; the reference renderer retains the former calculations for A/B proof.
- The three benchmark variants directly cover no custom cycle, one custom cycle, and two custom cycles while metallic shimmer, audible pink noise, settled filtering, velocity tracking, and filter locks remain active.
- Release compilation and every focused check passed with exact signatures. Reference/optimized medians were 3.47487%/3.52713%, 3.52276%/3.96300%, and 3.44624%/3.41347%. An isolated middle-route timing outlier prevents any percentage claim; exact routing equivalence and removed repeated decisions are the supported results.
Redshift Mix-Stage Block Preparation (2026-08-27)
- Noise dry/wet gains, metallic decay rate, fold drive, and fold dry gain depend only on controls already captured for the current audio block. They were being reconstructed inside every active Redshift voice and sample.
- Production playback now consumes block-prepared values. The test reference path retains the former arithmetic, and any parameter automation is reflected when the next block snapshot is prepared under the existing control contract.
- Wave folding is now enabled in the dense 16-voice benchmark alongside metallic shimmer, audible pink noise, settled filtering, velocity tracking, filter locks, and all three custom-cycle routing configurations.
- Release compilation and all focused checks passed with exact signatures. Reference/optimized medians were 3.77292%/3.51172%, 3.43169%/3.49233%, and 3.50268%/3.46731%. Two routes moved favorably and one slightly unfavorably; the verified claim is removed repeated mix arithmetic, not a broad percentage.
Redshift Spread-Gain Preparation (2026-08-27)
- Redshift's center attenuation and paired side gain depend only on the block-stable oscillator spread amount. They were previously derived inside every active voice and sample after rendering the two detuned side oscillators.
- Production playback now consumes block-prepared center and side gains. Spread ratio, phase offsets, frequency-dependent mip selection, and all three oscillator renders remain voice/sample accurate. The reference path retains the former gain arithmetic.
- The dense benchmark now enables oscillator spread on all 16 sustained voices, exercising center plus two side renders together with metallic shimmer, fold, audible noise, filtering, and zero/one/two custom-cycle configurations.
- Release compilation and every focused check passed with exact signatures. Reference/optimized medians were 3.63449%/3.58305%, 3.49447%/3.82277%, and 3.67807%/3.49405%. Two routes moved favorably and one produced a timing outlier, so no broad percentage claim is supported.
Redshift Spread-Side Mip Cache (2026-08-27)
- The center custom-cycle oscillators already cached their anti-aliasing mip band, but oscillator spread selected mips from scratch for both detuned side renders on every active voice and sample.
- Each Redshift voice now owns two additional frequency-band caches for those sides. A cached mip remains valid only inside its exact harmonic-frequency interval; pitch, spread, or sample-rate movement crossing a boundary triggers immediate reselection.
- The dense 16-voice benchmark keeps spread active and directly covers no-, one-, and two-custom-cycle routes, including four custom-cycle reads per voice/sample in the heaviest route.
- Release compilation and all focused checks passed with exact signatures. Reference/optimized medians were 3.35967%/3.33120%, 3.32456%/3.49271%, and 3.38670%/3.42458%. Narrow mixed movement supports no broad percentage claim; exact mip equivalence and avoided full reselection are the verified results.
Redshift Static Width Preparation (2026-08-27)
- When drift is disabled or the selected oscillator routes cannot use shape
amount, Redshift's pulse width is already finite and bounded for the block.
Production playback now reuses that width and a block-prepared complement
rather than reclamping and repeatedly calculating
1 - widthper sample. - Drift remains sample-accurate whenever a built-in or procedural source can use width/shape amount. That dynamic route retains the original clamp and computes its complement from the current width.
- The dense spread benchmark exercises width across center, both side renders, oscillator 2, morph targets, and zero/one/two custom-cycle configurations.
- Release compilation and all focused checks passed with exact signatures. Reference/optimized medians were 3.42591%/3.41010%, 3.37933%/3.39477%, and 5.68414%/3.43510%. The final reference value is a clear isolated timing outlier, so no percentage claim is made.
Redshift Spread Phase-Offset Preparation (2026-08-27)
- The two spread-side phase offsets depend only on a voice's fixed random-timbre value. Redshift previously rebuilt the offset, complement, and two radians conversions for every active spread voice and sample.
- Voice initialization now prepares both offsets once. Production spread rendering consumes them directly; the reference path retains the former per-sample derivation for A/B proof.
- Detuned frequencies, phase multiplication/division, phase normalization, mip selection, pitch modulation, and spread automation remain sample-accurate.
- Release compilation and the dense spread/custom-cycle gate passed all focused checks with exact signatures. Reference/optimized medians were 3.35402%/3.30031%, 3.36658%/3.35701%, and 3.32477%/3.33065%. The movement is favorable overall but too small for a broad percentage claim.
Redshift Spread-Frequency Cache (2026-08-27)
- Each spread voice renders two side oscillators at the center frequency times and divided by the current spread ratio. Those two values were recalculated for every active voice and sample even when pitch and spread were unchanged.
- Each voice now caches both side frequencies against the exact center frequency and spread ratio. A pitch or spread change invalidates the cache immediately; phase advancement, normalization, mip selection, and oscillator rendering remain live and sample-accurate.
- Release compilation and the dense 16-voice spread/custom-cycle gate passed all focused checks with exact reference/optimized signatures. Reference medians were 4.807%, 4.24559%, and 3.56457%; optimized medians were 4.2524%, 3.6315%, and 4.17476%. The mixed route timing does not support a broad percentage claim.
Redshift Velocity-Filter Cache (2026-08-27)
- A voice's velocity contribution to filter cutoff depends only on its velocity, the velocity-filter amount, and the centered/unipolar mode unless that control has an active Tone Motion route. Redshift previously recalculated the static contribution for every voice and sample.
- Each voice now caches that contribution against all three exact inputs. Voice reuse or a control/mode change refreshes it immediately, while animated velocity-filter routes retain the original sample-accurate calculation.
- Release compilation and the dense 16-voice filter/spread/custom-cycle gate passed all focused checks with exact signatures. Reference medians were 3.5204%, 3.52679%, and 3.79874%; optimized medians were 3.58482%, 3.54243%, and 3.57094%. Mixed timing supports no broad percentage claim.
Redshift Settled Filter-Envelope State (2026-08-27)
- Redshift's filter envelope is mathematically silent once its normalized age reaches 19.5, but sustained voices continued dividing age by decay and testing that threshold on every later sample.
- A voice now remembers that settled state when filter-envelope decay is not animated. The transition uses the original division and comparison exactly; new voices reset the state, decay changes invalidate it, and animated decay retains the original sample-accurate path.
- Release compilation and the dense 16-voice filter/spread/custom-cycle gate passed all focused checks with exact signatures. Reference medians were 4.44263%, 4.40333%, and 6.65236%; optimized medians were 4.45773%, 5.15714%, and 6.13893%. Timing was mixed, so no broad percentage claim is made.
Redshift Filter-Activity Preparation (2026-08-27)
- The decision that cutoff can become voice-constant repeatedly inspected four Tone Motion routes and cross-modulation for every active voice and sample, although those route states are fixed for the current audio block.
- Block preparation now publishes one consolidated dynamic-cutoff flag. Voice rendering combines it with the live filter-envelope state, preserving animated cutoff, velocity, envelope amount, decay, and cross-modulation behavior.
- Release compilation and the dense 16-voice filter/spread/custom-cycle gate passed all focused checks with exact signatures. Reference medians were 5.22194%, 4.43585%, and 5.02555%; optimized medians were 3.8947%, 4.85041%, and 4.41275%. Two routes moved favorably and one unfavorably, so no broad percentage claim is supported.
Redshift Shared Free-Running Motion Clock (2026-08-27)
- Global/free-running Redshift motion uses the same transport sample and sample rate for every voice at a given output sample, but each voice previously repeated the conversion from samples to seconds.
- Production rendering now calculates that exact clock value once per output sample and shares it across Redshift voices. Note-reset motion remains driven by each voice's age, and the reference renderer retains the former per-voice division for A/B proof.
- The dense benchmark now includes a free-running synced Drive motion route on all 16 sustained voices, alongside filter, spread, metallic, fold, noise, and custom-cycle work. Release compilation and all focused checks passed with exact signatures. Reference medians were 7.44%, 4.92293%, and 4.41628%; optimized medians were 4.97581%, 4.37587%, and 5.07724%. Route movement and the first reference outlier support no broad percentage claim.
Redshift Tone-Motion Trigger Preparation (2026-08-27)
- Every active Tone Motion route repeatedly decoded its trigger mode and global key-reset setting to choose between note age and the shared free-running clock, although that decision is fixed for the current audio block.
- Block preparation now publishes the note-triggered/global decision per route. Motion time, offsets, cycle position, shape, fade, endpoints, and depth remain evaluated at sample accuracy. The reference path retains the former decoding.
- Release compilation and the dense 16-voice free-running-motion benchmark passed all focused checks with exact signatures. Reference medians were 4.21761%, 4.34637%, and 4.20064%; optimized medians were 4.42808%, 4.69477%, and 3.73326%. Mixed route movement supports no broad percentage claim.
Redshift Tone-Motion Endpoint Preparation (2026-08-27)
- Tone Motion repeatedly subtracted endpoint A from endpoint B and tested whether fade was enabled for every active route, voice, and sample, although both facts are fixed for the current audio block.
- Block preparation now publishes each route's endpoint difference and fade-active state. Interpolation keeps the original arithmetic grouping; elapsed time, fade progress, trajectory, and output depth remain sample-accurate. The reference path retains the former subtraction and fade test.
- Release compilation and the dense 16-voice free-running-motion benchmark passed all focused checks with exact signatures. Reference medians were 4.11847%, 3.74862%, and 3.73036%; optimized medians were 3.7458%, 3.78119%, and 3.779%. Narrow mixed movement supports no broad percentage claim.
Redshift Active Tone-Motion Route List (2026-08-27)
- When any Tone Motion route was enabled, every active voice scanned all eight destinations on every sample and discarded the inactive ones. Typical patches with one or two routes therefore paid for the full destination scan.
- Block preparation now publishes a compact ordered list of active destinations. Production voices evaluate only those routes; the self-test reference path retains the full eight-route scan and inactive-value writes for A/B proof.
- The dense benchmark uses one free-running Drive route across 16 sustained voices. Release compilation and all focused checks passed with exact signatures. Reference medians were 6.77667%, 5.10398%, and 3.76888%; optimized medians were 5.93476%, 3.6439%, and 6.71279%. The route timing is highly variable, so no broad percentage claim is supported.
Redshift Tone-Motion Phase And Offset Preparation (2026-08-27)
- Active Tone Motion routes repeatedly converted their normalized start phase from float to double and subtracted a zero offset for the common immediate-start case, even though both facts are fixed for the current block.
- Block preparation now publishes the double start phase and whether each route has a nonzero offset. Immediate routes use motion time directly; delayed routes retain the original subtraction, threshold, and sample-accurate behavior. The reference path retains the former conversion and offset decision.
- Release compilation and the dense 16-voice free-running-motion benchmark passed all focused checks with exact signatures. Reference medians were 3.63793%, 3.47585%, and 3.83886%; optimized medians were 3.53249%, 3.71563%, and 3.46936%. Mixed narrow movement supports no broad percentage claim.
Redshift Settled Tone-Motion Fade State (2026-08-27)
- A note-triggered Tone Motion route continued dividing elapsed time by fade duration and clamping the result on every sample after fade had reached 1.0.
- Each voice now remembers completed fades per route. The original division and clamp still determine the exact completion sample; new voices reset the state, fade or offset changes invalidate it, and global/free-running routes deliberately remain uncached so transport-clock behavior cannot be frozen.
- The dense benchmark now runs one global Drive route and one note-triggered Bits route with fade across 16 sustained voices. Release compilation and all focused checks passed with exact signatures. Reference medians were 4.50998%, 3.76156%, and 6.51212%; optimized medians were 3.95093%, 3.4065%, and 3.55778%. All three moved favorably, but the third reference value is an outlier, so no universal percentage claim is made.
Rejected: Redshift One-Shot Completion Cache (2026-08-27)
- A trial cache marked note-triggered one-shot Tone Motion modes complete after their first journey, intending to bypass later trajectory evaluation.
- Exact-output validation passed, but the required cache-key comparisons cost more than the existing one-shot path's inexpensive early return. Reference medians were 4.7438%, 4.14659%, and 4.0201%; trial medians were 5.41627%, 4.15484%, and 4.38842%.
- The code and benchmark-only one-shot setting were removed. This experiment is recorded to prevent reintroducing a state cache around an already-cheap path without a materially different design or stronger profiling evidence.
Redshift Animated-Bits Derived Cache (2026-08-27)
- Tone Motion can vary Bits continuously, but the effective bit depth is rounded to one of fifteen integers. Redshift previously rebuilt the quantization level count and reciprocal on every voice and sample even while that integer stayed unchanged.
- Each voice now caches levels and reciprocal against the rounded bit depth. The motion value is still rounded every sample, so every bit-depth transition occurs at the original sample; only unchanged intervals reuse derived values.
- Release compilation and the dense 16-voice global-Drive plus fading-Bits benchmark passed all focused checks with exact signatures. Reference medians were 4.02149%, 3.60807%, and 3.60539%; optimized medians were 3.89583%, 3.54929%, and 3.52317%. All three moved modestly favorably in this workload.
Rejected: Redshift Discrete-Drive Gain Cache (2026-08-27)
- A trial cache reused dB-to-linear gain conversion for stepped and sample-hold Drive motion while leaving continuous routes uncached.
- Exact-output validation passed, but two benchmark routes regressed sharply. Reference medians were 3.52265%, 4.32256%, and 3.87624%; trial medians were 5.90498%, 6.11816%, and 3.58253%.
- The cache, route classification, and benchmark-only stepped shape were removed. Future Drive optimization should target a lower-overhead conversion strategy or broader vector/block approach rather than adding per-voice cache branching.
Redshift Velocity-Filter Cache Simplification (2026-08-27)
- The velocity-filter cache keyed amount, response mode, and voice velocity. Velocity is immutable during a voice's lifetime, and voice initialization clears all cache validity, making the stored velocity and per-sample comparison redundant.
- The redundant key was removed. Amount and centered/unipolar mode still invalidate the cached contribution exactly when those controls change.
- Release compilation and the dense 16-voice two-route modulation gate passed all focused checks with exact signatures. Reference medians were 3.80902%, 5.01773%, and 3.80276%; optimized medians were 4.99664%, 3.69579%, and 3.70734%. Opposing timing outliers support no speed claim; reduced voice state and one fewer hot-path comparison are the verified improvements.
Redshift Metallic Cache-Key Simplification (2026-08-27)
- The metallic phase-increment cache compared inverse sample rate on every active
metallic voice and sample.
prepareToPlayclears all voices, so no voice or its increment cache can survive a sample-rate change. - The duplicated inverse-rate field and comparison were removed. Frequency and metallic spread remain mutable cache keys and still refresh all six increments immediately when either changes.
- Release compilation and the dense 16-voice metallic/two-route modulation gate passed all focused checks with exact signatures. Reference medians were 4.17587%, 4.40679%, and 4.2957%; optimized medians were 4.99967%, 4.34594%, and 4.05023%. Mixed route movement supports no broad percentage claim; reduced voice state and one fewer active-metal comparison are the verified results.
Redshift Motion-Clock Lifetime Simplification (2026-08-27)
- The shared free-running motion-clock cache stored and compared sample rate on
every consuming voice. Sample-rate changes occur through
prepareToPlay, so explicit invalidation there is the clearer ownership boundary. prepareToPlaynow invalidates the shared clock. The stored sample-rate key and per-voice comparison were removed; the current render-sample key still ensures one exact clock conversion per output sample.- Release compilation and the dense 16-voice two-route modulation gate passed all focused checks with exact signatures. Reference medians were 12.3526%, 11.5147%, and 14.273%; optimized medians were 8.53878%, 4.89878%, and 9.31218%. All moved favorably, but the run experienced abnormal system load and does not support a stable percentage claim.
Redshift Fade-Cache Validity Simplification (2026-08-27)
- The per-voice Tone Motion fade cache stored eight separate validity flags. Active fades always have positive duration, while a new voice's duration keys initialize to zero, so duration mismatch already guarantees first-use setup.
- The validity array and its per-route condition were removed. Duration and offset remain the exact invalidation keys, and completed fades still reset immediately when either changes.
- Release compilation and the dense 16-voice two-route modulation gate passed all focused checks with exact signatures. Reference medians were 4.97217%, 4.60455%, and 4.4774%; optimized medians were 4.69167%, 4.48762%, and 5.63823%. Mixed timing supports no broad percentage claim; eight fewer booleans per voice and one fewer cache condition are the verified improvements.
Rejected: Redshift Filter-Envelope Validity Removal (2026-08-27)
- A trial removed the filter-envelope cache validity flag because active decay is always positive and a new voice's cached decay initializes to zero.
- Exact-output validation passed, but all three dense benchmark medians regressed. Reference medians were 4.966%, 3.90802%, and 3.4984%; trial medians were 5.34498%, 4.3825%, and 3.50766%. The likely concern is an unfavorable voice-state layout change outweighing the removed condition.
- The flag and original initialization branch were restored. Small state-layout edits must continue to be measured rather than assumed beneficial.
Redshift Benchmark Order-Bias Correction (2026-08-27)
- The focused A/B harness previously measured reference before optimized for all three oscillator routes. Warm-up, scheduling, or thermal drift could therefore bias every comparison in the same direction.
- Route order now alternates
R/O,O/R,R/Oand is printed with every result. Exact-output signatures and five-pass medians remain unchanged. - The first alternating-order baseline passed all focused checks and exact output: reference medians were 3.32618%, 3.3573%, and 3.35739%; optimized medians were 3.43587%, 3.96341%, and 3.40716%. In this dense two-route workload, the current optimized path was slightly slower on all routes. This redirects near-term work toward cumulative cache-overhead reduction rather than additional micro-caches.
Rejected: Redshift Animated-Bits Cache Removal (2026-08-27)
- A trial removed the per-voice animated-Bits derived-value cache and calculated quantization levels and their reciprocal directly from the rounded Bits value.
- Release compilation and two alternating-order dense benchmarks passed exact output. Neither timing sample showed a consistent CPU improvement: in both runs, the trial path lost on two of three oscillator routes amid substantial system variance.
- The cache was restored. Animated Bits is therefore not a supported explanation for the cumulative optimized-path overhead; subsequent pruning should target a different cache and retain the same exact-output and balanced-order standard.
Rejected: Redshift Dynamic Root-Cache Bypass (2026-08-27)
- A trial bypassed the root-frequency cache when drift, cross-modulation, vibrato, or active glide guaranteed continuously changing pitch. Stable voices retained the existing cache, and the frequency formula was unchanged.
- Release compilation and two alternating-order dense benchmarks passed exact output. The first run was effectively neutral and the second reversed direction, including a clearly distorted reference-route timing. No repeatable CPU benefit was established, so the production change was reverted.
- The experiment confirms that alternating whole-route order is insufficient for small hot-path decisions under variable host load. The next benchmark revision should keep reference and optimized processors alive together and alternate them within every measured pass, then compare paired pass results.
Redshift Paired-Pass Benchmarking (2026-08-27)
- The focused Redshift CPU fixture now keeps reference and optimized processors alive together for each oscillator route. Five measured passes alternate which processor runs first, and each pass records its own optimized/reference ratio.
- Output now includes the median paired ratio as
cycleCpuPairedRatio;1.0represents equal cost, values below1.0favor the optimized path, and exact rendered signatures remain a separate mandatory gate. - Two Release baselines passed exact output. The first ratios were
0.997018,1.00118, and0.78663; confirmation ratios were0.999508,0.997173, and1.00906. The first run's two-cycle advantage did not repeat, while the other route pairs stayed close to parity. No aggregate CPU claim is supported yet. - Future micro-optimizations must be judged by repeated paired ratios, not by separately collected medians or a single favorable route result.
Rejected: Paired Recheck of Dynamic Root-Cache Bypass (2026-08-27)
- The dynamic root-frequency cache bypass was re-tested after paired-pass benchmarking became available. Exact output passed in both Release runs.
- The first run favored the trial on all routes with ratios
0.930751,0.947589, and0.889725. The confirmation instead produced1.00647,1.0075, and0.979743: two small regressions and one modest improvement. - Because the broad improvement did not repeat, the bypass was reverted again. This is the first production decision made under the paired standard and confirms that one favorable benchmark run is insufficient for a retained optimization.
Redshift Dynamic-Workload Coverage Correction (2026-08-27)
- Audit found that the dense CPU fixture explicitly set
randomtimbreto zero and leftpolyxmod, vibrato rate, and vibrato depth at zero. Because Redshift derives drift fromrandomtimbre, the supposedly dynamic root-cache trials never activated their candidate branch; their timing differences were entirely noise. - The fixture now enables drift, cross-modulation, vibrato rate/depth, and vibrato fade while retaining its 16 sustained voices, filtering, Tone Motion, spread, metallic layer, fold, and zero/one/two custom-cycle routes.
- Earlier dynamic root-cache results remain correctly rejected, but they must not be cited as evidence about that branch's cost. It can be reconsidered only after establishing and repeating a baseline with this corrected workload.
Rejected: Corrected Dynamic Root-Cache Bypass (2026-08-27)
- With drift, cross-modulation, and vibrato genuinely active, the retained baseline
passed exact output with paired ratios
1.00226,1.00049, and1.0037. - The candidate's first valid run passed exact output and modestly favored bypassing
the cache on all routes at
0.99853,0.994923, and0.997597. - Confirmation under heavier host load produced
0.902043,1.15004, and0.964874. The direction did not repeat, and the small expected benefit cannot be separated reliably from scheduling variance. The candidate was reverted. - Root-cache bypassing is closed as a low-value target for now. Future Redshift CPU work should prioritize larger algorithmic costs with effects clearly above the benchmark noise floor.
Redshift Settled Metallic-Tail Retirement (2026-08-27)
- Redshift previously rendered all six metallic oscillators, lookup interpolation, phase work, exponential envelope, mix, and limiting forever whenever Metallic Level was enabled, even after the decaying layer was effectively silent.
- Each voice now retires that layer once its envelope progress reaches
19.5, or approximatelyexp(-19.5)(-169 dB) of its original amplitude. The existing audible portion and decay formula are unchanged. Changing Metallic Spread changes the decay-rate key and re-evaluates retirement, allowing intentional reactivation. - Two corrected dynamic-workload Release runs passed exact-signature tolerance and
every functional Redshift check. Paired ratios were
0.905843,1.01646, and0.987021, followed by1.00626,0.802966, and0.825188. - Individual routes still show scheduler variance, but the two-cycle route improved in both runs and both runs showed substantial savings on at least one route after settlement. This is retained as an algorithmic tail-cost reduction, not presented as a universal percentage claim.
Redshift Silent-Noise Generator Bypass (2026-08-27)
- Redshift previously advanced its white-noise generator and pink-noise recurrence on every voice sample even when Noise Mix was zero and neither state could reach the output.
- The production path now leaves those stochastic states dormant while Noise Mix is effectively zero. Enabling noise resumes generation from the voice's retained state; active white and pink noise still use the original calculations unchanged.
- The zero-cycle paired route now explicitly uses zero Noise Mix, while one- and
two-cycle routes retain active noise. Two Release runs passed exact output and all
focused checks. Zero-noise paired ratios were
0.992514and1.00066, showing a small first-run gain and practical parity in confirmation. - This is retained as removal of provably inaudible work for the common noise-off case. No universal CPU percentage is claimed, and active-noise route movement is not attributed to this bypass.
Redshift Inaudible Filter-Cascade Bypass (2026-08-27)
- Redshift's topology-preserving filter updated its third and fourth poles on every sample even when the selected 12 dB slope used only the first state-variable stage. Off and band-pass modes also maintained cascade math that could not reach their current output.
- The production path now performs cascade processing only for slopes that audibly use it. Otherwise, the hidden poles track a bounded current signal state, keeping them ready for a live slope change without paying two recursive pole updates. The first filter stage and selected output remain sample-equivalent.
- Two corrected dynamic Release runs passed exact output, bypass/low-pass/high-pass/
band-pass checks, slope coverage, and all focused Redshift contracts. Paired ratios
were
0.942369,0.942039, and1.02886, followed by0.994868,1.01885, and0.919772under heavier host load. - Route timing remains variable, but both runs show substantial savings on at least one route and the operation-count reduction is direct. No universal percentage claim is made.
Rejected: Redshift Neutral-Comb Buffer Gate (2026-08-27)
- A trial stopped Redshift's shared 1,024-sample comb ring-buffer writes while Comb was zero and cleared the line when Comb became active. Drum-lab engines retained their existing buffer behavior, and neutral-comb audio remained exact.
- Release validation passed every focused behavior check, but all paired routes
regressed materially at
1.10928,1.04066, and1.19964. - The branch, per-voice activity flag, clean-onset behavior, and buffer gate were fully reverted. The simple sequential ring write is cheaper than this conditional ownership in the measured workload and should remain unless a different design demonstrates repeatable gains.
Redshift Post-Stage Contract and Standby-Clamp Cleanup (2026-08-27)
- Audit confirmed that Redshift's nominal Drive
0 dBstill intentionally applies baseline soft saturation, and Bit Depth16still performs literal 16-bit quantization. These controls are minimum-character settings, not DSP bypasses; theirtanhand rounding work was retained to preserve established patches. - The inactive filter-cascade standby path did contain a true duplicate: hidden poles were bounded during assignment and then immediately bounded again by the shared state clamp. Assignment now occurs once and the existing clamp remains the sole safety boundary.
- Release compilation and the corrected dynamic focused gate passed exact output, every filter mode/slope check, and all Redshift contracts. Paired timing was mixed under host load and supports no percentage claim.
Rejected: Shared Free-Running Tone Motion Values (2026-08-27)
- A trial cached each free-running Tone Motion destination once per pad and rendered sample so polyphonic voices could share the same trajectory value. Note-triggered and key-reset routes remained voice-owned, and exact output passed.
- The additional validity, sample-key, destination, and shared-value traffic cost
more than recalculating the inexpensive trajectory. Paired ratios were
1.15536,1.04128, and0.953891, with material regressions on two routes. - The cache and all associated processor state were fully reverted. The existing shared motion clock remains useful, but complete Tone Motion values should stay voice-local unless a future trajectory becomes substantially more expensive.
Redshift Benchmark Throughput Refinement (2026-08-27)
- The paired CPU fixture previously used five passes of 128 blocks per processor and route. It now uses seven passes of 64 blocks: approximately 30% fewer timed samples, two more paired observations for the median, and the same three dynamic zero/one/two-cycle workloads.
- Test output now states
cycleCpuPasses=7andcycleCpuBlocksPerPass=64so timing evidence remains auditable when the fixture evolves. - The first revised Release run passed exact output and every focused Redshift check
with paired ratios
0.997335,1.0279, and0.996004. Wall time was 252.1 seconds, meaningfully below the recent roughly 300–400 second focused runs. - This is a development-throughput improvement, not a product CPU claim. Shorter feedback makes repeated confirmation more practical without weakening paired median structure.
Rejected: Redshift Pitch-Expression Constant Cache (2026-08-27)
- A trial cached the per-note random/pad drift phase in each voice and the two x-modulation angular rates in Redshift's block controls. The active equations, oscillator routes, and evaluation order remained unchanged.
- Release validation passed exact reference/optimized output and every focused
Redshift contract. Paired ratios were
0.867902,0.978649, and1.03298. - The first two routes improved, but the two-cycle route regressed about 3.3%. Because the added voice and block state did not improve all representative routes, the candidate was fully reverted rather than retained on an average.
Redshift Filter-Off DSP Sleep (2026-08-28)
- Redshift's Filter Off mode previously returned the unfiltered oscillator signal but still evaluated filter-envelope motion, velocity cutoff, x-mod cutoff, coefficient trigonometry/exponentials, and recursive filter stages per voice and sample. None of that work could reach the output while the filter was bypassed.
- The production path now returns the already-bounded oscillator signal immediately and places all four hidden filter states at that current signal. This preserves a bounded starting point for live activation without running inaudible filter DSP.
- The zero-cycle paired benchmark route now explicitly uses Filter Off while retaining
16 voices, drift, x-mod, vibrato, metallic shimmer, fold, spread, and Tone Motion.
Three Release runs passed exact reference/optimized output and every focused
contract. Targeted paired ratios were
0.979922,0.989136, and0.986143. - A sustained bypass-to-low-pass transition regression now verifies finite, audible
output and rejects a full-scale adjacent-sample jump. The measured transition peak
and maximum jump were
0.182478and0.320717. - This is retained as a repeatable roughly 1-2% saving in the heavy targeted fixture. It is not a claim that every Redshift patch or complete project improves by that percentage; active-filter patches continue through the original DSP path.
Rejected: Redshift Modulation Sine Lookup (2026-08-28)
- A trial routed drift, x-modulation, and dynamic-width sine calculations through Redshift's existing 4,096-point linearly interpolated sine table. Audible oscillator generation remained unchanged, and the reference path retained full-precision sine.
- Strict audio equivalence and every focused Redshift contract passed, but paired
ratios were
1.01454,1.00738, and0.967276. Two representative routes became slower while only the third improved. - Radian-to-cycle normalization, wrapping, and table interpolation did not beat the platform's optimized standard-library sine consistently. The candidate was fully reverted, preserving full-precision modulation without additional helper traffic.
Redshift Dynamic-Cutoff Benchmark Coverage (2026-08-28)
- The paired Redshift fixture now drives Cutoff from
1,800 Hzto9,600 Hzwith synced free-running Tone Motion at 65% depth. This keeps active-filter coefficient generation dynamic during timed passes instead of allowing the settled envelope to collapse into the existing voice-constant coefficient path. - The workload remains 16 voices with drift, x-mod, vibrato, metallic shimmer, fold, spread, Drive motion, Bits motion, and zero/one/two custom-cycle routes.
- This is benchmark coverage, not a product optimization or CPU percentage claim. It closes a blind spot and raises the evidence standard for future active-filter work.
Rejected: Shared Dynamic Filter Coefficients (2026-08-28)
- A trial cached identical moving-cutoff
tanand exponential coefficients once per instrument and rendered sample, with exact-cutoff keys and independent fallback for divergent voices. Static and voice-constant coefficient paths were untouched. - Exact output and every focused contract passed in three Release runs. Paired ratios
were
0.923243/0.966064/0.937082, then1.00034/0.996786/1.01102, then1.00835/1.04398/0.982756across the three routes. - The initial gain did not survive confirmation, and one route ultimately regressed about 4.4%. All production cache state and branches were reverted. The dynamic-cutoff benchmark coverage was retained because it independently improves future evidence.
Rejected: Filter-Off Tone Motion Route Gate (2026-08-28)
- A trial skipped Cutoff, Resonance, Velocity Filter, Filter Envelope, and Filter Decay Tone Motion evaluation while Redshift's filter was Off. Drive, Bits, Crush, and other audible destinations remained active, with no persistent cache state.
- Exact output and every focused contract passed. Paired ratios were
1.00162,1.00574, and1.01462, showing parity to small regressions rather than a gain. - The trajectory calculations are cheaper than the added destination classification branch in this workload. The gate was fully reverted; Filter Off DSP sleep remains.
Redshift Optimization Closeout Checkpoint (2026-08-28)
- Rechecked the ranked CPU follow-ups against current production code and retained benchmark evidence. All sound-identical, locally measurable work in that list is either implemented, explicitly rejected after A/B measurement, or covered by an existing bounded lifetime contract.
- Redshift uses 48 active voice slots. When full, it prefers future/delayed voices, then releasing voices, then the quietest rendered voice, with age and start order as deterministic tie-breakers. Stolen audible voices move through a six-millisecond retirement fade rather than ending abruptly.
- Released non-FM voices retire below the existing
0.0004amplitude-envelope floor or at the 30-second safety ceiling. Rendering the threshold-crossing sample before retirement preserves the current tail; moving retirement earlier would be a sonic truncation for at most one sample of CPU saving. - The next legitimate optimization milestone is profiler evidence from a complete musical project or a dedicated perceptual harness for bounded control-rate filter and Tone Motion interpolation. Blind cache and branch additions are closed.
Whole-Project Lane Profiler Expansion (2026-08-28)
- The existing
SPACEAGE_PROJECT_CPU_PROFILE_ONLY=<project.sskit>Release harness already measured idle-loaded, shared-effects-off, delay-only, reverb-only, and original-project passes at 48 kHz/512 with median load plus callback P95/P99/max. - It now probes the loaded arrangement and automatically adds a dry drums-only pass plus one dry isolated pass for every tonal lane. Each tonal result reports lane index, mixer channel, engine identity, and patch identity.
- This turns a complete musical project into actionable attribution: a high original result can be separated into shared effects, drum workload, and individual engine lanes without editing or resaving the source project.
- No repository-owned
.sskitand none of the previously referenced Basic Groove or Sanders Electronic projects were available on the searched local profile/project paths, so no project-specific percentages are claimed at this checkpoint. - Release compilation of the expanded
SampleSquadAudioTesttarget passed. A real saved project remains required to collect representative whole-project evidence.
Repeatable Project CPU Profile Workflow (2026-08-28)
- Added
tools/profile-project-cpu.ps1as the supported entry point for whole-project profiling. It accepts an.sskitpath, validates the input, optionally builds the Release test target, runs the existing project profiler, and propagates failure. - Successful runs archive a timestamped UTF-8 text receipt under
outputs/performance/project-cpu, replacedocs/Project_CPU_Profile_Latest.md, and regenerate the documentation site. Failed runs publish neither a receipt nor a misleading latest report. - The permanent latest-report page currently states that no real project has been measured. This gives the reports site a stable destination before and after the first capture.
- PowerShell parsing, missing-project rejection, and wrong-extension rejection passed.
Project CPU Gate Integration (2026-08-28)
- Added
PROJECT_CPUto the supportedtools/run_tests.ps1gate list. The normal entry point is nowtools/run_tests.ps1 -Gate PROJECT_CPU -ProjectPath <project.sskit>. - The gate dispatches to
profile-project-cpu.ps1before generic build/report logic, preventing duplicate builds and preserving the profiler's atomic receipt and latest- report ownership.-NoBuildis forwarded when explicitly requested. -ProjectPathis mandatory for this gate. Generic-ReportPathis rejected because project profiling creates its own dated receipt and documentation page.- Both scripts pass PowerShell parsing. Missing-project-argument and conflicting-report- argument tests pass without starting a build or publishing output.
Redshift MSEG Editor Publication (2026-08-28)
- The MSEG editor performs resampling, validation, and immutable publication only in response to UI edits; it adds no audio-thread allocation, locks, JSON work, host parameters, or per-sample control polling.
- STEP and MSEG are mutually exclusive per destination, preventing redundant trajectory evaluation and ambiguous route ownership.
- The focused gate retained
hotPathEquivalent=1with all MSEG contracts passing.
Redshift MSEG Factory Shapes (2026-08-28)
- Factory selection creates the same fixed-capacity MSEG snapshot as manual editing. Playback performs no preset-name lookup, allocation, or additional branching.
- All seven factory routes passed validation while the paired CPU reference
retained
hotPathEquivalent=1.
Redshift Route Clipboard (2026-08-28)
- Route copy/paste operates only on the message thread and republishes the same bounded parameter values and immutable Step/MSEG snapshots already used by normal editing.
- It adds no audio callback work, host parameters, polling, locks, or allocations;
the focused CPU comparison retained
hotPathEquivalent=1.
Redshift Durable Motion Routes (2026-08-28)
.sstrouteJSON parsing, validation, and file access occur only from explicit UI actions on the message thread. Loaded data becomes the same bounded route state used by ordinary editing.- No file access, JSON work, additional branch, or allocation enters rendering;
toneRouteFile=1andhotPathEquivalent=1pass together.
Redshift Saved-Route Browser (2026-08-28)
- The route list scans one dedicated folder only when its popup is constructed or a save succeeds. It introduces no filesystem watcher, recurring scan, or audio callback work.
- Applying a selection reuses the existing validated
.sstroutetransaction; the focused gate retainedhotPathEquivalent=1.
Redshift Route Drag And Drop (2026-08-28)
- Drag highlighting and file parsing occur only during an explicit UI drag/drop gesture. Drop reuses the same message-thread route transaction as Load/Apply.
- No drag state, file work, polling, or parsing enters audio rendering; the
focused comparison retained
hotPathEquivalent=1.
Redshift Route Library Deletion (2026-08-28)
- Deletion is an explicit message-thread file action followed by one bounded library refresh. It creates no watcher, recurring scan, or audio work.
- The focused suite retained route isolation and
hotPathEquivalent=1.
Redshift Motion Rate Badges (2026-08-28)
- Compact labels reuse parameter values already sampled by the existing visible Tone-page refresh. The rate strings are prepared once, and button text changes only when the displayed badge differs.
- No new timer, parameter, audio work, or recurring allocation was introduced;
the focused gate retained
hotPathEquivalent=1.
Redshift Oscillator Morph Motion (2026-08-28)
- Dormant routes bypass per-sample trajectory evaluation when Depth is zero or Duration is Off. Old patches therefore keep the existing prepared render path.
- Active routes reuse one block-prepared cycle reciprocal and the existing allocation-free deterministic motion-shape evaluator.
- Custom-cycle anti-alias preparation accounts for a route that can move toward a custom source; no decoding, analysis, allocation, or file access occurs in audio rendering.
- The focused suite passed
morphMotion=1,hotPathEquivalent=1, and the paired custom-cycle CPU guard.
Redshift Morph Motion Blocks (2026-08-28)
- Factory selection, JSON validation, and file access occur only on explicit UI actions. Blocks publish existing parameters and add no audio callback state.
- The focused suite retained
morphMotion=1,morphBlock=1,hotPathEquivalent=1, and the paired custom-cycle CPU guard.
Redshift Morph Block Browser (2026-08-28)
- The dedicated folder is scanned only when a Morph popup is constructed or a save succeeds. Sorting and JSON parsing stay on explicit message-thread actions.
- There is no watcher, recurring scan, audio state, or render-path change. The
full focused suite retained
morphBlock=1andhotPathEquivalent=1.
Redshift Morph Block Deletion (2026-08-28)
- Confirmation and deletion are explicit message-thread actions. A successful delete triggers one bounded folder refresh and no parameter publication.
- No audio state or render work was added; the complete focused suite retained
morphBlock=1,morphMotion=1, andhotPathEquivalent=1.
Redshift Morph Block Drag And Drop (2026-08-28)
- Drag state, file reading, and transactional parsing exist only for an explicit UI gesture over the open popup. No polling, watcher, or audio work was added.
- The complete focused suite retained
morphBlock=1,morphMotion=1, andhotPathEquivalent=1.
Redshift Silk Filter Model (2026-08-28)
Cleanremains the exact neutral TPT filter path and performs no Silk nonlinear work while the model mix is zero. Existing patches therefore retain their sound and cost.Silkreuses the same preallocated per-voice states and cascade. Its active cost is bounded to a small saturation curve, resonance compensation, and output trim; it adds no allocation, lock, graph traversal, or coefficient rebuild.- Per-voice model interpolation prevents abrupt held-note switching without a
second parallel filter. The focused suite passed
silk=1, filter isolation, finite-output checks,hotPathEquivalent=1, and the paired custom-cycle CPU guard.
Redshift Bite Filter Model (2026-08-28)
- Bite reuses Redshift's existing preallocated TPT states and active-pole cascade. It adds bounded rational pre-drive, resonance compensation, and output clipping only while its smoothly interpolated character amount is active.
- Clean remains neutral, no second filter runs in parallel, and model changes add no allocation, lock, filesystem work, coefficient graph, or state migration.
- The focused suite passed
bite=1across LP, HP, and BP, retained filter/lane isolation andhotPathEquivalent=1, and kept all paired custom-cycle CPU ratios within the established guard.
Redshift Tone Scenes (2026-08-28)
.ssscenecreation, JSON validation, file selection, and parameter publication occur only during explicit UI actions on the message thread.- Scene playback reuses existing Tone parameters and Motion routes. No scene parser, filesystem access, allocation, polling, new parameter, or extra branch enters audio rendering.
- The full focused suite passed
toneScene=1,hotPathEquivalent=1, and the established paired custom-cycle CPU guard.
Redshift Filter Slope Interpolation (2026-08-28)
- Slope switching reuses the existing four per-voice filter states and linearly blends only adjacent prepared responses. It does not run parallel complete filters or add allocation, locks, coefficient graphs, or filesystem work.
- The auxiliary cascade remains asleep at a settled 12 dB slope in the optimized path and wakes only when another slope or an active transition requires it.
- The focused suite passed
slopeSwitch=1,hotPathEquivalent=1, and the paired custom-cycle CPU guard.
Redshift Tone Motion Interpolation (2026-08-28)
- Proven smooth, slow routes now evaluate exact trajectory anchors every eight samples and linearly interpolate the seven intervening values. Each anchor is recomputed from the production curve, so approximation error cannot accumulate.
- Eligibility is intentionally narrow: legacy sine loops or centered eased ping-pong without endpoint holds at 1/16 note or slower, immediate launch, no fade or offset, and no transport, Step Motion, or MSEG source. Every other route retains audio-rate evaluation.
- A deterministic 32-voice rendered A/B measured maximum output error
0.00000593and relative RMS error0.00000133. Callback load fell from140.60%to126.73%in the intentionally overload-level fixture, a paired ratio of0.901(about 9.9% less render cost). - The older custom-cycle benchmark explicitly disables this optimization so its exact-signature and historical CPU comparisons remain stable.
Rejected Redshift Filter Coefficient Lookups (2026-08-28)
- Dynamic cutoff and resonance lookup experiments passed numerical and rendered error checks, but neither survived repeated CPU measurement.
- Resonance lookup measured a
1.015CPU ratio and introduced avoidable error at the band-pass gain clamp. It was removed immediately. - The cutoff lookup initially appeared 1-3% faster in single passes. A stronger
five-pass median fixture measured a
1.015ratio, proving it was about 1.5% slower. The table, render path, test switches, and production claims were removed. - Redshift retains exact dynamic
tan(),exp(),pow(), andsqrt()conversion. Future work must target a larger architectural saving and pass repeated median timing before retention.
Redshift Shared Tone Motion Evaluation (2026-08-28)
- Free-running and transport-triggered Tone Motion routes without MSEG release state now evaluate once per slot and sample, then publish that exact value to every active voice. Previously every voice repeated identical trajectory work.
- Note-triggered, legato-triggered, and MSEG routes remain voice-owned. Step Motion can share safely because its probability and sequence evaluation are deterministic for a destination and global clock.
- The cache is fixed-size, preallocated processor state keyed by slot, route, and render sample. It adds no allocation, lock, filesystem access, or cross-slot state.
- A 32-voice free-running fixture retained bit-exact rendered output and measured
151.48%versus117.90%callback load, a0.778ratio (about 22.2% less). - A separate note-triggered fixture proves eight-sample interpolation independently,
measuring a
0.892ratio (about 10.8% less) with negligible rendered error.
Redshift Shared Oscillator Motion Evaluation (2026-08-28)
- Oscillator pitch and source-morph motion now share one per-slot evaluation when Key Reset is off. Their global clock, endpoints, phase, shape, deterministic random sequence, and oscillator identity are then identical for every voice.
- Key Reset on remains voice-owned because note age is part of the route. Pitch multipliers and morph values have separate oscillator-specific sample caches.
- The expanded 32-voice fixture activates global Tone Motion, two pitch routes,
and one morph route. It remains bit-exact and measures
177.96%versus131.03%, a0.736ratio (about 26.4% less callback cost). - The separate note-triggered interpolation pair remains independent and records
a
0.912ratio in the heavier oscillator-motion patch.
Rejected Redshift Shared Dynamic Filter Coefficients (2026-08-28)
- An exact, fixed-size per-slot/sample cache was tested for the dynamic
tan()andexp()coefficients used by globally shared cutoff motion. Eligibility excluded envelope, velocity, step-lock, and cross-modulated cutoff paths. - Rendered output was bit-exact, but a five-pass median fixture measured a
1.006CPU ratio: about 0.6% slower than direct per-voice evaluation. - The production cache, eligibility flag, and test switch were removed. This reinforces the rule that eliminating repeated arithmetic is not automatically a win when cache branches and memory traffic cost more on the target CPU.
- The Redshift motion performance fixture now reports the median of five timing batches so future small optimization claims are less vulnerable to noise.
Rejected Redshift Drift Oscillator Recurrence (2026-08-28)
- Redshift Drift's two per-voice sine expressions were tested as double-precision oscillator recurrences with periodic rebasing and preparation-time increments.
- The focused 32-voice render matched the reference output, but five-pass median
timing measured a
1.013CPU ratio: about 1.3% slower. - The recurrence state, preparation work, and test switch were removed. The existing direct expression remains preferable on the current Windows target.
- The retained motion fixture now keeps Drift active, increasing coverage and making its shared-motion measurements more representative of a flagship patch.
Redshift Feature-Cost Profile (2026-08-28)
- A focused five-pass-median profiler now measures Redshift at 48 kHz, 512 samples, and 32 sustained voices with a common tonal base.
- The first breakdown measured
141.08%for the tonal base,155.09%with cross-modulation,154.00%with drift/vibrato,186.92%with four Tone Motion routes, and210.33%for the combined flagship patch. These are deliberately overload-level offline figures used for relative comparison, not UI CPU claims. - Tone Motion destination processing is the largest remaining incremental cost. The profiler is retained as a focused gate for evaluating that work.
- The profiler is now exposed through the standard runner as
REDSHIFT_FEATURE_COST. A 2026-08-29 validation measured38.455%tonal base,51.785%drive motion,73.250%cutoff motion,79.625%bit-depth motion,123.813%all Tone Motion, and134.023%flagship combined. These deliberately overloaded 32-voice figures identify relative priorities; they are not normal project CPU expectations. - The initial unpaired matrix made bit-depth motion appear to be the largest isolated increment. Because its quantization is discontinuous, that result was sent to the stage-isolation gate below rather than motivating approximation.
Redshift Bit-Motion Stage Isolation (2026-08-29)
- The named
REDSHIFT_BIT_STAGE_COSTgate now measures tonal base, an active note-owned bit trajectory with bit application suppressed, and the complete bit-motion path in one adjacent run. The application switch exists only in the audio self-test build; release DSP is unchanged. - Three baseline passes measured tonal base at
36.903-37.317%, trajectory-only at40.600-40.709%, and complete bit motion at40.799-40.952%. The moving route therefore adds roughly 3.3-3.8 percentage points, while integer selection and cached level application add at most about 0.35 points in this fixture. - A separate globally shared bit-motion row measured
45.736%during a noisier standalone pass, still far below the earlier contaminated79.625%result. The earlier figure is withdrawn as an optimization-priority claim. The bit quantizer is not the material target; repeated voice-owned trajectory work is.
Rejected Redshift Interpolation Recurrence (2026-08-29)
- A trial replaced
anchor + delta * phasebetween eight-sample exact anchors withvalue += delta. Exact anchors still bounded accumulated error, and the rendered interpolation quality gate passed with relative RMS error near0.00000117. - CPU evidence did not improve repeatably. Stable trajectory-only rows overlapped
the existing reconstruction path, one row regressed sharply, and the focused
interpolation/exact ratio worsened to
0.936from the preceding0.775run. - The recurrence was removed. Its serial dependency is not preferable to the compiler-friendly anchor reconstruction on the current Windows target.
Rejected Shared Tone Destination Conversion Cache (2026-08-28)
- One consolidated exact cache was tested for globally shared resonance, drive, bit-depth, and crush-rate conversions. Rendered output remained exact.
- Five-pass median timing changed the Tone Motion row only from
184.56%to184.31%, about 0.14%. This is below a trustworthy or worthwhile margin. - The production cache and test switch were removed. Future Tone Motion work should seek a larger structural reduction rather than additional tiny caches.
Redshift Tone Destination Cost Split (2026-08-28)
- The retained feature profiler now separates key-reset Tone Motion into cutoff, resonance, drive, bit depth, all routes, and the combined flagship patch.
- At 48 kHz, 512 samples, and 32 sustained voices, five-pass medians measured:
tonal base
137.01%, cutoff150.41%, resonance152.12%, drive152.34%, bit depth148.75%, all Tone routes184.45%, and flagship204.98%. - These are deliberately overloaded offline comparison figures. The important result is that no single destination dominates; three destinations add similar cost and bit depth is only modestly lower.
- The routes retain their default key-reset behavior, so this profile measures voice-owned per-note modulation. It does not contradict the separate bit-exact win from sharing free-running and transport-triggered trajectories.
- The next justified experiment is bounded control-rate interpolation of derived destination values for eligible smooth, slow, key-reset routes. It must retain musical smoothness and beat the destination profile by a meaningful median.
Rejected Redshift Resonance Conversion Interpolation (2026-08-28)
- Eight-sample interpolation of derived resonance
kinitially measured a0.982ratio, but the required repeat profile measured0.996and failed the enforced 1% retention threshold. - The production state, conversion path, test switch, and performance guard were removed. Resonance motion retains exact audio-rate conversion.
- This supersedes the initial promising checkpoint and demonstrates why modest wins are not retained from a single five-pass run.
Rejected Redshift Drive Conversion Interpolation (2026-08-28)
- Eight-sample interpolation of derived Drive gain initially measured a
0.975ratio with negligible rendered error. - The required clean repeat measured
148.67%versus148.21%, a0.997ratio, and failed the enforced 1% retention threshold. - The production state, conversion path, test switch, and performance guard were removed. Drive Motion retains exact audio-rate decibel conversion.
- Together with resonance, this confirms that derived-value interpolation is too sensitive to measurement variance to retain on the current Windows target.
Redshift Tonal-Base Cost Split (2026-08-28)
- A retained five-pass-median profile now isolates the principal tonal stages at 48 kHz, 512 samples, and 32 sustained voices.
- The first clean run measured oscillator core
79.56%, dual oscillator89.62%, Spread95.19%, Fold89.29%, basic filter98.95%, styled filter104.61%, and the combined tonal base132.57%. - Relative to the common oscillator core, styled filtering is the largest single increment at about 25.0 points, followed by basic filtering at 19.4, Spread at 15.6, OSC 2 at 10.1, and Fold at 9.7. These overload-level figures are for relative engineering comparisons and are not equivalent to the app CPU meter.
- This profile remains available through
SPACEAGE_REDSHIFT_TONAL_BASE_COST_ONLYfor future paired experiments.
Rejected Redshift Spread Phase Wrap (2026-08-28)
- Spread's two side oscillators were tested with a bounded floor-based phase wrap in place of floating-point remainder on the prepared audio path.
- The focused profile measured Spread at
95.17%versus the preceding95.19%; the difference is measurement noise, while the combined path was slightly worse. - The alternate wrap was removed. Existing frequency and custom-cycle mip caches already eliminate setup repetition; Spread's remaining cost is the intentional generation of two additional band-limited oscillator signals.
Redshift Filter Cost Split (2026-08-28)
- The tonal-base profiler now separates the basic 12 dB filter, clean 18 dB, Silk 12 dB, Silk 18 dB, and Bite 12 dB under one common 32-voice workload.
- Five-pass medians measured oscillator core
84.15%, basic filter103.69%, clean 18 dB104.78%, Silk 12 dB106.64%, Silk 18 dB107.60%, and Bite 12 dB113.29%. The combined flagship tonal base measured135.62%. - Relative to the basic filter in the same run, the extra clean pole adds about 1.1 points, Silk adds 2.9, Silk plus the extra pole adds 3.9, and Bite adds 9.6. Bite's two nonlinear saturation stages are therefore the justified styled-model target; slope interpolation and Silk are not disproportionate costs.
Rejected Redshift Settled Filter Selector Branches (2026-08-28)
- Exact branches were tested for settled integer filter models and slopes to skip repeated clamp, floor, array-selection, and interpolation arithmetic.
- The styled-filter increment increased rather than decreased in the focused profile, indicating that added branch structure outweighed the removed scalar operations on the current Windows target.
- The production experiment was removed. Automation transitions and steady-state filtering retain the original compact implementation.
Rejected Redshift Settled Bite Blend Specialization (2026-08-29)
- A narrower follow-up specialized only fully settled Bite, replacing its two unit-depth blend expressions with algebraically direct saturated assignments.
- Bite's relative increment worsened from about 9.6 to 10.6 callback-load points, and the combined tonal path also became slower. The specialization was removed.
- The current compiler already handles the unit-depth arithmetic efficiently. Bite's remaining distinctive cost is its two nonlinear divisions. Replacing them with approximate reciprocals would alter its transfer curve and therefore requires an explicit sound-quality decision, not a routine optimization pass.
Rejected Redshift Shared Standby-State Clamp (2026-08-29)
- The inactive-cascade branch assigns the same standby value to hidden filter states 3 and 4. Clamping that value once before both assignments was tested in place of the two existing end-of-sample clamps.
- The basic-filter increment worsened materially in the focused run, despite the smaller scalar operation count, so the change was removed.
- Row movement during the long sequential profile also confirmed that future small filter experiments need an adjacent or interleaved baseline. Comparisons against a baseline measured several minutes earlier are too exposed to host scheduling and thermal drift for sub-percent retention decisions.
Redshift Paired Tonal Profiler (2026-08-29)
- Every tonal feature now runs beside a freshly constructed oscillator-core baseline. Pair order alternates between baseline-first and feature-first to reduce systematic warm-up, scheduler, and thermal bias.
- Each side still reports a five-pass median at 48 kHz, 512 samples, and 32 sustained voices. Production DSP is not altered by this diagnostic harness.
- The first paired run measured adjacent deltas of OSC 2
+14.39, Spread+15.87, Fold+10.22, basic filter+22.23, clean 18 dB+20.82, Silk 12 dB+23.26, Silk 18 dB+24.04, Bite 12 dB+29.94, and full tonal base+52.21callback-load points. - The nearby oscillator-core baselines ranged from
83.48%to85.49%. The remaining environment movement is visible within each pair instead of being silently folded into comparisons against one early baseline. - This paired gate supersedes unpaired row subtraction for future retention decisions. The figures remain deliberately overloaded offline measurements, not values from the app's CPU display.
Rejected Redshift Prepared Filter Normalization (2026-08-29)
- Clean filters with static cutoff and resonance were tested with a prepared state-variable normalization reciprocal. Dynamic cutoff, resonance motion, Silk, Bite, and model transitions retained the exact live calculation.
- The new focused feature-first pair measured basic filter
123.60%against an adjacent core baseline of83.38%, a+40.22point increment. This is far worse than the full paired profiler's preceding+22.23increment. - The production fields, prepared reciprocal, and selection path were removed. Saving one division increased hot-loop state and branching enough to damage generated-code performance substantially.
- A retained
SPACEAGE_REDSHIFT_BASIC_FILTER_COST_ONLYgate now runs only the five-pass basic-filter/core pair, shortening future filter experiments without weakening the paired measurement method. - After removal, the focused pair passed at basic filter
107.12%versus core87.86%, restoring the increment to+19.25points and confirming that no experimental production cost remained.
Redshift Simple-Waveform Early Paths (2026-08-29)
- The built-in oscillator helper previously calculated PolyBLEP step size, radian angle, and clamped shape amount before waveform selection. Sine and Triangle do not need PolyBLEP or shape amount; Saw needs PolyBLEP but not angle or shape amount.
- Exact early paths now return Sine, Triangle, and Saw before their unused setup. Pulse, mixed, harmonic, custom-cycle, and morph waveforms retain the existing general implementations and formulas.
- A dedicated
SPACEAGE_REDSHIFT_OSCILLATOR_CORE_COST_ONLYfixture was compiled into separate original and optimized executables. Three alternating five-pass pairs measured86.72%/84.96%,86.51%/84.38%, and86.26%/84.64%for original/optimized core load. - Every pair favored the optimized path by about 2.0%, 2.5%, and 1.9%; the median reduction is about 2.0%. The temporary baseline executable was deleted after comparison and the focused fixture remains available for future oscillator work.
Rejected Redshift Pulse Early Paths (2026-08-29)
- Square and variable Pulse were tested with early returns after PolyBLEP step preparation but before the general oscillator's later setup.
- Separate original and optimized executables ran three alternating five-pass
Pulse-core pairs. Original/optimized loads were
91.10%/91.80%,91.86%/92.15%, and91.35%/91.83%. - The proposed path was slower in all three orders by about 0.8%, 0.3%, and 0.5%, so it was removed. The accepted Sine/Triangle/Saw early paths remain intact.
SPACEAGE_REDSHIFT_PULSE_CORE_COST_ONLYis retained as a one-row fixture for future pulse-rendering experiments. The temporary baseline executable was deleted.
Rejected Redshift Rectified-Sine Reuse (2026-08-29)
- The rectified built-in waveform appears to evaluate
sin(angle)twice in source. Reusing the first float sine result was tested with separately compiled binaries. - Three alternating five-pass pairs measured original/optimized loads of
87.80%/87.79%,87.50%/88.54%, and87.79%/87.86%. - One pair was flat and the other two favored the original. This indicates the Release compiler already eliminates the repeated transcendental evaluation, while the explicit float reuse can slightly worsen generated code or rounding flow.
- The source experiment was removed. The retained
SPACEAGE_REDSHIFT_RECTIFIED_CORE_COST_ONLYfixture can test future work, and the temporary baseline executable was deleted.
Redshift Per-Oscillator Motion Activity (2026-08-29)
- Pitch Motion and Morph Motion previously entered both oscillator route evaluators whenever either oscillator was active. Block preparation now records activity independently, and the audio loop skips only the neutral companion route.
- Motion values are pure functions of note age, transport/free-running clocks, prepared endpoints, phase, and shape. Skipping a neutral route stores no missing phase state; enabling it later evaluates the correct current position immediately.
- Custom-cycle mip eligibility now uses the matching oscillator's Morph Motion
activity instead of the former synth-wide
any morph motionflag. A route on OSC 2 can no longer make OSC 1 prepare an unreachable custom morph target, and vice versa. - The focused motion gate passed with rendered maximum error
7.45e-06, relative RMS error9.88e-07, and bit-exact shared-route output. Interpolated/reference and shared/reference CPU ratios remained0.842and0.684; no isolated percentage is assigned solely to the new companion-route skip. - OSC 2 phase advancement remains active while its level is zero by design, so live level automation preserves deterministic phase continuity.
Redshift Silent OSC 2 Morph And Mip Sleep (2026-08-29)
- A silent OSC 2 now skips its Morph Motion evaluator and custom-cycle mip lookup. Neither operation advances oscillator phase or owns an accumulated modulation state; both derive the correct current result before the first audible render.
- OSC 2 frequency, Pitch Motion, and phase advancement remain active while silent, preserving pitch-modulated phase continuity when its level is automated upward.
- The focused motion gate passed with rendered maximum error
7.45e-06, relative RMS error9.88e-07, and bit-exact shared output. This run measured interpolated and shared ratios of0.820and0.662against their references. - Those ratios cover the broader retained motion optimizations, so no isolated percentage is attributed solely to silent Morph and mip sleep.
Rejected Redshift Neutral Pitch-Expression Return (2026-08-29)
- An exact early return was tested when Drift, Cross Mod, and Vibrato were all neutral, avoiding construction of the otherwise unused drift-phase value.
- Separately compiled alternating oscillator-core pairs measured original/optimized
loads of
82.39%/82.28%,82.12%/82.57%, and81.81%/82.35%. - The first pair was effectively flat and the next two favored the original by about 0.5% and 0.6%. The early return was removed; Release compilation already handles most neutral helper work without another hot-loop branch.
- The temporary comparison executable was deleted.
Redshift Shared MIDI Expression Lookup (2026-08-29)
- Redshift previously resolved the same MIDI source and channel independently for pitch bend and mod-wheel vibrato on every rendered sample. A combined helper now reads the source/channel state once while preserving sample-accurate expression.
- Three separately compiled 32-voice oscillator-core comparisons measured
baseline/optimized loads of
81.22%/81.72%,82.31%/81.11%, and82.88%/82.11%. The optimized median was81.72%versus82.31%, a reduction of about 0.7%; two of three pairs favored the combined lookup. - All focused profiles passed and produced the identical
0.966051peak. The change was retained as a modest exact-path improvement, and the temporary baseline executable was deleted.
Redshift Full-Morph Endpoint Bypass (2026-08-29)
- At a 100% oscillator morph, Redshift rendered both source and target waveforms even though interpolation discards the source exactly. The helper now returns the target directly, complementing its existing zero-morph source return.
- A dedicated
SPACEAGE_REDSHIFT_MORPH_ENDPOINT_COST_ONLYfixture measures this state with 32 voices. Two separately compiled alternating comparisons measured baseline/optimized loads of90.94%/89.12%and91.32%/87.98%. - Both orders favored the endpoint bypass by about 2.0% and 3.7%. All profiles
passed and output peaks remained identical at
0.966051.
Rejected Redshift Full-Noise Oscillator Sleep (2026-08-29)
- A 100% noise-mix path was tested that kept oscillator pitch, phase, and clocks advancing while skipping discarded oscillator samples, morph, spread, sub, and custom-cycle mip work.
- Three compiled baseline/optimized comparisons measured
84.48%/83.64%,82.67%/83.74%, and83.76%/83.12%. The median difference was only about 0.14%, with one pair reversing direction. - The restructuring was removed because its result was below a trustworthy noise
threshold. The focused
SPACEAGE_REDSHIFT_NOISE_ENDPOINT_COST_ONLYfixture is retained for future designs, and all comparison runs had identical peaks.
Rejected Redshift Settled Filter-Smoothing Guards (2026-08-29)
- Exact equality guards were tested around filter-model and pole-slope interpolation so settled voices could skip two arithmetic recurrences.
- Alternating compiled profiles measured guarded filter increments of
+18.82and+19.36points versus original increments of+18.58and+18.62points. - Both orders favored the original branchless arithmetic, so the guards were removed.
Rejected Redshift Shared-Filter Preparation Gate (2026-08-29)
- A block ownership gate was tested to skip shared post-filter preparation for Redshift-only slots, since engine 3 owns an independent internal filter.
- Alternating 32-voice comparisons were inconsistent: the first filter increment
favored the gate (
+18.87versus+19.68), while the reverse pair favored the original (+19.17versus+20.58). - The gate was removed because the existing voice-heavy fixture did not establish a repeatable benefit. Reconsideration requires a dedicated block-preparation benchmark that isolates configured silent slots and transition ownership.
Redshift Silent Block-Preparation Benchmark (2026-08-29)
SPACEAGE_REDSHIFT_BLOCK_PREPARATION_ONLYnow profiles all 80 source slots as configured, silent Redshift instances without voice-rendering cost.- The original path measured about
2426 us/blockwith filters off and2432 us/blockwith filters on at 48 kHz / 512 samples. This extreme ceiling is approximately30 usper configured slot. - Re-testing the ownership gate measured about
2415 us/blockoff and2477 us/blockon. The filter-on regression confirms the gate remains rejected. - The fixture is retained for future block-preparation work; ordinary projects with a few Redshift instances are far below the 80-slot case.
Redshift Static Filter Coefficient Cache (2026-08-29)
- Static Redshift filters previously recalculated their
tanandexpcoefficients once per configured slot on every audio block, even when cutoff and sample rate had not changed. - A per-slot cache now recalculates only when cutoff changes. Audio preparation invalidates the cache, covering sample-rate changes without adding work to the steady-state audio path.
- In the 80-slot silent fixture, whole-block timing was too noisy to isolate this
small change: filter-on measured about
2453 us/blockbefore and2482 us/blockafter, while the unrelated filter-off row drifted by about15 us. No wall-clock percentage is claimed. - The operation reduction is deterministic: the steady state changes from one
tan/expcoefficient pair per static slot per block to one pair per slot per cutoff and sample-rate state. Release compilation passed; the broad filter regression gate was not used for timing because its many unrelated full-synth renders make it unsuitable for isolating this preparation change.
Rejected Redshift Generic Dynamic-Cutoff Cache (2026-08-29)
- An exact per-voice cache was tested for every non-block filter coefficient, allowing stepped or held cutoff motion to reuse coefficients whenever the effective cutoff was unchanged.
- The required comparison against smooth cutoff motion regressed from
144.41%to146.22%in the 32-voice feature-cost fixture, about 1.25% slower. The equality branch and cache traffic therefore cost more than they save during ordinary continuous sweeps. - The experiment was removed. Any future held-region optimization must be explicitly gated by route type so smooth motion keeps the branchless path.
Rejected Redshift Step-Cutoff Coefficient Cache (2026-08-29)
- A route-aware follow-up limited coefficient reuse to unsmoothed cutoff Step Motion, leaving continuous sweeps on their original path.
- A new
SPACEAGE_REDSHIFT_STEP_CUTOFF_COST_ONLYfixture measures that exact workload with 32 voices. Baseline/cached comparisons measured160.19%/176.13%; reverse order measured160.90%/177.08%. - Both orders show a roughly 10% regression. Despite real coefficient reuse, the per-sample state branch and cache traffic are costlier than the compiler's straight coefficient path. The production experiment was removed; the focused fixture remains for future coefficient-interpolation designs.
Redshift Shared Drive-Motion Gain Conversion (2026-08-29)
- Free-running and transport-synced Drive Motion use one trajectory for every voice on a Redshift source, but previously converted the same dB value to a linear gain independently for every voice and sample.
- The prepared path now performs that exact conversion once per source and render sample. Note-triggered and legato-triggered routes remain per voice.
SPACEAGE_REDSHIFT_SHARED_DRIVE_COST_ONLYmeasures the shared route with 32 voices. Baseline/optimized order measured142.30%/139.07%; reverse order measured144.87%/139.23%, reductions of about 2.3% and 3.9%.- Output peaks were identical at
0.966051in every run. The optimization is retained, and the focused fixture remains available for regression testing.
Rejected Redshift Shared Bit-Depth Derivation (2026-08-29)
- Free-running Bit Depth Motion was tested with one rounded bit value and level derivation shared across all voices on a source.
SPACEAGE_REDSHIFT_SHARED_BITS_COST_ONLYmeasured baseline/optimized loads of139.89%/139.30%; reverse order measured138.69%/139.65%.- The first order improved only about 0.4% while reverse order regressed about 0.7%. The shared state was removed because the result is mixed and below the measurement threshold. The existing per-voice discrete-value cache remains.
Rejected Redshift Shared Crush-Rate Rounding (2026-08-29)
- Free-running Crush Rate Motion was tested with one rounded rate shared across all voices on a source.
SPACEAGE_REDSHIFT_SHARED_CRUSH_COST_ONLYmeasured baseline/optimized loads of161.54%/161.78%; reverse order measured149.90%/150.18%.- Both orders slightly favored direct per-voice rounding. The shared state was removed, while the focused fixture remains to prevent repeat investigation.
Redshift Shared Resonance-Motion Conversion (2026-08-29)
- Free-running and transport-synced Resonance Motion previously converted the
same shared resonance value to filter damping with
powindependently for every voice and sample. - The prepared path now performs that exact conversion once per source and render sample. Note-triggered and legato-triggered resonance remain per voice.
SPACEAGE_REDSHIFT_SHARED_RESONANCE_COST_ONLYmeasured baseline/optimized loads of144.65%/138.93%; reverse order measured141.65%/138.26%, reductions of about 4.0% and 2.4%.- Output peaks remained identical at
0.966051. The optimization and its focused fixture are retained.
Redshift Shared Cutoff-Motion Coefficients (2026-08-29)
- Free-running and transport cutoff motion now shares one exact
tan/expcoefficient pair per source and render sample when no filter envelope, velocity filter, cross-modulation, or other cutoff-motion route can make voices differ. - A voice carrying a per-note filter lock automatically falls back to the existing per-voice coefficient path. Note-triggered and legato cutoff motion are likewise never shared.
SPACEAGE_REDSHIFT_SHARED_CUTOFF_COST_ONLYmeasured baseline/optimized loads of141.15%/139.19%; reverse order measured141.07%/139.11%, approximately 1.4% lower in both orders.- Output peaks remained identical at
0.966051. The strict eligibility gate, shared coefficients, and focused fixture are retained.
Redshift Shared Band-Pass Gain (2026-08-29)
- Band-pass filtering derives
sqrt(1/k)from resonance. When Resonance Motion is shared, that gain was still recalculated independently for every voice. - The existing shared resonance cache now stores the exact band-pass gain beside
k, adding no new per-sample cache-key branch. SPACEAGE_REDSHIFT_SHARED_BANDPASS_COST_ONLYmeasured baseline/optimized loads of136.51%/136.26%; reverse order measured136.89%/136.22%, modest reductions of about 0.2% and 0.5%.- Both orders favored the extension, output peaks remained identical at
0.966051, and repeated per-voice square roots are deterministically removed.
Redshift Shared-Motion Combined Validation (2026-08-29)
- The combined motion gate renders simultaneous cutoff, resonance, and drive routes once with per-voice evaluation and once with shared evaluation.
- The retained shared trajectory, gain, damping, and cutoff-coefficient paths
matched the per-voice reference sample-for-sample (
sharedExact=1). - Tone Motion interpolation remained inside its established limits: rendered
maximum error
7.45e-06and relative RMS error9.88e-07. - The shared/reference CPU ratio was
0.635in this broad 32-voice validation. That ratio includes all retained shared-motion work and is not assigned to any one optimization.
Rejected Redshift Full-Fold Endpoint Bypass (2026-08-29)
- At exactly 100% Fold, a branch was tested to return the folded signal directly instead of evaluating the dry/wet blend arithmetic.
- The endpoint branch measured
92.71%and92.62%load. The unchanged baseline measured91.95%and91.26%, with the same0.966051peak in every run. - The branch was consistently slower and was removed. The dedicated
SPACEAGE_REDSHIFT_FOLD_ENDPOINT_COST_ONLYfixture remains available so the result can be reproduced without reopening the production experiment.
Rejected Redshift Shared Fold-Drive Intermediate (2026-08-29)
- Fold's repeated
mixed * foldDriveexpression was tested as one explicit local intermediate, preserving the transfer curve and all clamping exactly. - Alternating compiled comparisons measured baseline/explicit loads of
92.29%/92.63%; reverse order measured90.86%/90.93%. Output peaks remained identical at0.966051. - Both orders fractionally favored the original expression, indicating that the Release compiler already eliminates or schedules the repeated multiplication effectively. The explicit intermediate was removed.
Redshift Prepared Oscillator Audibility Gates (2026-08-29)
- Redshift preparation clamps Oscillator 2 and harmonic/sub levels to
0..1, but their per-voice/sample audibility gates still evaluated absolute values. - The prepared render path now uses direct positive comparisons. Parameter loads, malformed state, and automation remain protected by the existing block clamp; oscillator rendering and phase behavior are unchanged.
SPACEAGE_REDSHIFT_OSCILLATOR_CORE_COST_ONLYmeasured baseline/optimized loads of81.56%/80.50%; reverse order measured81.74%/80.81%, reductions of about 1.3% and 1.1%.- Output peaks remained identical at
0.966051. Both compiled orders favored the exact cleanup, so it is retained.
Rejected Redshift Main Phase-Increment Cache (2026-08-29)
- An exact per-voice cache was tested for the two main oscillator phase increments, keyed by each oscillator's exact frequency. Static notes could reuse the increment; pitch movement would refresh it immediately.
- Alternating compiled oscillator-core comparisons measured baseline/cached loads
of
81.45%/82.15%; reverse order measured80.45%/83.49%. Peaks remained identical at0.966051. - Cache equality checks and additional voice-state traffic cost substantially more than the two saved multiplications. The experiment was removed without pursuing a moving-pitch profile because it already failed its best-case static workload.
Rejected Redshift Prepared OSC 2 Tuning Product (2026-08-29)
- Oscillator 2's fixed ratio and tuning multiplier were tested as one product prepared per source/block, removing one multiplication per active voice/sample. Tuning automation remained block-current and multiplication order was preserved.
- The first compiled order measured baseline/optimized loads of
81.77%/80.49%, but reverse order measured80.25%/80.26%. Peaks were identical at0.966051. - The apparent first-order gain did not repeat and reverse order was fractionally worse. The extra block-control field was removed under the repeatability rule.
Basic Groove 5 Whole-Project Profile (2026-08-29)
- The
PROJECT_CPUwrapper now uses proper named PowerShell argument splatting for both single-buffer and latency-sweep profiling. The former array forwarding passed-BufferSizeitself as the integer value and prevented the gate running. - Isolated lanes that are silent because their referenced instrument asset is
unavailable are now reported as
unavailableand excluded from rankings. Unexplained silent lanes still fail the gate. This allowed the archived project to identify its missing Mellotron SoundFont without discarding valid profiles. - At 48 kHz / 512 samples,
Basic Groove 5.sskitmeasured12.16%with shared effects off,12.66%with Delay only,18.32%with Reverb only, and19.52%in its original state. Reverb therefore adds about6.16percentage points, versus about0.50for Delay. - Dry isolation measured Redshift at
9.30%and drums at7.22%. The SoundFont lane is unavailable because its storedE:-drive Mellotron file is absent. Reverb is the next measured project-level optimization priority.
Rejected Shared Convolution Input Validation (2026-08-29)
- Compact, Deep, custom, and retiring custom room engines consume the same pre-delay buffer, but each convolution previously rescanned that input for invalid samples and reproved non-aliasing against its private output buffer.
- A trial sanitized the shared pre-delay input once and called an internal validated/non-aliasing engine path. The public primitive retained complete alias and hostile-input defenses, and every backend still validated its own output.
- Compiled focused runs initially measured optimized realtime loads of
19.70%,20.30%, and19.74%, versus baseline loads of20.64%and25.27%. However, a fresh rebuilt optimized run measured24.42%, overlapping the baseline range and disproving a stable saving. - The complete convolution suite passed in both forms, including hostile input, aliasing, segmentation, room morph, custom-room lifecycle, and re-preparation. The shared-validation path was removed under the repeatability rule.
Rejected Convolution Output Pre-Clear Removal (2026-08-29)
- Compact, Deep, custom, and retiring custom convolution buffers were explicitly cleared immediately before processing, even though both the direct-FIR and JUCE non-replacing backends overwrite every requested output sample.
- A compiled trial removed only those redundant clears. The complete focused convolution suite passed, including automation segmentation, hostile controls, custom-room transitions, tail settlement, and re-preparation.
- The first optimized stress run measured
18.96%realtime load after a fresh baseline of21.30%, but the reversed rebuilt baseline then measured18.49%. The apparent saving therefore did not survive order reversal. - The clears were retained. Although logically redundant on the active paths, removing them has no demonstrated CPU benefit and would reduce defensive clarity around output-buffer ownership.
Dual-Kernel Convolution Reference Gate (2026-08-29)
- Inspection of the pinned JUCE 8.0.8 implementation confirmed that Compact and Deep independently perform the forward FFT of the same stereo input. Sharing that transform is the next substantial exact optimization candidate.
- The focused suite now includes
CONVOLUTION_DUAL_KERNEL_REFERENCE, which runs two deterministic long kernels from identical input, verifies finite and energetic Compact and Deep outputs separately, and reports median realtime load. - The first 48 kHz / 512-sample run measured
5.54%realtime load, with Compact energy1.48535and Deep energy1.26674. This is a synthetic engineering baseline for alternating prototype comparisons, not an end-user CPU estimate.
Shared-Transform Dual-Kernel Prototype (2026-08-29)
- A test-only uniform-partition engine now computes one input FFT per channel and reuses it for separate Compact and Deep spectral accumulations and inverse FFTs. Kernel transforms and all working storage are prepared before processing.
- At full 512-sample blocks, its two outputs matched the existing independent JUCE
engines within
1.21e-08maximum sample error. - Consecutive compiled comparisons measured shared/reference CPU ratios of
0.779and0.784, indicating a repeatable isolated reduction of about 22%. - The prototype now supports changing callback sizes by recomputing the current
partial partition while retaining completed-partition spectral sums. A repeating
90-callback irregular pattern matched both JUCE outputs within
5.32e-08without added latency. - That expanded run measured a shared/reference ratio of
0.787, so variable-block bookkeeping retained an isolated reduction of about 21%. - The prototype remains outside production until hostile-input containment,
backend-output validation, reset, and tail contracts are integrated. Promotion
must then pass the full suite and
Basic Groove 5.sskitprofiling.
Shared-Transform Built-In Reverb Production Integration (2026-08-29)
- The proven dual-kernel algorithm now replaces the two independent JUCE engines used by the built-in Compact and Deep rooms. Each stereo input transform is shared while room spectra and inverse transforms remain separate for exact, sample-aligned Size morphing.
- Processing validates the shared input once, sanitizes hostile values into preallocated scratch, validates both backend outputs, preserves diagnostic counters, and performs no allocation. Custom IR rooms retain the established JUCE path and transition behavior.
- A Nyquist-bin omission found during production integration was corrected rather than hidden by looser thresholds. Original room energy, onset, width, damping, timing, host-matrix, tail, and paused-reuse metrics then returned exactly.
- The production dual-kernel gate measured
6.52e-09full-block error and4.66e-09irregular-block error, with a shared/reference ratio of0.761. The complete focused convolution suite passed. - Two whole-project confirmations measured Reverb-only at
16.19%and15.95%, and the originalBasic Groove 5.sskitproject at16.71%and16.57%. Pre-change measurements were18.32%and19.52%, respectively, indicating about 13% lower Reverb-profile load and 15% lower complete-project load in this fixture. Dry-profile variance means these are workload results, not universal percentage promises.
Shared-Transform Production Hardening (2026-08-29)
- The obsolete test-only shared-transform implementation was removed. The dual
reference benchmark, irregular segmentation check, and safety checks now invoke
DualKernelConvolutionEnginefrom the production DSP module directly. - A hostile-input fixture injects NaN and infinity, requires silent finite output,
and verifies exactly one rejected-input diagnostic. A separate exercised-reset
comparison requires exact equality with a fresh engine and currently reports
resetDifference=0. - The full focused suite passed after cleanup. A contention-heavy run still measured
a shared/reference ratio of
0.772; absolute wall-clock loads from that run are not used as product evidence because both paths were elevated together.
Adaptive Reverb Callback Strategy (2026-08-29)
- A new production host matrix measured the raw dual-kernel engine against two JUCE references at 64, 128, 512, 1024, and 4096 samples.
- Sharing was substantially slower at 64 samples (
1.80-1.84x) and near parity at 128 (1.04-1.07x), because each partial callback recomputes a fixed 1024-point transform. It remained clearly faster from 512 upward, measuring approximately0.71-0.77xreference cost. - Production Reverb now uses the established JUCE pair below 256 prepared samples and the shared engine at 256 and above. A focused gate explicitly requires 128 to select the fallback and 256 to select sharing.
- This prevents the 512-sample optimization from becoming a low-latency regression. The complete focused convolution suite passes with the adaptive policy.
- Direct 256-sample measurements produced shared/reference ratios of
0.959,0.958, and0.863. The advantage is smaller and more variable than at 512, but repeated on every compiled run, supporting the current 256 boundary.
Shared Reverb Memory Budget (2026-08-29)
- The production dual-kernel engine now reports its prepared dynamic storage from transformed kernels, input history, overlap state, working spectra, and scratch.
- The current 48 kHz stereo Compact/Deep fixture uses
9,289,728bytes, about 8.86 MiB. The focused gate requires the estimate to remain below 16 MiB. - This is a per-Reverb DSP allocation performed during preparation, not on the audio thread. The ceiling guards against unnoticed growth as room lengths or partition policy evolve.
Rejected Built-In-Only Custom Blend Bypass (2026-08-29)
- The ordinary built-in room loop still reads the zeroed custom output and applies
a zero-weight custom blend. A trial moved that work behind the existing
customAvailablecondition while preserving custom transitions exactly. - A narrow
--benchmark-active-reverbfixture was added so this kind of post-room experiment can be measured without host-matrix and lifecycle timing noise. - Four alternating compiled runs per form produced a baseline median near
17.57%realtime load and an optimized median near17.65%. The explicit branch was fractionally slower, likely because the Release compiler already removes or schedules the invariant zero blend efficiently. - The production loop remains unchanged and both temporary comparison executables were deleted. The narrow benchmark entry point is retained for future exact post-convolution comparisons.
Rejected Settled Zero Pre-Delay Copy Path (2026-08-29)
- A trial replaced per-sample zero-delay interpolation with contiguous input and ring-history copies whenever Pre Delay was exactly zero and fully settled. Nonzero and automated delay retained the existing fractional path, and ring history was preserved so later automation could rise smoothly from zero.
- The first alternating comparison was disrupted by broad system contention. A
second warm eight-run comparison measured baseline and candidate medians of
approximately
16.80%and16.79%, effectively identical, while the candidate also produced one isolated high outlier. - With no repeatable separation, the shortcut was removed and the original interpolation path restored. Both temporary comparison executables were deleted.
Reverb Supporting-Stage Cost Boundary (2026-08-29)
- Added the test-only
--benchmark-reverb-stagesfixture to isolate the ordinary 20 ms pre-delay interpolation and the built-in room morph, damping, and stereo width output math. Signal preparation is excluded from the timed regions. - Seven warm Release runs at 96 kHz / 1024 samples measured median realtime loads
of approximately
0.024%for pre-delay and0.025%for the output stage. The complete active Reverb fixture measures roughly16-17%on the same host. - These supporting stages together account for only about three-tenths of one percent of the complete callback cost in this workload. Further micro-optimization there is not justified; remaining material Reverb cost is convolution work.
- The fixture remains available as a regression and prioritization tool. Future Reverb optimization should target a materially different convolution design or a newly measured workload, not repeat arithmetic shortcuts in these stages.
Rejected Dual-Room Spectral Traversal Fusion (2026-08-29)
- Compact and Deep tail accumulation were tested in one shared history traversal. The candidate loaded each input spectrum once and accumulated both room spectra, while preserving partition order, per-room arithmetic order, FFT count, inverse transforms, segmentation, and all public behavior.
- The complete convolution suite passed. Full-block and irregular maximum errors
remained
6.52e-09and4.66e-09; hostile-input containment, reset equality, host adaptation, custom-room lifecycle, and natural-tail contracts also passed. - Five candidate shared/reference ratios were
0.747,0.752,0.772,0.776, and0.765. After recompiling the original traversal, five reverse-order ratios were0.787,0.788,0.771,0.768, and0.773. The medians differ by only about 1.1% and the ranges overlap. - The fusion was removed under the repeatability rule. The simpler two-pass loop
remains in production. A focused
--benchmark-dual-kernelentry point is retained so future structural convolution experiments can obtain reference equality and paired CPU evidence without timing the entire lifecycle suite on every run.
Shared Non-Uniform Convolution Cost Model (2026-08-29)
- The production dual-kernel primitive now exposes read-only prepared partition
counts for diagnostics. The 48 kHz reference fixture reports
45Compact and258Deep partitions; Deep owns85.1%of partition accumulation. - A bounded model retaining eight 512-sample zero-latency head partitions per room
and moving the remaining response to 2048-sample tails reduces equivalent
accumulation work from
303partitions to89, approximately 70.6%. - This is not a CPU claim: larger tail FFTs add transform cost. It establishes that the long tail is large enough to justify a test-only non-uniform prototype. The prototype must preserve timing and reference output, pass irregular segmentation and safety contracts, and win repeatably at 256/512/1024 callbacks before use.
Rejected Runtime-Configurable Convolution Partition Size (2026-08-29)
- A preparatory refactor made the shared engine partition size a prepared runtime value so one implementation could instantiate 512-sample heads and 2048-sample tails. Reference output, segmentation, reset, safety, and the full convolution suite remained correct.
- Five fixed-512 runs after the refactor measured shared/reference ratios from
0.865through0.876, materially worse than the established0.77-0.79region. Restoring compile-time constants immediately measured0.760. - The refactor was removed. Runtime loop bounds and indirect FFT ownership cost more than expected in this hot path. A non-uniform prototype must use separately specialized fixed-size head and tail stages, keeping production's current compile-time 512-sample engine untouched until a complete candidate is proven.
Compile-Time 2048-Sample Convolution Tail Prototype (2026-08-29)
- The shared dual-kernel implementation is now an internal compile-time template. Production remains specialized at 512 samples. Only the focused convolution test target enables and instantiates the 2048-sample tail prototype.
- Five production-512 benchmark runs after the refactor measured ratios from
0.747to0.763, confirming that templating preserved the optimized fixed path. The ordinary audio target also builds without the prototype definition. - At aligned 2048-sample callbacks with identical long kernels, the tail prototype
matched the 512 engine within
1.07e-08maximum sample difference. Five repeated prototype/reference CPU ratios were0.507,0.527,0.519,0.518, and0.528, a stable 47-49% reduction in this upper-bound tail-only fixture. - This result justifies retaining the test specialization. It is not a production CPU claim: the complete candidate still needs a 512-sample zero-latency head, delayed tail scheduling, irregular callback equality, and whole-project proof.
Combined Shared Non-Uniform Convolution Scheduler (2026-08-29)
- The focused prototype now combines a compile-time 512-sample head covering the first 4096 response samples with a compile-time 2048-sample tail. Arbitrary host callbacks accumulate into complete tail blocks; a preallocated future-output ring restores the tail's original 4096-sample response offset without latency.
- Aligned maximum difference versus the uniform production engine is
9.31e-09. A 180-callback irregular sequence spanning 11-401 samples differs by at most5.12e-09, proving sample alignment across tail-block boundaries. - Five complete candidate/reference ratios measured
0.822,0.815,0.823,0.792, and0.826, a repeatable 17-21% reduction including both engines and scheduler work. Prepared candidate storage is9,809,920bytes, about 9.36 MiB. - The tail and combined fixtures are now mandatory parts of the complete focused
convolution suite. That suite passes; its combined row measured
0.756under the longer run. Production remains unchanged pending scheduler safety tests, host-size timing, and whole-project confirmation.
Non-Uniform Scheduler Safety And Host Matrix (2026-08-29)
- A reusable test-only scheduler now owns the 512 head, 2048 tail, input accumulation, hostile-input scratch, absolute timeline, and future-output rings.
- NaN/infinity input is contained as silent finite output with one rejected block.
Reset after partial tail accumulation and queued output matches a fresh scheduler
exactly for fourteen subsequent 512-sample blocks (
resetDifference=0). - At 256, 512, and 1024 callback sizes, candidate/uniform ratios measured
0.846,0.816, and0.832. Maximum sample difference across the matrix was7.92e-09; every target size retained a repeatable directional advantage. - Safety and host-matrix fixtures are now mandatory in the complete convolution suite. The remaining promotion gate is integration behind a production test switch, full Reverb lifecycle validation, and saved-project CPU confirmation.
Production Non-Uniform Reverb Evaluation (2026-08-29)
- The proven scheduler now exists in production DSP as
DualKernelNonUniformConvolutionEngine: a 512-sample zero-latency head, a 2048-sample tail after the first 4096 response samples, a preallocated output schedule, hostile-input containment, rejected-block diagnostics, exact reset, bounded storage, and a 64-bit session timeline. ConvolutionReverbselects one built-in backend during preparation and releases the alternatives. A self-test-only processor switch permits saved-project A/B profiling without changing project state or ordinary application behavior.- Mandatory non-uniform correctness, safety, and host-matrix tests now exercise
the production class. Maximum aligned and irregular-callback differences remain
9.31e-09and5.12e-09; reset difference is zero; hostile input is contained. Candidate/uniform ratios measured0.780,0.797, and0.805at 256, 512, and 1024 samples. The complete focused convolution suite passes. - The ordinary shared-effects signal regression also passes, covering Reverb tails, Size, damping, width, pre-delay, input cuts, ducking, bass mono, tilt, bypass fades, silence, and finite output.
Basic Groove 5.sskitproduced an encouraging firstreverb-onlypair: 18.32% current versus 16.07% candidate, about 12.3% lower. A reverse-order pair narrowed to 16.50% versus 16.32%, about 1.1%. The project-level gain is therefore not yet repeatable enough for automatic promotion.- The existing shared backend remains the default. The new production backend and diagnostics switch are retained for a quieter, longer paired run. This follows the optimization rule: proven structural work is preserved, but an uncertain end-to-end CPU claim does not alter user-facing behavior.
Paired Reverb Backend Profiling And Rejected 1024 Tail (2026-08-29)
- The saved-project profiler now accepts a bounded 1-60 second measurement window. Its default remains unchanged, so normal diagnostics do not become slower.
- A paired Reverb mode creates fresh current and non-uniform processor instances inside one process and measures both orders. With 20-second windows, current/candidate measured 16.29%/14.64%; the reverse candidate/current pair measured 16.57%/15.93%. Candidate averages were about 3.1% lower, but the candidate lost the reverse ordering and had higher P95/P99 callback loads.
- The result identifies the present tradeoff: 2048-sample tail partitions reduce aggregate DSP work but deliver it in larger periodic bursts. Average CPU alone is insufficient justification for making that path the realtime default.
- A compile-time 1024-sample tail experiment retained numerical correctness, with
at most
1.63e-08sample difference, but candidate/uniform ratios were0.982,1.000, and0.997at 256, 512, and 1024 samples. It failed the mandatory host performance matrix and was fully reverted. - The restored 2048 diagnostic backend passes the complete focused suite again,
measuring
0.829,0.808, and0.821across the host matrix. It remains available for future work-distribution experiments while production continues to use the steadier shared 512 backend.
Rejected Automatic 1024-Block Non-Uniform Selection (2026-08-29)
- The focused non-uniform host matrix now captures callback P95, P99, and maximum timing ratios in addition to aggregate elapsed time. This makes periodic DSP concentration visible instead of allowing average CPU to hide it.
- At 256 and 512 samples, candidate P95 was approximately 1.6-1.9 times the
uniform engine. At 1024 samples, aggregate candidate cost was roughly 17-20%
lower and focused P95 ranged from
0.97to1.12across runs. - A narrow production trial automatically selected the non-uniform backend only for host blocks of 1024 samples or larger. The mandatory suite explicitly verified fallback at 128, shared-uniform selection at 256/512, and non-uniform selection at 1024.
- A 20-second paired
Basic Groove 5.sskitprofile at 1024 samples was not stable enough for promotion. Current/candidate measured 16.36%/15.37% in one order; reverse candidate/current measured 21.34%/17.12%, with a much larger candidate maximum callback in the elevated half. - Automatic selection was fully reverted and the normal audio target rebuilt. The optimized backend remains opt-in for diagnostics only. This rejects a tempting average-CPU improvement because whole-project callback safety did not repeat under both measurement orders.
Staged Non-Uniform Tail Scheduler (2026-08-29)
- The production non-uniform backend now stages each completed 2048-sample tail block across callbacks: forward transform first, Compact accumulation/inverse second, and Deep accumulation/inverse third. Its 4096-sample response offset provides enough scheduling lead at host blocks through 1024 samples.
- No transform history is duplicated. Tail history advances only after all stages complete. Separate 64-bit timestamps protect the active rendering block from the next block being accumulated. Hosts above 1024 retain immediate tail processing.
- Focused candidate/uniform aggregate ratios measured about
0.80,0.79, and0.79at 256, 512, and 1024 samples. P99 and maximum callback timing were below the uniform reference at every size. This removes the previous 1.6-1.9 P95 burst pattern while retaining roughly 20% aggregate DSP savings. - Fixed-callback output matches within
7.92e-09; a new production-class irregular sequence spanning 11-401 samples matches within8.85e-09. Hostile input remains contained, reset remains exact, and explicit 256-sample opt-in selection is now part of the mandatory ownership test. - A corrected 20-second
Basic Groove 5.sskitpair at 512 samples remained order-sensitive: candidate/current measured 16.08%/15.31% in one order and 14.19%/16.78% in reverse. Candidate average was lower, but disagreement between orders prevents a user-facing default change. - The staged backend is retained as a validated diagnostics option. Production continues to default to the shared-uniform engine until an end-to-end lockstep project harness can establish a repeatable whole-project advantage.
Staged Non-Uniform Reverb Production Promotion (2026-08-29)
- A lockstep saved-project harness now compares two complete processors in the same measurement window. Both restore the same project, isolate Reverb, start from the arrangement beginning, and alternate callback execution order. This removes the process and time-order drift that invalidated sequential pairs.
- Three 20-second
Basic Groove 5.sskitlockstep runs at 512 samples measured current/candidate loads of 19.04%/16.91%, 17.57%/15.70%, and 17.89%/15.85%. Candidate/current ratios were0.888,0.894, and0.886: a repeatable 10.6-11.4% reduction in whole-project Reverb workload. - Candidate P95 and P99 callback loads improved in all three runs. Maximum callback load improved in two runs and was slightly higher in one, while the focused matrix independently retained lower P99 and maximum timing at every host size.
- The staged non-uniform engine is now the production default at host blocks of 256 samples or larger. Smaller blocks retain the existing JUCE fallback. The shared-uniform engine remains available as an explicit diagnostics opt-out.
- Mandatory ownership checks prove staged default selection at 256, 512, and 1024, plus uniform opt-out at 256. The complete focused convolution suite passes after promotion, including fixed and irregular equivalence, reset, hostile input, lifecycle, custom rooms, segmentation, and callback distributions.
- The broad shared-effects signal regression passes with the promoted default, covering Reverb controls, filtering, ducking, bass mono, tilt, tails, bypass fades, silence, and finite output along with all other shared effects.
Saved-Project Redshift Feature Ablation Harness (2026-08-29)
- The whole-project profiler can now apply test-only parameter overrides to an
isolated Redshift lane after loading the saved project.
Basic Groove 5.sskitgains ablations for spread, fold, comb, drive, oscillator 2, harmonic layer, the combined secondary layers, the complete filter, filter modulation, and resonance. The saved project and production patch state are never modified. SPACEAGE_PROJECT_CPU_PROFILE_FILTERcan restrict a diagnostic run by profile name, avoiding unrelated project, effect, drum, and unavailable-asset renders.- The first complete run suggested that the filter and combined secondary layers
were the largest costs in
Sanders_Ugly-Bass, each reducing isolated-lane load by roughly 1.2-1.3 percentage points. A focused confirmation became globally contended midway through, with unrelated cases rising together and callback maxima exceeding 300%; its contradictory values are rejected. - No production optimization is claimed or retained from these measurements. The ablation harness is retained so the candidates can be confirmed later with paired, stable measurements before any audible synth path is changed.
Paired Saved-Project Redshift Ablations (2026-08-29)
- Redshift project ablations now require the explicit
SPACEAGE_PROJECT_CPU_REDSHIFT_DIAGNOSTICSmode. Normal whole-project profiling no longer pays for exploratory feature renders.pairedmode measures each candidate adjacent to its baseline in both baseline/candidate orders. - On
Sanders_Ugly-Bass, complete Filter Off measured8.432%in both candidate positions, versus adjacent active-filter baselines of9.129%and9.091%. The active filter therefore accounts for about0.68percentage points, or roughly 7.4% of this isolated lane workload. - Removing oscillator 2 plus the harmonic layer did not improve both orders and
remains unproven. The first filter-modulation order was externally elevated;
its stable reverse pair measured
9.008%without envelope/velocity modulation versus9.186%with it. Resonance removal did not improve either stable pair. - Inspection confirms that the remaining filter cost is the audible recursive state-variable core. Existing work already caches static/voice/shared coefficients, sleeps Filter Off, avoids inaudible cascade poles, and rejected slower settled selector specializations. No exact redundant operation remains justified by this project profile, so production filter behavior is unchanged.
Rejected Neutral-Click Noise-Generator Gate (2026-08-29)
- Plain sample voices currently advance their click-noise generator during the short Click window even when Click amount is zero. A trial moved the generator behind the existing audible-amount condition; audible Click modes retained their original waveform, envelope, and random source.
- Six focused baseline runs centered near
4.70%realtime load. Candidate runs centered near4.67%after excluding one elevated host outlier, a very small reduction appropriate to a roughly four-millisecond note-start path. - The required
AUDIO_SAFETY_CONTINUITYgate failed on panic cleanup and then terminated with Windows heap-corruption status0xC0000374. The trial was fully reverted, rebuilt, and the restored baseline reproduced the same failure and termination. The candidate did not cause the failure, but it remains rejected because a tiny saving does not justify retention without complete safety proof. - The baseline fixture now needs lifetime isolation. It retains several complete processor instances concurrently; each now owns the prepared shared Reverb storage. Test ownership should be shortened before diagnosing the exact corrupting destructor or panic interaction. Production audio is unchanged by this entry.
Audio-Safety Fixture Block-Contract Repair (2026-08-29)
- Stage isolation proved the heap corruption occurred inside the panic subtest,
before processor destruction. The fixture called
prepareToPlay(48000, 512)and then submitted 4,096-sample warm-up and drain buffers toprocessBlock. - That exceeds the host's declared maximum callback size and can write beyond DSP work buffers prepared for 512 samples. The fixture now uses 512-sample buffers, matching its declared contract. Completed processor/editor owners are also released before later subtests, reducing unnecessary concurrent Reverb storage.
- Two rebuilt Release runs passed the complete
AUDIO_SAFETY_CONTINUITYcontract: limiter transparency/ceiling, panic silence and unchanged state, Reset Audio plus Undo, loop/navigation continuity, activity settlement, pending-trigger delivery, panic cancellation, and finite output. - The prior
0xC0000374termination was therefore a test-fixture misuse, not evidence of a production Reverb destructor defect. Production DSP remains unchanged.
Sample-Only Engine-Render Bypass (2026-08-29)
- Voices explicitly marked
forceSampleOnlyalready produce 100% sample output, but the callback still rendered and discarded their selected synth engine on every sample. The production path now skips that engine render exactly for these voices. Ordinary engine voices and intentional sample/synth blends are unchanged. - A dedicated 32-voice, two-second sample workload at 48 kHz / 512 samples measured
baseline median realtime load near
31.15%and optimized median load near12.87%. This is approximately a 59% reduction in the focused sample-only workload; it is not a claim of a 59% reduction for complete projects. - Baseline and optimized renders produced the same measured peak (
0.966051) and finite output.AUDIO_SAFETY_CONTINUITY, the completeNATIVE_VOICE_STEAL_CONTINUITYengine matrix, andINSTRUMENT_PATCH_LIFECYCLEpassed after the change. - The benchmark is retained as the named
SAMPLE_ONLY_CPUgate so this exact workload can be measured again without running unrelated tests.
Synth-Only Sample-Processor Bypass (2026-08-29)
- Synth-only voices with no loaded or mapped sample previously ran the independent sample envelope and filter on a zero-valued signal every sample. A sample source cannot appear midway through an existing voice, and the resulting sample branch is not mixed when no source exists, so this work was mathematically discarded.
- The voice path now runs the independent sample processor only while that voice actually owns a sample source. Loaded samples, mapped samples, sample/synth blends, and all synth rendering remain unchanged.
- A dedicated 32-voice Internal-engine fixture enables the independent sample
envelope and modulated low-pass filter without loading a sample. After excluding
an externally contended initial pair, five old-path runs stabilized at a median
near
5.07%; five retained-path runs stabilized at4.47%. This is roughly a 12% reduction in this focused misuse-resistant workload, not a whole-project claim. - Output remained finite and in the same measured peak range. The named
SYNTH_ONLY_SAMPLE_PROCESSOR_CPUgate,AUDIO_SAFETY_CONTINUITY, andINSTRUMENT_PATCH_LIFECYCLEpass with the retained implementation.
Rejected Exact-Centre Pan Specialization (2026-08-29)
- A trial replaced the two equal-power pan square roots with a constant gain only when both the final pan and stereo side signal were exactly zero. Random pan, auto-pan, clip motion, MIDI pan, synth width, and all non-centred cases retained the original equations.
- Five focused 32-voice runs measured a median near
4.52%, compared with the retained-path median near4.47%immediately before the trial. The equality branch did not offset work already optimized effectively by the compiler and was neutral to slightly slower. - The specialization was removed. The original branch-free equal-power pan path remains in production.
Native-Envelope Generic ADSR Bypass (2026-08-29)
- PCM-55 and 80s FM render and terminate voices from their own native envelope state. The shared voice wrapper nevertheless calculated its generic ADSR on every sample, then explicitly selected unity instead of that result for both engines. Their completion tests also use native state rather than the generic envelope, making the wrapper calculation fully discarded.
- The generic ADSR now runs only for engines that consume it. PCM-55 and 80s FM retain shared release signalling, age progression, native rendering, native completion, routing, and all post-processing exactly as before.
- Three focused 32-voice 80s FM Light baseline runs measured a median near
24.84%realtime load. Three retained-path runs measured a median near21.12%, about 15% lower. The accumulated output witness remained exactly40.8768, and all 32 voices remained active throughout every measurement. - The
FM80_CPUgate now supports optional test-only case-name and voice-count filters while retaining its complete default matrix. The native voice-steal matrix, PCM-55 instrument patch lifecycle, and audio safety/continuity gates pass with the retained implementation.
Rejected Native-Envelope Control-Read Deferral (2026-08-29)
- A follow-up trial moved generic attack, hold, sustain, gate-mode, and velocity response reads behind the PCM-55/80s FM native-envelope condition. Their values remain unused by native output, but introducing mutable defaults and another condition widened the shared hot path.
- Three focused 32-voice 80s FM Light runs measured a median near
21.60%, versus21.12%for the simpler retained ADSR-only bypass. The output witness remained exact, but the extra specialization was consistently slower. - The follow-up was removed. Only the material generic ADSR calculation bypass is retained.
Rejected Prismatic Temple Dormant-Modulation Gates (2026-08-29)
- A trial preserved global-vibrato and vector-orbit phase advancement while skipping their waveform calculations at exactly zero total modulation or zero orbit depth. Active modulation retained the original waveform and phase order.
- The permanent neutral four-element Prismatic Temple profile measured about
5.66%before the trial. After excluding a system-contention interval, six candidate repeats centered near5.73%; output peak remained exactly0.495728. - The additional conditions did not produce a repeatable reduction and were removed. The original continuous modulation calculations remain in production.
Rejected Prismatic Temple Static Vector-Gain Preparation (2026-08-29)
- A trial prepared the four equal-power vector gains once per source block when Vector Orbit was exactly zero, avoiding four square roots per active voice sample. Short-window measurements initially suggested an approximately 4% reduction.
- Revalidation with the repaired 4.096-second sustained fixture did not reproduce
a dependable win. The original per-sample path measured
5.196%,5.157%, and5.237%; same-session prepared-path runs measured5.175%,5.208%, and one host-load-spiked5.539%. The useful runs overlap rather than establishing a repeatable advantage. - The cached array and its block-preparation code were removed under the
retain-only-repeatable-wins rule. Prismatic Temple neutral and animated CPU
profiles, PCM-55 patch lifecycle, and the complete native voice-steal continuity
matrix pass with the simpler original calculation. Peaks remain exactly
0.495728neutral and0.966051animated.
Rejected Prismatic Temple Neutral Cutoff-Exponent Bypass (2026-08-29)
- A trial replaced the unconditional cutoff
exp2calculation with an exact-zero branch and unity multiplier. Initial 256 ms measurements suggested that skipping the calculation at a neutral offset reduced CPU use. - The repaired sustained benchmark overturned that result. Across three 4.096-second
neutral runs, the zero-check candidate measured
5.292%,5.277%, and5.299%. Recompiling the original unconditional path measured5.139%,5.157%, and5.174%under the same fixture. - Output peak remained exactly
0.495728in both implementations. The zero-check was removed and the faster unconditionalexp2path remains in production. In this hot loop, the extra condition cost more than the theoretical skipped work.
Rejected Prismatic Temple Spectral-State Expansion (2026-08-29)
- A trial cached each Element's clamped Spectral Tilt and Blur follow coefficient at voice start. Element settings are generation-immutable for active voices, so the transformation was behaviorally exact.
- The two additional floats enlarged every hot Element state. Seven short-window
neutral runs centered near
5.60%, above the compact renderer's observed range, and two animated matrix/vector/spectral runs also increased to roughly6.96-7.18%. Later sustained revalidation established the current compact, unconditional-cutoff baseline at5.14-5.17%. - The state expansion was removed. Keeping compact per-voice Element state is more valuable than avoiding these inexpensive clamps and arithmetic operations.
Sustained Polyphonic Benchmark Window (2026-08-29)
- The polyphonic CPU fixture formerly auto-released notes after 200 ms while its default timing window lasted 256 ms. Extending a filtered run therefore measured mostly idle processing rather than sustained polyphony.
- Trigger lifetime now follows the selected measurement window plus 50 ms. The
default matrix remains 24 blocks, but filtered diagnostics can set
SPACEAGE_POLYPHONIC_CPU_BLOCKSfrom 24 through 2,048 blocks. Unfiltered runs deliberately ignore the override so accidental environment state cannot turn the complete matrix into an unexpectedly long job. - At 48 kHz / 512 samples with a 384-block, 4.096-second window, the proposed
neutral cutoff zero-check measured
5.292%,5.277%, and5.299%. Recompiled with the original unconditional cutoff calculation, the same neutral fixture measured5.139%,5.157%, and5.174%, so the original path was retained. The animated matrix/vector/spectral case measured6.085%. Peaks remained exactly0.495728and0.966051. - The complete stricter 57-profile polyphonic matrix passes. Its default sustained
Prismatic Temple rows measured
5.225%neutral and6.013%animated, and every engine remained below the established realtime-load ceiling with finite output and complete release cleanup.
Active Drum-Mixer Strip Scheduling (2026-08-29)
- The drum mixer previously cleared and inspected all 64 strips for every rendered sample, even when a project used only a small kit. The instrument mixer already avoided the equivalent scan through a generation-stamped active-channel list.
- Drum routing now registers only strips that receive rendered voices. A bounded carry list keeps strips active while compressor bypass fades or envelopes, EQ state, and saturation tone state still require processing. Silent settled strips leave the list without allocation, locking, or loss of automation transitions.
- Three isolated
Basic Groove 5.sskitdry-drum runs at 48 kHz / 512 samples measured5.674%,5.479%, and5.552%, versus the preceding7.828%result. That is approximately 28-30% less CPU in this saved-project drum workload. Callback maxima measured10.60-13.91%, down from the preceding16.69%. - A complete follow-up profile measured
5.756%dry drums and16.380%for the original project. The prior original-project result was19.321%, but the newer run also had a lower idle baseline, so the full-project change is directional evidence rather than an isolated percentage claim. - Shared-effects signal, mixer-state persistence, and audio-safety/continuity gates pass, covering sends, compressor and saturation transitions, EQ tails, routing, panic/reset, and finite output. The optimization is retained.
Rejected Global Center-Pan Specialization (2026-08-29)
Basic Groove 5.sskituses five active sample-based drum Pads whose mixer, random, automatic, and layer pan values are all exactly centered. A trial replaced the two equal-power square roots with the identical constant gain only when the final voice pan was exactly zero; moving and nonzero pans kept the original path.- Three dry-drum candidate runs measured
5.441%,5.539%, and5.616%. Their5.539%median is effectively identical to the active-list renderer's preceding5.552%median, and the run ranges overlap. - The branch was removed under the repeatability rule. Equal-power pan remains on the simpler uniform calculation for every voice.
Saved-Project Per-Pad CPU Isolation (2026-08-29)
SPACEAGE_PROJECT_CPU_DRUM_DIAGNOSTICS=padnow extends filtered project profiling with one dry profile for every Pad used by an Arrangement drum clip. Normal project profiling is unchanged unless this diagnostic mode is requested.- Isolation disables other Pads at their source Pattern steps and also mutes their strips. An initial mute-only implementation was rejected during development because voice rendering occurs before mixer mute; it could not isolate voice CPU.
- The corrected
Basic Groove 5.sskitsweep found five active sample Pads. Median loads were4.567%for Pad 1,3.252%for Pad 2,3.697%for Pad 3,3.558%for Pad 4, and3.081%for Pad 16. Pad 1 is also the densest pattern at 21 hits; no sparsely triggered Pad showed a runaway cost. - All five rows produced finite audible output. The diagnostic closes the immediate suspicion of a pathological drum engine or sample and provides a repeatable way to investigate future real projects without adding production DSP switches.
Rejected Global Voice-Clock Reciprocal (2026-08-29)
- A trial prepared
1 / sampleRatein processor state and reused it for universal voice age, release age, and Redshift note/legato clock advancement instead of spelling the division at each use. The arithmetic and clock values were unchanged. - Three dry-drum candidate runs measured
5.983%,6.154%, and6.331%. After removing the member and rebuilding, reverse-order baseline runs measured5.774%,5.795%, and5.705%, confirming a material regression rather than host noise. - The prepared member was removed. The compiler handles the local invariant more effectively than the additional processor-state load in this renderer; the original expressions remain in production.
Post-Promotion Project Ranking And Rejected SIMD Repack (2026-08-29)
- A fresh
Basic Groove 5.sskitprofile on the promoted production backend measured 10.33% with shared effects off, 10.58% with EchoRay only, 15.04% with Reverb only, and 16.69% in the original project. EchoRay now adds only about 0.25 percentage points; Reverb remains the largest verified effect cost at about 4.71 points over the same dry project. - Focused supporting-stage profiling measured pre-delay and output-stage loads near
0.00026and0.00024, confirming that further work must target convolution accumulation rather than control, morph, damping, width, or return bookkeeping. - JUCE's portable packed-frequency representation and vectorized
FloatVectorOperationscomplex accumulation were adapted as a candidate for the scalar multiply-accumulate loop. The candidate was architecture-neutral and substantially faster in the focused budget. - It was not sample-equivalent in SpaceAge's current overlap/history layout.
Maximum fixed, irregular, and host-matrix differences reached approximately
0.02-0.04; energy and onset contracts changed; procedural, reference, tail, safety, and host gates failed. The candidate was fully reverted. - The exact scalar implementation was rebuilt and the complete convolution suite
passes again, with fixed difference
6.52e-09, irregular difference8.85e-09, and staged host ratios around0.79. - Reverb remains the next measured optimization area, but future SIMD work requires a complete packed-spectrum storage and overlap redesign with exact-reference proof. A partial representation conversion is explicitly rejected.
Coherent Packed-Spectrum Convolution (2026-08-29)
- The rejected partial repack was reduced to a standalone scalar-versus-packed
primitive. The initial fixture exposed an incomplete inverse-layout restoration;
after correcting both references to reconstruct a complete conjugate-symmetric
spectrum, it reports exact
maximumDifference=0and is now mandatory. - Production kernel partitions and input history are packed immediately after
forward transformation. Partition multiplication uses four portable JUCE
FloatVectorOperationscalls, and accumulated spectra are restored only at the inverse-transform boundary. Time-domain overlap behavior is unchanged. - The complete convolution suite passes. Fixed output differs from the independent
reference by
8.15e-09; irregular staged output differs by8.85e-09; reset, hostile-input, automation-segmentation, lifecycle, custom-room, and tail-reuse contracts all pass. - Focused shared/reference timing ratios measured
0.630at 512 samples,0.603at 1,024, and0.598at 4,096. The 64-sample shared path remains slower, but the product already routes host blocks below 256 samples to the JUCE fallback. - A fresh
Basic Groove 5.sskitrun measured12.606%with shared effects off and15.794%with Reverb only. The same-run Reverb increment is3.188percentage points, about 32% lower than the preceding4.71-point increment. Absolute percentages across separate runs are not compared because host load changed.
Compact Packed-Spectrum Storage (2026-08-29)
- Kernel partitions, input-spectrum history, and cached Compact/Deep tail sums now
store only the packed
FFT size + 1values. Forward and inverse work buffers deliberately retain the full2 x FFT sizecapacity required by JUCE's real FFT. - Estimated shared-engine storage fell from
9,289,728to7,161,888bytes, approximately 23%. Non-uniform combined storage fell to7,598,680bytes. - Three focused shared/reference runs measured ratios of
0.658,0.645, and0.679; the final complete-suite run measured0.655. Output remains within8.15e-09of the independent fixed reference and8.85e-09under irregular staged callbacks. The complete convolution suite passes. - A follow-up project run measured
10.979%with shared effects off and14.740%with Reverb only, a3.762-point increment. This remains below the older4.71-point result but above the immediately preceding3.188points, so no additional whole-project CPU percentage is claimed from this noisy comparison.
Rejected Nested Convolution Validation Bypass (2026-08-29)
- A trial let the non-uniform owner call trusted internal head/tail processing after validating input itself, avoiding repeated input and output scans inside those engines. Final combined output validation remained in place.
- Three staged host-matrix runs clustered around
0.92-0.95candidate/reference and did not demonstrate a dependable improvement over the fully validated path. - The trusted bypass was removed. Explicit validation at both ownership layers is retained because its safety clarity is worth more than an unproven micro-gain.
Packed-Engine Default Revalidation (2026-08-29)
- Packed SIMD accelerates both the uniform and staged non-uniform engines, so the earlier default decision was re-audited rather than assumed to remain valid.
- Three fresh 20-second lockstep
Basic Groove 5.sskitruns at 512 samples measured staged/uniform ratios of0.924,0.914, and0.919, or approximately 7.6-8.6% lower whole-project Reverb workload for staged processing. - Staged P95 and P99 callback loads were lower in all three runs. Maximum callback load was lower in two; one run contained an isolated staged maximum spike while its P95, P99, and total load remained lower.
- The staged non-uniform backend remains the production default at supported host blocks. Uniform remains available as the explicit diagnostic/rollback option.
Rejected Packed Compact/Deep Tail Fusion (2026-08-29)
- A revised fusion traversed packed input history once, accumulated Compact and Deep together while both kernels shared the cache-hot input, then processed only the longer kernel's remainder. Output remained reference-equivalent.
- Five candidate shared/reference ratios were
0.662,0.663,0.679,0.675, and0.660, with a0.663median. The recent separate-loop median was about0.658; the ranges overlap and do not establish an improvement. - The fusion was removed. Separate Compact and Deep accumulation loops remain.
Packed Convolution Stage Attribution (2026-08-29)
- Added diagnostic-only
--benchmark-packed-stagescoverage for a representative 2,048-sample tail partition. It independently measures forward FFT, packing, 89 packed accumulations, inverse restoration, inverse FFT, and overlap-add while retaining outputs through a checksum. - Five corrected runs attributed 35.3-36.7% to packed accumulation. JUCE forward and inverse FFT calls together consumed approximately 62-63%. Packing and restoration together were about 1.4%; overlap-add was negligible.
- This changes the next priority: conversion-loop and overlap micro-optimization cannot yield a material project gain. A faster compatible FFT backend or a mathematically safe reduction in transform count is required.
- Audited PFFFT at commit
8c6b35e77624ddef0b3362c546a50b101c379befoutside the product repository. Its UCAR/FFTPACK-style terms are permissive with notice and non-endorsement requirements, and the implementation documents x86, ARM/NEON, and scalar paths. No dependency was integrated. Adoption is deferred until an isolated exactness and speed spike beats JUCE on SpaceAge's 1,024- and 4,096-point real-transform workload.
PFFFT External Windows Spike (2026-08-29)
- Built pinned PFFFT commit
8c6b35e77624ddef0b3362c546a50b101c379befoutside the product tree with SpaceAge's MSVC 19.44 Release toolchain. The build selected its SSE1 float SIMD path and completed without adding a product target. - PFFFT's real-transform validation against FFTPACK reports success.
- Its native benchmark measured approximately
0.87-0.93 usper transform at 1,024 points and4.4-5.5 usat 4,096 points. The current SpaceAge stage fixture measured roughly77 usforward and96 usinverse at 4,096 points. - These are different fixtures, so the apparent order-of-magnitude advantage is a screening result, not a product claim. It is large enough to justify a test-only adapter that uses identical buffers, scaling, convolution accumulation, and exact-reference gates before any production dependency decision.
PFFFT Identical-Workload Transform Gate (2026-08-29)
- Vendored pinned PFFFT commit
8c6b35e77624ddef0b3362c546a50b101c379befunderTests/ThirdParty/PFFFTand compiled it only intoConvTest. No shipping target links or packages it; its permissive notice is retained and registered. - Added diagnostic-only
--benchmark-pffft-comparison. JUCE and PFFFT receive identical deterministic input, reusable hot buffers, required copy work, normalization, 1,024- and 4,096-point sizes, and 400 round-trip iterations. - Five Windows Release runs measured PFFFT/JUCE timing ratios of
0.033-0.039at 1,024 points and0.033-0.040at 4,096 points, approximately 25-30 times faster for this isolated transform workload. - Backend output difference stayed at or below
4.10e-08; JUCE and PFFFT round-trip errors both remained around3.35e-08to4.47e-08. The normal completeConvTestsuite passes with the test dependency present. - This does not establish a 25-30x Reverb improvement: transforms account for roughly 62-63% of the measured 2,048-tail stage, and complete partitioned convolution includes spectral accumulation, scheduling, memory traffic, and overlap. Production adoption remains blocked on an exact end-to-end adapter.
PFFFT Native Convolution Primitive (2026-08-29)
- Added a mandatory
ConvTestgate and focused--test-pffft-convolutionmode using PFFFT unordered real spectra andpffft_zconvolve_accumulate. - A deterministic 512-sample input convolved with a 257-sample decaying kernel
matches direct linear convolution across the complete zero-padded 1,024-sample
output with
1.40e-09maximum difference. - The complete convolution suite passes with the new primitive enabled, including fixed and irregular non-uniform references, hostile-input containment, reset, lifecycle, automation segmentation, natural tails, and custom rooms.
- Windows Release
SampleSquadAudioTeststill builds independently; PFFFT remains confined toConvTest. The next evidence gate is partition history plus overlap scheduling, not production integration.
PFFFT Uniform Partition Scheduler (2026-08-29)
- Added a test-only 512-sample partitioned engine using PFFFT unordered spectra throughout kernel storage, circular input history, accumulation, and inverse processing. It mirrors production partial-partition recomputation and cached historical-tail behavior rather than benchmarking only complete FFT blocks.
- Both room kernels and both stereo channels match the current shared engine
within
1.86e-08for complete blocks,1.68e-08across 90 irregular callbacks ranging from 7 to 512 samples, and1.86e-08after reset replay. - Five focused complete-block PFFFT/current-engine timing ratios were
0.100,0.118,0.100,0.103, and0.106; the complete-suite run measured0.110. The candidate processes four independent channel/room engines and therefore pays for four input transforms rather than assuming future transform sharing. - The complete convolution suite passes and
SampleSquadAudioTestremains clean. No production code changed. Promotion remains blocked on the staged 2,048-tail scheduler, hostile-input ownership at the production boundary, and a paired saved-project CPU profile.
PFFFT Staged Tail And Combined Scheduler (2026-08-29)
- Generalized the test-only PFFFT partition engine at compile time and exercised
a 2,048-sample tail against the real Compact and Deep kernels. Fixed, reset,
and irregular rendering differed by no more than
1.68e-08. - Five focused tail timing ratios were
0.178,0.208,0.180,0.190, and0.182versus the current tail prototype. The complete-suite run measured0.274; timing variance does not affect the exactness gate. - Added a complete test-only non-uniform scheduler with a 512-sample head, a
2,048-sample tail beginning at sample 4,096, both room kernels, stereo output,
irregular callback handling, and reset support. It matched the production
scheduler within
8.90e-08. - Five focused combined runs used
15.3-16.6%of the production scheduler's total test time. P95 callback ratios were0.281-0.309; maximum-callback ratios were0.506-0.806. The full mandatory convolution suite passed with ratios of0.182,0.327, and0.550. - This is compelling end-to-end prototype evidence, not a whole-project CPU promise. PFFFT remains test-only. Production promotion requires an adapter boundary, safety validation, redistributed-license packaging, shipping builds, and paired measurement of a representative saved project.
Explicit Convolution Backend Selector (2026-08-29)
- Replaced the production reverb's coupled backend-selection booleans with one typed backend state covering separate JUCE, shared-uniform JUCE, and shared-non-uniform JUCE processing.
- Reset, processing, rejection diagnostics, latency reporting, and compatibility queries now derive from that state. No DSP algorithm, default, parameter, project data, or user interface changed.
- Expanded the mandatory host-matrix gate to assert exact selection at the low-latency fallback, normal supported sizes, and explicit uniform opt-out. The complete convolution suite passes.
- This creates the controlled production insertion point for PFFFT while keeping the current JUCE implementations available as measured fallbacks.
PFFFT Production Source Readiness (2026-08-29)
Release inventory follow-up
- Release hygiene exposed stale factory-preset packaging identity after dependency
verification passed. The authoritative rebuilt sweep covers 629 presets with
zero failures and fingerprint
9823f3087acf82d2. - The ten-preset delta is the valid 80s FM bank; Prismatic Temple's nine-preset bank is now named correctly in the machine inventory. Runtime, inventory, and hygiene checks are synchronized.
- Full hygiene now advances to an unrelated README public-claims receipt requiring deliberate registry review. The README delta contained development-process links rather than new capability claims; all exact claims and qualifiers remain present. Internal draft receipts were refreshed only after their non-public disclaimers were verified.
- Public-claims validation passes with nine current, two conditional, and one boundary claim; human approval remains pending. Full release hygiene now passes with 12 dependencies, 32 dependency records, 629 presets, and 71 asset records. It honestly reports 56 blocked shipping assets still requiring clearance.
Production adapter follow-up
- Added a production-owned, prepared PFFFT transform and convolution-accumulation adapter whose DSP calls use preallocated storage.
ConvTestnow builds the production vendored source through this adapter. The direct-convolution gate remains within1.40e-09of its scalar reference.- Registered the 11 required nested SIMD headers discovered by the first isolated build. The dependency inventory now contains 32 verified records.
- Shipping targets remain unchanged pending partition-history and fallback gates.
- Moved the complete test scheduler's transform ownership behind the production adapter. Uniform, 2,048-tail, and combined non-uniform gates all pass, including fixed, irregular, reset, dual-room, and stereo rendering.
- The latest full-suite ratios were
0.109for uniform work,0.145for the tail, and0.212total for the combined scheduler. These remain focused DSP ratios, not whole-project CPU claims. - Adapter preparation rejects invalid transform sizes, and null operation inputs return safely. The complete mandatory convolution suite passes.
- The inactive adapter and pinned PFFFT source now compile and link into Windows
Release
SampleSquadAudioTest, Standalone, and VST3. Runtime backend selection remains JUCE-only, so this step changes neither sound nor project state. - Standalone remained alive after the launch interval. VST3 host smoke passed 44.1/48 kHz audio, state mutation and restore, parameter restore, and editor reopen with the inactive dependency present.
- Added a reserved PFFFT backend state, preparation-time preference, and explicit fallback receipt. Because the production scheduler is not yet ready, requesting PFFFT deterministically retains the JUCE non-uniform backend.
- The host matrix verifies the fallback state and compares 24 complete impulse
blocks under active room controls. Requested-PFFFT fallback and ordinary JUCE
output differ by exactly
0; the full convolution suite passes.
Production PFFFT Partition Ownership (2026-08-29)
- Moved the proven partition-history, overlap-add, and cached-tail accumulation
implementation from a test-local template into
SpaceagePffftBackend. - Uniform, 2,048-sample tail, and combined non-uniform tests now execute that production class directly; the duplicate test implementation was removed.
- The complete-suite maximum differences remained
1.86e-08,1.68e-08, and8.90e-08. Measured ratios were0.116,0.191, and0.166of the respective JUCE reference time in this run. - Added boundary coverage for empty kernels, unsupported partition sizes, null operations, reset, channel clamping, and prepared-storage reporting.
- Runtime selection remains JUCE-only until production owns the combined scheduler and its bounded scheduling diagnostics. These measurements are focused DSP evidence, not a whole-project CPU reduction claim.
Production PFFFT Combined Scheduler Ownership (2026-08-29)
- Added a production-owned dual-room non-uniform scheduler using the validated 512-sample head, 4,096-sample split point, and 2,048-sample tail.
- Processing storage, delayed-output rings, and hostile-input scratch are prepared before audio processing. The class reports rejected input/output blocks and estimated storage.
- The combined gate now tests this production class directly. Maximum difference
remained
8.90e-08; the latest full-suite timing ratio was0.176, with P950.316and maximum callback0.492relative to the current JUCE scheduler. - Windows Release audio-test, Standalone, and VST3 builds pass with the scheduler linked but inactive. This is focused convolution evidence, not a project-wide CPU claim.
Controlled PFFFT Runtime Integration (2026-08-29)
- Added explicit
ConvolutionReverbruntime selection for the production PFFFT scheduler while retaining JUCE as the application default and fallback. - Supported 512-sample preparation selects PFFFT without a fallback receipt; unsupported 128-sample low-latency preparation retains separate JUCE and records the fallback.
- A controlled 24-block render with room morph, damping, width, and pre-delay
differed from JUCE by
4.47e-08. - The complete convolution suite and Windows Release audio-test, Standalone, and VST3 builds pass. A transient Windows object-file lock was cleared by a clean target retry; it was not a source failure.
- JUCE remains the default until a paired saved-project CPU profile and selected- backend host smoke establish product-level benefit and stability.
PFFFT Default Decision (2026-08-29)
- Added
-PffftComparisonto the supported saved-project profiler. It runs two lockstep processors with identical project, transport, effect isolation, and alternating execution order; only the JUCE/PFFFT backend differs. - Four
Basic Groove 5.sskitruns at 48 kHz/512 samples produced PFFFT/JUCE load ratios of0.825,0.826,0.824, and0.832, corresponding to repeatable whole-project reductions of approximately16.8-17.6%. - The corrected final run measured
15.68%JUCE and13.04%PFFFT. PFFFT also lowered P95 (19.48%to16.77%), P99 (20.92%to18.46%), and maximum callback cost (36.59%to22.66%) in that run. - Promoted PFFFT to the default for supported shared-room block sizes. JUCE remains the low-latency/preparation fallback and explicit diagnostic opt-out.
- Full convolution tests and Windows Release Audio Test, Standalone, and VST3 builds pass. No project, preset, control, or intended sound behavior changed.
- Removed the final obsolete test-local combined scheduler. Every active PFFFT scheduler gate now executes production code, reducing drift risk.
- The post-cleanup full suite passes with focused active-reverb load
2.14%. Release hygiene passes with 12 dependencies, 32 locked dependency records, 12 notices, 71 tracked assets, and 629 factory presets. The existing 56 blocked shipping assets remain visible and are not reclassified by this optimization.
Project Profiler Default-Backend Correction (2026-08-29)
Found that ordinary project profiles still called the old test hook with
false, unintentionally forcing uniform JUCE reverb and bypassing the new production PFFFT default. Application runtime selection was not affected.Ordinary profiling now leaves production backend policy untouched. Only explicit paired diagnostic modes force a backend.
Every profile row now records
reverbBackend; value3identifies PFFFT and makes future receipts self-auditing.The corrected
Basic Groove 5.sskitrun reports backend3throughout. Shared- effects-off measured12.37%, reverb-only13.40%, and project-original14.17%. Reverb's measured delta is therefore about1.03percentage points, while delay was within run noise.The next measured target is the isolated Redshift lane at
8.18%, followed by drums at6.95%. These rows include common baseline work and are not additive.Copied the exact pinned PFFFT source and license into
Source/ThirdParty/PFFFT; the test fixture remains independently available.Registered all six production files and the retained license with SHA-256 receipts in
Resources/DependencyLicenseManifest.jsonand updated the notice and third-party records.A focused manifest check confirms all PFFFT receipts and source registrations. A raw-byte audit initially appeared to expose TinySoundFont and Inter receipt drift. Release hygiene canonically normalizes tracked text line endings; the original receipts were correct and remain aligned with that cross-checkout rule.
No shipping target compiles or links the production copy yet. This avoids a partial dependency promotion before the adapter and fallback gates exist.
Release hygiene now distinguishes executable third-party source from the AKWF waveform collection, which remains governed by the existing asset-clearance and provenance inventories. The complete focused dependency check reports 12 dependencies, 21 verified records, and no unregistered executable source.
After the SIMD inventory expansion, all 32 dependency records pass the canonical release verifier. The full release gate then reaches a separate pre-existing factory-preset fingerprint mismatch; convolution work does not alter that identity.
Redshift Bit-Motion Cost Correction (2026-08-29)
- Revisited the high apparent Bit Depth Motion row from the broad sequential feature profile with the retained stage-isolation gate at 48 kHz, 512 samples, and 32 sustained voices.
- The adjacent rows measured
46.89%for tonal base,48.75%for the motion trajectory with quantizer application disabled, and49.47%for complete Bit Depth Motion. The quantizer application therefore added about0.72callback- load points in this run; most of the small increment belonged to trajectory evaluation. - This contradicts the much larger non-adjacent feature-profile delta and shows that result was dominated by run-order or host-load drift. Bit-depth application is not a priority Redshift hotspot on current evidence.
- A shared quantizer-derivation experiment was compiled again, then removed after
the existing paired record was found: baseline/optimized order measured
139.89%/139.30%, while reverse order measured138.69%/139.65%. The mixed result remains below the retention threshold and production DSP is unchanged. - Release Audio Test, Standalone, and VST3 targets compiled successfully after the
production path was restored. The focused bit-stage gate passed with identical
output peak
0.966051. The broadSPACEAGE_REDSHIFT_FILTER_ONLYgate produced no progress for several minutes and was stopped, so no pass is claimed for that oversized gate in this pass.
Redshift Post-Nonlinear Cost Boundary (2026-08-29)
- Added
SPACEAGE_REDSHIFT_POST_NONLINEAR_COST_ONLY, a test-only three-row fixture that brackets the normal Redshift voice output stage with two renders where saturation and quantization application are disabled. Shipping DSP is unchanged. - Three runs measured disabled/enabled/disabled loads of
36.99/37.39/37.24%,36.74/37.12/38.21%, and36.22/37.95/38.40%at 48 kHz, 512 samples, and 32 sustained voices. - Two runs place the normal stage only about
0.27-0.64callback-load points above its bracketing baseline; one run reverses by about0.35. The stage is small relative to oscillator and filter work and below a reliable optimization threshold on this host. - No approximation to
tanhor the 16-bit quantizer is justified. The fixture is retained to detect future growth and to prevent repeated speculative rewrites. - A final restored-source verification passed with
41.57/45.48/52.80%. That wider bracket makes host drift explicit and further rules out using this whole-processor fixture to claim a small nonlinear-stage percentage.
Rejected Redshift Rectified-Sine Reuse (2026-08-29)
- Rectified oscillator case 9 visibly calls
sin(angle)for its sine component and again inside the rectifier. A compiled candidate reused the first rounded sine value, preserving the intended formula and reported output peak. - Four alternating baseline and candidate runs produced middle-pair medians of
approximately
25.38%and26.51%, respectively. Absolute rows moved with host load, but the candidate did not establish a saving and was slower by the median comparison. - The source rewrite was removed. Release compiler common-subexpression handling and instruction scheduling are more effective than the explicit temporary in this workload. The temporary comparison executable was also deleted.
Redshift Oscillator Primitive Profiler (2026-08-29)
- Added
SPACEAGE_REDSHIFT_OSCILLATOR_PRIMITIVE_ONLY, which times each of the 12 built-in Redshift waveform evaluators directly over a fixed two-million-sample phase stream. Seven passes per waveform report a median nanoseconds-per-sample value without mixer, envelope, voice-allocation, or host callback noise. - Repeated baseline runs established stable rankings: Saw was about
7.1-7.6 ns/sample, Sine9.3-9.5, Rectified14.4-14.8, Triangle19.3-19.7, Saw-Triangle26.3-26.6, Triangle-Pulse29.2-29.6, and the even/odd harmonic stacks about34.9-36.8. - This corrected the earlier whole-processor suspicion around Rectified. The material built-in waveform costs are triangle construction and harmonic stacks.
Redshift Exact Triangle Identity (2026-08-29)
- Replaced the built-in Triangle waveform's
asin(sin())construction with its exact piecewise phase-domain identity. Saw-Triangle and Triangle-Pulse now reuse the same helper. The waveform, phase, amplitude, and parameter contracts do not change. - The retained gate compares the new identity against the former formula over two
million samples. Maximum error and RMS error are both exactly
0on the current Windows Release toolchain. - Two post-change runs measured Triangle at
6.12and5.51 ns/sample, down from approximately19.3-19.7; Saw-Triangle at11.54and10.49, down from26.3-26.6; and Triangle-Pulse at15.97and15.11, down from29.2-29.6. These are waveform-primitive reductions, not whole-project CPU percentages. - Release Audio Test, Standalone, and VST3 builds pass. The focused primitive gate passes twice after promotion, and the legacy formula remains in the gate as a permanent equivalence reference.
Redshift Harmonic-Stack Recurrence (2026-08-29)
- Replaced the Even Harmonics and Odd Harmonics waveform implementations' four independent sine evaluations with one sine/cosine pair plus harmonic-angle recurrences. Existing per-partial anti-alias cutoff decisions, weights, Morph, output clamp, phase, and waveform selection remain unchanged.
- The primitive gate retains the former multi-sine formula and compares production
output across
440,3600,5400,8000, and12000 Hz, covering regions where the second through seventh partials enter and leave the audible set. - Across two million comparison samples, Even Harmonics measured maximum error
1.19e-7and RMS error1.60e-8; Odd Harmonics measured maximum error5.96e-8and RMS error1.71e-8. These are bounded float-rounding differences, not a changed harmonic or tuning contract. - Two post-promotion runs measured Even Harmonics at
24.12and23.94 ns/sample, down from approximately34.9-36.0; Odd Harmonics measured24.92and25.39, down from35.4-36.8. This is roughly a one-third waveform- primitive reduction, not a whole-project CPU percentage. - Release Audio Test, Standalone, and VST3 builds pass. The production primitive, legacy-reference matrix, finite-output checks, and timing fixture passed twice.
Redshift Spread Phase Normalization (2026-08-29)
- Replaced Redshift's general-purpose floating-point remainder phase wrap with the
equivalent fractional-cycle form
cycles - floor(cycles). This path is used by both detuned side oscillators whenever oscillator Spread is active. - The retained oscillator primitive gate compares the production expression with
the former formula over two million phase values spanning positive and negative
cycles. Maximum error and RMS error were both exactly
0on the current Windows Release toolchain. - Seven-pass median timing measured
2.51 nsper normalization for the new form, down from5.62 nsfor the former form. Spread performs two normalizations per active voice and output sample; this is a local primitive saving, not a claimed whole-project CPU percentage. - Two post-promotion runs passed the equivalence and timing gate, measuring the
new form at
2.27-2.35 nsand the former form at4.81-5.07 ns. Release Audio Test, Standalone, and VST3 targets compile successfully with the production change.
Redshift Prepared Pulse Path (2026-08-29)
- Removed two redundant checks from Redshift's built-in pulse oscillator: the PolyBLEP phase increment is already clamped positive before every call, and the pulse width is constructed from a clamped Morph value inside its valid range. PolyBLEP anti-alias correction and pulse-width behavior remain intact.
- The retained primitive gate compares the former checked path with production
over two million samples. Maximum error and RMS error are both exactly
0. - Seven-pass median timing measured
2.67 nsper prepared pulse evaluation, down from6.02 nsfor the former internal path. Square, Pulse, Sine-Pulse, and Triangle-Pulse use this routine; this is a primitive measurement rather than a claimed whole-project CPU reduction. - Two post-promotion runs measured Square at
9.67-9.76 ns/sampleversus the immediate pre-change11.89, Pulse at10.11-10.30versus12.39, and Triangle-Pulse at11.73-11.79versus14.95. The exact-equivalence gate passed in both runs. Release Audio Test, Standalone, and VST3 targets compile successfully.
Rejected Internal Engine Phase Rebase (2026-08-29)
- Tested bounding the Internal Engine's oscillator phase on every sample and
replacing its
asin(sin())Triangle construction with the exact phase-domain identity used by Redshift. The combined primitive measured1.46 ns/sampleversus22.76for the former path. - Repeated subtraction changes the accumulated floating-point phase history. Over
two million samples, the candidate reached maximum waveform error
2.09e-6and RMS error7.24e-7, exceeding the strict equivalence threshold. - The candidate was rejected and production Internal Engine DSP remains unchanged. The exploratory comparison is retained without gating the suite so future work does not mistake the apparent speedup for an exact replacement.
Post-Oscillator Saved-Project Profile (2026-08-29)
- Re-profiled
Basic Groove 5.sskittwice at 48 kHz and 512 samples after the Redshift triangle, harmonic-stack, Spread-wrap, and prepared-pulse changes. Both runs used production PFFFT reverb backend3. - Isolated Redshift measured
7.262%and7.284%, down from the prior8.179%receipt. This is a repeat-confirmed reduction of approximately 11% for that saved patch and lane; it does not imply the same percentage for every patch. - Whole-project median measured
12.325%and12.943%, both below the prior14.165%receipt. The wider project range prevents attributing the full change to Redshift alone, but confirms that the oscillator work did not shift cost into shared processing or produce a project-level regression. - Dry drums measured
6.423%and6.486%. Redshift remains narrowly highest in this project, but its remaining oscillator cost is chiefly intentional sine and anti-alias work. Dense drums and the common engine/mixer baseline are therefore the next higher-yield exact-optimization audit.
Dense Drum Routing Boundary (2026-08-29)
- Refreshed the effects-off Internal Engine drum scaling fixture. One Pad measured
3.90%; eight measured12.02%; 32 measured37.91%; and 64 measured39.23%. The 32/64 plateau follows the bounded voice pool rather than scaling with every available mixer strip. - One audible Pad with all 63 silent strip processors enabled measured
4.13%, only0.23points above the one-Pad control. Dormant strip routing is therefore not the material dense-workload cost. - Tested an exact centered-mono pan branch intended to avoid two square roots per
voice sample. Alternating eight-Pad measurements were
12.715%baseline and12.674%candidate; reverse-order 32-Pad measurements were39.005%candidate and39.046%baseline. The difference is measurement noise. - The pan candidate and its test switch were removed. The current evidence places remaining dense-drum cost in active synthesis and shared voice processing, not dormant mixer scans or centered-pan arithmetic.
Internal Engine Pitch-Ratio Cache (2026-08-29)
- Internal Engine assembled its complete pitch sum per voice sample and then ran the same general power conversion even while all contributing controls were stationary. Each voice now caches that conversion by the exact semitone sum.
- The key includes Pad pitch automation, random and velocity pitch, note lock, modulation routes, pitch bend, and mod-wheel vibrato. Any changed source invalidates the cache on that sample; sweep frequency remains independently live.
- Against fresh 8/32/64-Pad loads of
11.97%,37.91%, and39.23%, two post-change passes measured11.39-11.56%,35.72-36.25%, and36.50-36.93%. The benefit grows with active Internal Engine voice count. - Focused 224-block gates passed for neutral pitch, active pitch sweep, and live
LFO pitch routing at
2.18%,2.24%, and2.28%respectively, with finite output and complete release.
Internal Engine Metallic Increment Cache (2026-08-29)
- Internal Engine previously rebuilt all six metallic partial phase increments on every voice sample, even when pitch and metallic Spread were stationary. Each voice now caches those exact increments by frequency and Spread.
- Metallic phases still advance while their output level is zero, preserving the established automation and re-entry behavior. Pitch, sweep, modulation, or Spread changes invalidate the cache immediately; active sweep therefore remains fully sample-accurate.
- Following the pitch-ratio cache's
11.39-11.56%,35.72-36.25%, and36.50-36.93%results for 8, 32, and 64 Pads, two metallic-cache passes measured11.08-11.32%,34.39-34.87%, and35.66-36.12%. The additional reduction is modest and strongest around the 32-active-voice workload. - Focused 224-block profiles passed for neutral and active-sweep Internal Engine
states at
2.35%and2.44%. The audible metallic-partials case, with level0.82and Spread0.58, passed at2.33%, with finite output and complete release. Percentages are host-relative measurements, not fixed end-user CPU guarantees.
Internal Engine Primary Phase-Increment Cache (2026-08-29)
- Internal Engine's primary oscillator previously rebuilt its radians-per-sample phase increment on every voice sample. Each voice now caches that exact value against the final rendered frequency.
- The frequency key follows the complete pitch path, including Pad pitch, random and velocity pitch, note lock, modulation routes, pitch bend, mod-wheel vibrato, and sweep. Any change refreshes the increment on that same sample; waveform and phase accumulation remain unchanged.
- Two alternating-order dense passes measured 8 Pads at
10.64%and10.91%, 32 Pads at32.63%and32.69%, and 64 Pads at34.06%and33.83%. All are below the preceding metallic-cache ranges of11.08-11.32%,34.39-34.87%, and35.66-36.12%respectively. - Focused 224-block neutral, active-sweep, and audible-metallic profiles passed
with finite output and complete release. The measured loads were
2.40%,2.56%, and2.54%; these short host-relative profiles validate behavior but are not used as the primary speed claim.
Rejected Shared Voice Clock Reciprocal (2026-08-29)
- Tested preparing one sample-rate reciprocal for voice age, release age, and Redshift's note and legato motion clocks instead of expressing the same division at each update site. Clock values and timing behavior were unchanged.
- Two alternating-order passes showed no benefit. Internal Engine measured
10.98-11.09%for 8 Pads,33.56-33.62%for 32 Pads, and34.30-34.72%for 64 Pads, all above the immediately preceding retained-cache measurements. Eight Redshift Pads repeated at11.29-11.31%. - The compiler can already treat the unchanged sample-rate division efficiently; the additional member did not improve generated behavior and may have affected voice-state access or timing noise. The trial was removed from production.
Rejected Disabled-Click Random Bypass (2026-08-29)
- Tested avoiding the click transient's random-number advance when Click amount is zero. The candidate removed otherwise unused opening-window work, but would also change the established deterministic random sequence for patches combining the Internal Engine's noise source with a disabled Click control.
- Two alternating-order dense passes measured
10.75-10.81%for 8 Pads,33.16-33.31%for 32 Pads, and34.05-34.13%for 64 Pads. The results were neutral at low and high scale and slower than the retained primary-increment cache around 32 voices. - With no repeatable saving and a subtle noise-history change, the candidate was removed. Disabled-control random-state semantics remain unchanged.
Rejected Block-Rate Bit-Depth Cache (2026-08-29)
- Tested caching the quantizer's power-of-two level count and reciprocal by rounded Bits value instead of rebuilding them for every source slot at block preparation. The derived values and per-sample quantization formula were unchanged.
- Two alternating-order passes measured one Pad at
3.84-3.90%, one Pad plus 63 silent strips at4.15-4.19%, 8 Pads at11.05-11.07%, and 32 Pads at34.10-34.68%. Fixed overhead did not improve, and active-voice results were above the retained primary phase-increment baseline. - The per-slot validity branch and added state cost more than the simple block-rate shift and reciprocal on this toolchain. The cache was removed from production.
Post-Cache Saved-Project Priority Refresh (2026-08-29)
- Re-profiled
Basic Groove 5.sskitat 48 kHz / 512 samples after the retained Internal Engine pitch, metallic, and primary phase-increment caches. Production PFFFT Reverb backend3was active in every row. - Shared effects off measured
10.159%, Delay only10.962%, Reverb only10.838%, and the original project11.943%. Dry drums measured5.873%and isolated Redshift measured6.983%; Redshift remains the first measured target. - Compared with the prior receipt, isolated Redshift moved from
7.284%to6.983%, dry drums from6.486%to5.873%, and the original project from12.943%to11.943%. Separate-run host variance prevents assigning all of those changes to one optimization, but the direction confirms no project-level regression. - The SoundFont lane remains unavailable because its external Mellotron asset is absent. It is excluded from workload ranking rather than misreported as a cheap silent instrument.
Redshift Secondary-Oscillator Cost Boundary (2026-08-29)
- A fresh lockstep-style saved-patch ablation measured
Sanders_Ugly-Basswith oscillator 2 and the harmonic layer active at6.882%and6.887%. The same lane with both layers disabled measured6.541%and6.572%in the adjacent candidate positions. - The secondary layers therefore account for approximately
0.32-0.34load points, about 4.6-5.0% of this isolated lane workload. The patch actively uses Triangle oscillator 2 at level0.28, a sub-harmonic at level0.55, and live vibrato, so this is audible synthesis rather than dormant bookkeeping. - Inspection found no duplicated transform or stable phase-increment setup to remove: live vibrato changes both oscillator frequencies sample by sample, the optimized Triangle primitive is already in use, and the harmonic layer requires its own half-frequency sine. Production sound is unchanged.
Redshift Spread Saved-Patch Boundary (2026-08-29)
- Added Spread to the saved-project paired Redshift diagnostic matrix. The harness renders baseline/candidate in both orders without modifying the project or its stored patch.
Sanders_Ugly-Basswith Spread0.30measured6.637%and6.695%in the two baseline positions. Spread Off measured6.067%and6.080%, placing the feature's cost near0.57-0.61load points, approximately 9% of this isolated lane workload.- Inspection confirms that the remaining cost is two additional detuned Sine-Saw oscillator renders per active voice. Spread offsets, side-frequency reuse, mip selection, phase normalization, center/side gains, and built-in waveform primitives have already received focused optimization.
- This patch has live vibrato, so side frequencies change every sample. The prior corrected dynamic-cache bypass did not establish a repeatable saving. No approximation, reduced-quality mode, or altered unison voice count is justified; production Spread behavior remains unchanged.
Redshift Fold Saved-Patch Boundary (2026-08-29)
- Added Fold to the saved-project paired Redshift diagnostic matrix. The harness renders the original patch and a Fold Off candidate in both orders without changing the saved project.
Sanders_Ugly-Basswith Fold0.58measured6.648%and6.780%in the two baseline positions. Fold Off measured6.304%and6.232%, placing Fold's cost near0.34-0.55load points, approximately 5-8% of this isolated lane workload. The output peak changed from0.347509to0.296481, confirming that the measured work is part of the audible patch rather than dormant setup.- Fold drive and dry gain are already prepared once per block. The remaining hot work is the intended blended sine and hyperbolic-tangent transfer curve.
- Earlier exact experiments bypassing the dry blend at 100% Fold and sharing the repeated driven-signal intermediate both measured slower and were removed. No lower-quality transfer approximation is justified; production Fold behavior remains unchanged.
Redshift Filter Saved-Patch Boundary Refresh (2026-08-29)
- Repeated the complete Filter Off pair after the Internal Engine cache work and
the expanded Redshift diagnostic matrix. The active-filter baselines measured
6.641%and6.733%; Filter Off measured6.018%and6.073%. The audible filter therefore accounts for approximately0.57-0.72load points in this isolated saved patch. - Disabling filter-envelope and velocity modulation saved only
0.12-0.15load points. Disabling resonance did not improve both orders: the candidate measured6.721%and6.668%against adjacent baselines of6.675%and6.657%. - The dominant cost is consequently the recursive filter core, not resonance setup or modulation bookkeeping. Existing production work already caches static, per-voice, and shared dynamic coefficients; sleeps Filter Off; avoids inaudible cascade poles; and prepares stable resonance values.
- Earlier exact selector, smoothing-guard, normalization, coefficient-lookup, and shared-coefficient experiments measured slower or failed to establish a repeatable benefit. The remaining state-variable arithmetic directly produces the selected sound, so production filter behavior remains unchanged.
Basic Groove 5 Drum-Pad Cost Split (2026-08-29)
- Extended the saved-project profile with isolated renders for every Pad used by
the drum Arrangement clips. The complete dry drum lane measured
5.507%. - Pad 01 measured
4.167%, Pad 023.239%, Pad 033.596%, Pad 043.214%, and Pad 163.017%. These rows include the common loaded-project and callback baseline, so they identify relative priority rather than additive Pad costs. - Pad 01 is a loaded kick sample on the Internal Engine slot with its blend at exactly 100% sample. Its larger isolated result made inaudible Internal Engine state progression the first narrow candidate to test.
Rejected Internal Engine State-Only Sample Blend (2026-08-29)
- Tested a 100%-sample-blend path that advanced Internal Engine pitch caches, oscillator phase, noise history, and metallic phases while skipping only the oscillator values discarded by the final mixer. Moving the blend toward the synth during an active note would therefore resume from the established state.
- The unchanged Pad 01 baseline measured
4.167%; the rebuilt state-only candidate measured4.206%. The complete dry drum lane moved from5.507%to5.684%in those adjacent sessions, providing no evidence of a saving. - The extra conditional structure outweighed skipped waveform work in this realistic short-note pattern. The candidate was removed, and ordinary hybrid blend progression remains unchanged.
Saved-Project Sample Playback Boundary (2026-08-29)
- Reviewed the common path behind the five active sample Pads after the per-Pad split. Existing production work already snapshots playback geometry and fixed tuning, skips neutral pitch exponentials, selects exact blend endpoints, avoids absent sample processors, schedules only active mixer strips, and sleeps neutral filter, gate, comb, transient, compressor, and performance-filter stages.
- The remaining sample work is source interpolation, optional live MIDI pitch expression, note timing and retirement, the intentional saturation/bit-depth stage, equal-power pan, and active routing. Previous focused measurements found the nonlinear stage small, and two independent center-pan specializations failed to improve repeatably.
- The current Pad ranking follows pattern density: Pad 01 has 21 hits and is the largest isolated row, while no sparsely triggered Pad has runaway cost. No pathological sample decoder, filter, or mixer-strip workload was found.
- With the exact state-only hybrid candidate also measuring slower, no additional sample-path production edit is justified by this project. The next diagnostic priority is callback-size scaling, which can expose fixed per-block overhead hidden by the 512-sample profile.
PFFFT Built-In Reverb at 128 Samples (2026-08-29)
- A 128/256/512-sample sweep of
Basic Groove 5.sskitfound that the 128-sample host configuration alone fell back from the shared non-uniform PFFFT backend to two separate JUCE convolution engines. Reverb-only measured22.724%, the full project24.643%, and the full-project worst callback reached129.330%. - The PFFFT engine already accepts arbitrary host chunks up to 4,096 samples and internally accumulates its fixed 512-sample head and 2,048-sample tail partitions. The fallback was caused by a conservative policy gate rather than an implementation limit.
- Built-in rooms now select the shared PFFFT backend at 128 samples and above;
64-sample and smaller hosts retain the separate-JUCE fallback. The 128-sample
Reverb-only profile fell to
13.206%, about 42% lower, and its worst callback fell from94.676%to45.150%. - The complete 128-sample project fell to
15.124%, about 39% lower, with a worst callback of75.694%and no observed deadline overrun. These are host-relative saved-project measurements, not universal CPU guarantees. - The convolution host-selection contract now requires PFFFT at 128 samples and keeps an explicit 64-sample fallback assertion.
- The complete focused convolution executable passed after the policy change,
including direct/reference equivalence, arbitrary segmentation, host-size
coverage, reset determinism, non-finite containment, automation, natural-tail
settlement, custom-room lifecycle, and the PFFFT scheduler. Its maximum reported
PFFFT non-uniform reference difference was
8.89413e-08. - The broader
SHARED_EFFECTS_SIGNALgate emitted only its startup line while actively consuming CPU for several minutes and was stopped; no pass is claimed for that oversized gate in this run. The following chained audio-safety gate consequently did not start. Focused convolution coverage and the successful saved-project render are the validation basis for this retained change.
EchoRay Settled Sample-Derivation Preparation (2026-08-29)
- The first 128-sample Delay-only project run contained a
375.806%callback maximum. Three focused repeats did not reproduce it: medians were13.405%,13.605%, and13.361%, P99 remained between23.509%and23.925%, and two of three maxima remained below37%. The original extreme event is treated as external host contention rather than an EchoRay regression. - EchoRay already reads its nine primary smoothers once per block when settled, but it still rebuilt feedback limiting, LFO increment, drift smoothing, and stereo-offset conversion for every sample. Those four values are now prepared once for the settled path. Active smoothing and automation retain the original sample-by-sample derivations and equations.
- Three rebuilt candidate runs measured
13.024%,12.425%, and13.310%. Every candidate was below the best baseline, and the candidate median of13.024%is about 2.8% below the baseline median of13.405%for this active saved-patch delay workload. - Output remained finite and audible with peaks in the same
0.825-0.829range. Callback maxima continued to vary independently of median and P99, so no maximum-latency reduction is claimed. Release compilation passed.
Rejected Drum Mixer Block-Rate Gain Preparation (2026-08-29)
- A low-latency audit found that drum gain and pan targets are read every 16-sample mixer-control slice, unlike equivalent instrument controls prepared at block start. A trial moved drum gain conversion and pan reads to block preparation.
MIXER_STATE_PERSISTENCEpassed, butMIXER_LANE_ROUTINGexposed that drum automation intentionally depends on the existing within-block sampling cadence. The block-rate trial was removed rather than reduce automation precision.- The failed baseline gate exposed two fixture defects. Its dry reference was
captured at
-6 dB, while neutral-EQ and drum/instrument isolation renders were compared at0 dB. The bypass stress test also imposed an absolute one-sample delta limit while deliberately switching gain from-24to+6 dB, pan between both hard endpoints, and processor states every 128 samples. The fixture now establishes one neutral reference level and bounds discontinuity relative to its measured signal peak while retaining finite-output and absolute-peak limits. - With that correction,
MIXER_LANE_ROUTINGpassed completely. Neutral EQ measured0.4412dry versus0.4425enabled, processing-domain isolation passed, and the rapid bypass sweep remained finite and bounded.MIXER_STATE_PERSISTENCEalso passed. - A narrower trial then retained all 16-sample reads while caching only unchanged
decibel-to-linear gain conversions. The first 128-sample project pair looked
promising, but the repeat overlapped baseline: effects-off measured
10.702%then11.952%against a11.178%baseline, while dry drums measured6.276%then6.853%against6.604%. It was removed under the repeatability rule. - No optimization from this experiment remains in production source.
Rejected Settled Mixer-Control Branches (2026-08-29)
- Tested exact-equality guards around settled drum and instrument gain, pan, eight send, and auto-pan smoothing operations. Parameter reads and the 16-sample automation cadence were unchanged; only multiply/add work was skipped when a current value already equaled its target.
- Both repaired mixer contracts passed, including rapid automation, bypass transitions, neutral EQ, processing-domain isolation, and state persistence.
- The real 128-sample project profile was decisively slower than the immediately
preceding restored baseline. Effects-off rose from
11.178%to13.034%, dry drums from6.604%to7.399%, and the full project from13.249%to15.423%. The branch and comparison overhead outweighed the trivial arithmetic it avoided. - The candidate was removed. Future mixer-control optimization should reduce traversal or parameter-access volume at a coarser scheduling boundary rather than branch around individual settled operations.
Rejected Active-Voice Instrument Mixer Scheduling (2026-08-29)
- Prototyped coarse instrument-mixer preparation based on the mixer channels owned by active private-lane voices, retirement tails, and instrument delay tails. The design reduced the theoretical control population from 64 channels to at most the currently audible lane set without adding locks or audio-thread allocation.
- Per-channel first-use smoothing was added because the existing global priming flag assumes all 64 channels are initialized together. Dormant-to-active wake handling also synchronized compressor and saturation bypass state and attempted to retire stale EQ transitions before the first audible sample.
- Routing, meters, processor operation, bypass safety, and drum/instrument domain
isolation continued to pass. However, neutral EQ repeatedly woke at a different
level from the dry reference (
0.4215-0.4282dry versus0.5744-0.5777with neutral EQ), even after moving voice-lifecycle bookkeeping to block end and cancelling the EQ transition after coefficient preparation. - This proves that current instrument-strip bypass and EQ history has lifecycle coupling beyond the active voice list. Adding more wake exceptions would make realtime behavior harder to reason about. The complete prototype was removed before performance profiling.
- A future sparse mixer design must first define and test a formal dormant-channel state contract covering compressor envelopes, saturation tone memory, EQ current and previous banks, bypass ramps, sends, delay tails, rerouting, and first-note behavior. Until then, the all-channel preparation path remains the safer choice.
Rejected EchoRay Outer Fixed-Timing Split (2026-08-29)
- Tested a dedicated fixed-delay branch outside EchoRay's active-pad loop. The candidate bypassed modulation range, drift, stereo-offset, clamp, rounding, and fractional-reader preparation when timing was known to be an exact integer. Moving, Haas, drift, flutter, and unlinked stereo modes retained the established fractional path.
- Fresh-process reference measurements were
11.1651%for dry/limiter-off and14.8899%for basic EchoRay. Candidate basic runs measured15.1019%and14.8353%; their midpoint did not establish a repeatable improvement over the reference. The extra branch and altered hot-loop shape likely offset the skipped arithmetic. - The candidate was removed. The earlier proven integer-reader selection remains: fixed timing still avoids interpolation, but shares the normal timing derivation path with moving modes.
- After restoration, the Release focused gate passed for both basic and modulated
EchoRay. The already-hot validation session measured
23.7918%and24.7572%respectively, so those absolute values are recorded as correctness evidence, not a performance comparison with the cooler reference window.
Redshift Saved-Patch Recheck and Rejected Spread Cycle Math (2026-08-29)
- Re-ran the paired 128-sample feature-ablation matrix on
Basic Groove 5.sskitand itsSanders_Ugly-BassRedshift lane. Spread Off improved both adjacent orders:9.476%to8.217%and8.542%to7.765%. Fold Off also improved both orders, while removing secondary oscillators, the whole filter, or resonance did not remain directionally stable. Filter-modulation Off improved the two adjacent comparisons by about0.39-0.59percentage points. - These ablations identify intentional feature costs; they do not justify removing audible patch behavior. Spread is inherently a three-oscillator render, and Fold intentionally evaluates sine and saturation functions.
- Tested an algebraically equivalent spread representation that retained phase
offsets in cycles and reused the renderer's normalized center phase, avoiding two
radians-to-cycles divisions per voice sample. The saved-patch peak remained
exactly
0.352481. - Three candidate lane runs measured
10.310%,8.604%, and8.779%against the recent8.442%reference. The candidate did not establish a repeatable saving and was removed. The large Redshift audio-contract gate again made no progress beyond startup for one minute and was stopped; no pass is claimed for that gate. - Future spread work should target oscillator reuse or a formally bounded approximation with direct waveform-error tests. Further phase-arithmetic rearrangement is closed as a low-value target.
- The restored Release target compiled successfully. A final restored saved-patch
render passed and retained the exact
0.352481peak; its17.828%load and157.448%callback maximum occurred in a globally hot session and are not used as comparative performance evidence.
Callback-Spike Location Diagnostics (2026-08-29)
- The saved-project CPU profiler now retains the run and block index of the maximum measured callback before sorting its percentile population. This is test-only instrumentation; production audio code and timing are unchanged.
- Three identical 128-sample
Sanders_Ugly-Basslane runs placed their worst callback at unrelated locations: run 1/block 545, run 1/block 123, and run 2/block 466. Maximum loads were76.766%,144.998%, and21.990%, while the output peak remained exactly0.352481in every run. - The clean run's maximum remained well inside deadline, and elevated callbacks do not recur at a note, bar, run-start, or fixed processing boundary. Current evidence therefore classifies the extreme maxima as host scheduling contention, not deterministic Redshift or sequencer work.
- Median and P99 remain the primary optimization measures on this host. A callback maximum becomes an actionable DSP defect only when it repeats at the same block or processing event, or reproduces under a lower-contention realtime trace.
- Release Audio Test compilation passed with the locator enabled.
Blank-versus-Loaded Idle Baseline (2026-08-29)
- Added an
idle-blanksaved-project profiler row using the same processor, preparation, warmup, block size, run length, and callback statistics asidle-loaded, but without adopting the project. This is permanent test-only instrumentation and does not alter production audio. - At 48 kHz and 128 samples, the first adjacent run measured
5.440%blank versus4.142%loaded. The repeat reversed at3.787%blank versus5.387%loaded. P99 remained7.856%/6.536%and6.278%/6.626%, respectively. - Because direction reversed, no measurable stopped-state overhead can be assigned
to retained project data. The approximate
4-5%idle floor belongs to universal callback preparation plus current host variance. - Inspection shows the universal source pass prepares all 64 Drum Pads because any Pad can be triggered later in the same callback. Skipping dormant Pads would use stale envelope, pitch, processor, or engine controls on that first trigger and is therefore not a valid optimization without a new trigger-preparation contract.
- The 16 private instrument slots are a narrower future candidate because unowned slots cannot be reached by arrangement playback. That optimization still needs explicit tests for live MIDI, Piano Roll targeting, lane creation, active tails, and same-block wake-up before production code changes.
- Release Audio Test compilation and both blank/loaded profile runs passed.
Rejected Unowned Private-Slot Preparation Skip (2026-08-29)
- Prototyped a conservative wake set for private instrument slots 64-79. A slot remained prepared when owned by a published non-drum lane, carrying an active voice or retirement tail, holding a queued normal or pitched trigger, or serving as the enabled Piano Roll live-input target. All 64 Drum Pads remained on the existing unconditional path.
- This covered arrangement sequencing, same-callback queued triggers, active tails, and normal live MIDI. Inspection also confirmed that public audition and direct trigger workflows can intentionally address private slots before lane ownership, making the complete contract broader than arrangement state alone.
SOURCE_CARDINALITYfailed retained-source and audition assertions with the candidate. After complete removal and rebuild, the restored baseline reproduced the same failures and nearly identical audible peaks. The candidate did not create that failure, but the required ownership gate cannot currently prove this optimization safe.- The candidate was removed before performance measurement. Native instrument patch lifecycle passed after restoration, including controls, recall, undo, source-backed engines, Prismatic Temple elements, preset refusal, and 4,358 embedded waves. Native voice-steal continuity also passed for every covered engine, all-audible retirement, full-pool bursts, and SoundFont voice 49.
- The next prerequisite is repairing the pre-existing
SOURCE_CARDINALITYfixture around retained-source single-voice, hostile reassignment, and audition routing. Private-slot scheduling remains closed until that gate passes both baseline and candidate paths.
Private-Slot Prerequisites Repaired and Candidate Rejected (2026-08-29)
- Repaired the stale
SOURCE_CARDINALITYfixture: instrument-lane assertions had been writing Drum Mixer parameter IDs, and the Prismatic Temple assertion still assumed the old automatic Bell starting point instead of explicitly selecting a factory preset. The complete source-cardinality gate now passes. - Found and fixed a separate deterministic correctness defect exposed by the lifecycle gate. Harmonic Portrait additive synthesis allocated its destination buffer without clearing it, allowing uninitialized samples into generated portraits. The buffer is now cleared before synthesis; the full native patch lifecycle gate passes, including Harmonic Portrait and Essence Ensemble output.
- Re-tested the conservative private-slot preparation skip with all ownership, queued-trigger, live-input, active-voice, and retirement-tail protections. The source-cardinality, native patch lifecycle, and native voice-steal continuity gates passed with the candidate active.
- Five adjacent 128-sample, three-second
idle-blank/idle-loadedcandidate runs measured loaded CPU at2.852%,2.881%,3.028%,2.863%, and2.897%(mean2.904%). Five control runs with every private slot prepared measured2.961%,2.874%,2.870%,2.883%, and2.894%(mean2.896%). - The candidate was approximately
0.008percentage points worse and therefore indistinguishable from measurement noise. It was removed. No production CPU saving is claimed; only the fixture repairs, deterministic Harmonic Portrait initialization, and profiler diagnostics remain.
Drum Breakdown and Rejected Shared MIDI-Expression Lookup (2026-08-29)
- Re-ran
AUDIO_SAFETY_CONTINUITY, which had previously failed during the disabled-Click experiment. The current baseline now passes limiter transparency, panic and reset cleanup, loop navigation, activity state, pending gates, and finite-output checks. The former fixture blocker is no longer present. - Added no production instrumentation, but used the existing per-Pad project
profiler on
Basic Groove 5.sskitat 48 kHz and 128 samples. Isolated dry loads were5.060%for Pad 1,4.018%for Pad 2,4.737%for Pad 3,4.124%for Pad 4, and3.864%for Pad 16. The relatively flat spread supports common voice/render cost rather than one pathological drum processor. - Tested extending Redshift's retained combined pitch-bend/mod-wheel lookup to Internal, Physical, SoundFont, Propulsion, Liftoff, Glass Moon, Moonshadow, Lunacy, and ordinary sample playback. Audio safety and native voice-steal continuity passed with the candidate.
- The same five-Pad profile rose to
5.367%,4.332%,4.858%,4.237%, and4.186%. Several profile peaks also differed from the immediately preceding process, so the broad substitution did not provide sufficiently strong equivalence evidence outside Redshift. - The candidate was removed. The combined helper remains limited to Redshift, where its dedicated earlier profile established a repeatable modest saving.
64-Sample PFFFT Reverb Promotion (2026-08-29)
- A three-round
Basic Groove 5.sskitlatency sweep identified a discontinuity at 64 samples. Median full-project load was22.887%at 64, then13.578%,13.029%, and12.854%at 128/256/512. The 64-sample backend receipt wasseparateJuce; all larger rows usedsharedNonUniformPffft. - Inspection found a hard selector cutoff requiring at least 128 host samples, while the production PFFFT scheduler accepts any positive host block through 4,096 and internally stages fixed 512-sample head and 2,048-sample tail work. The supported shared-room threshold is now 64 samples.
- Five fresh 64-sample full-project runs with PFFFT measured
14.756%,15.194%,15.215%,14.986%, and15.034%(median15.034%). Against the prior22.887%median, this is a34.3%focused whole-project reduction. - Five 64-sample Reverb-only runs measured
14.324%,14.343%,14.082%,14.234%, and14.258%(median14.258%) versus the prior three-run median of21.844%, a34.7%reduction. Full-project median P99 fell from79.058%to approximately40.613%across the five candidate runs. - The complete convolution suite passed, including timing, segmentation, host matrix, reset, hostile input, custom-room lifecycle, and PFFFT numerical gates. Shared-effects signal, focused-effects performance, and audio-safety continuity also passed. Project and preset formats are unchanged.
Low-latency residual cost split
- Three fresh paired runs at 64 and 128 samples separated idle callback cost, the
dry saved project, Reverb-only, and the original project. Median 64/128 loads
were
3.519%/2.822%idle,12.492%/11.725%dry,14.408%/13.174%Reverb-only, and15.289%/13.759%for the original project. - About
0.70percentage points of the 64-sample gap exists in an empty processor and0.82points exists in the dry project. Reverb adds roughly another0.53points of 64-sample scheduling overhead after the dry-project difference is removed. The remaining low-latency priority is therefore broad per-callback preparation, not a return to the former Reverb backend. - Inspection confirmed that the broad source-slot preparation loop remains the largest obvious fixed callback surface. A private-slot skip was already tested and rejected earlier because it did not produce a repeatable improvement. No new production shortcut was retained from this inspection.
- Release Standalone and VST3 targets built successfully. After the repository's
required JUCE
moduleinfo.jsonnormalization, strict VST3 inventory and host smoke passed discovery, audible processing at 44.1/48 kHz, parameter mutation, state restoration, semantic restoration, and editor reopen.
Callback control-preparation diagnostic
- Added an Audio Test-only
SPACEAGE_PROJECT_CPU_STAGE_DIAGNOSTICS=controlsprofiler mode. It measures the source/engine control-preparation phase from active-voice classification through private-lane performance-filter setup. The timer and counters compile only into the self-test target and are disabled by default, so shipping callbacks receive no instrumentation overhead. - On
Basic Groove 5.sskit, the 64-sample measurements attributed0.649%of realtime load to this phase while blank,0.806%dry,0.860%with Reverb, and0.839%in the original project. Corresponding 128-sample values were0.345%,0.415%,0.440%, and0.453%. - The original-project phase averaged about
11.19 usper 64-sample callback and12.09 usper 128-sample callback. Its increased invocation frequency explains about0.39percentage points, or roughly one-third, of the measured original-project 64-versus-128 gap in this diagnostic pass. - No production cadence reduction was retained. Updating controls only every other 64-sample block would reduce automation and live-edit resolution from one block to two for less than one percentage point of total load. Further work should preserve block-accurate controls and target a structural on-demand preparation design only if profiling later shows a larger practical benefit.
Complete callback stage accounting
- Extended the test-only callback profiler to account for control preparation,
sequencer/MIDI work, render/routing, render setup, and post-render processing.
SPACEAGE_PROJECT_CPU_STAGE_DIAGNOSTICS=stagesis the descriptive mode name; the originalcontrolsvalue remains accepted for existing local commands. - In the original project at 64 samples, measured stage loads were
0.843%controls,0.208%sequencer/MIDI,11.632%render/routing, and2.214%post-render. At 128 samples they were0.465%,0.112%,11.188%, and1.643%. The measured 64/128 whole-project loads were15.008%/13.512%. - Render setup itself averaged
8.70 usat 64 samples and9.00 usat 128, contributing0.653%/0.337%. Its invocation frequency therefore explains about0.32percentage points of the gap; the sample-scaled remainder of render/routing differs by only about0.13points. - The residual gap is distributed rather than dominated by one new defect:
approximately
0.38points controls,0.10sequencing/MIDI,0.32render setup,0.13sample-scaled rendering, and0.57post-render. The post-render result agrees with the earlier isolated Reverb scheduling measurement. - No mixer-wide inactive-channel shortcut was retained. Its absolute ceiling is
only a portion of the
0.32-point setup difference, while moving coefficient refresh into first activation would alter automation, carry-tail, loop-return, and newly triggered channel behavior. This is not a favorable risk/reward trade without a larger real-project cost.
Reproducible stage-profile workflow
- Promoted callback-stage accounting into
tools/profile-project-cpu.ps1through the explicit-StageDiagnosticsswitch. Added-ProfileFilterso one workload can be measured without manually managing test environment variables. - Both choices are written into the archived receipt and latest Markdown report. The script restores any pre-existing diagnostic environment after success or failure, preserving clean subsequent test runs.
- The verified command profiled
Basic Groove 5.sskitat 64 samples with theproject-originalfilter, regenerated all 77 documentation pages, and archived its receipt. The fresh project load was14.722%; stage loads were0.846%controls,0.203%sequencer/MIDI,11.493%render/routing,0.642%render setup, and2.066%post-render. - A preceding formatter-failed run completed audio measurement but encountered
transient system contention and reported
23.808%. It is retained only as a raw receipt and is not comparative optimization evidence. The Markdown quoting defect was corrected before the successful workflow verification.
Redshift 64-sample saved-patch recheck
- The isolated
Sanders_Ugly-Basslane measured9.402%in the first 64-sample run and8.940%in the adjacent ablation baseline. The other tonal lane was unavailable because its external SoundFont asset is missing. - Spread Off measured
8.303%, Fold Off8.429%, and Filter Off8.425%in the single-pass matrix. These directional results agree with the earlier paired 512/128-sample boundaries: the features consume CPU because they are audible in this patch. - Spread, Fold, and filter implementations have already received exact-path optimization and rejected-candidate coverage. No feature removal, approximation, or lower-quality mode was retained from this recheck.
CPU receipt evidence-quality classification
- Project CPU rows now include the minimum, maximum, and spread of their three internally measured run loads. This exposes session variance alongside the median instead of allowing one aggregate number to imply false precision.
- Generated reports classify the original-project measurement as stable or cautionary. A caution is emitted when relative three-run spread exceeds 10% or any measured callback exceeds its realtime deadline. Raw measurements remain present in either case; classification does not discard unfavorable evidence.
- Focused profiles receive the same callback and quality summary even when the
effects-off baseline is intentionally excluded by
-ProfileFilter. - Updated both the single-profile and latency-sweep parsers for the richer row
format. A verified 64-sample
Basic Groove 5.sskitreceipt measured15.173%median load,1.389percentage points of three-run spread (9.2%relative),41.558%callback P99, and77.933%maximum. The report correctly labels this a stable measured session within the observed callback deadline.
Latency-sweep evidence quality
- Latency sweeps now preserve two distinct variance measures: sweep spread across
separate receipts and median within-receipt spread across each receipt's three
internal runs. The latter remains informative when
RepeatCount=1and sweep spread is necessarily zero. - Every buffer-size row receives a
StableorCautionverdict. Caution applies when sweep-relative spread exceeds 10%, within-receipt relative spread exceeds 10%, or the worst observed callback exceeds its realtime deadline. - Updated workflow expectations and the sweep parser for the expanded table. A
bounded one-buffer
Basic Groove 5.sskitsweep completed successfully and regenerated the report site. - That validation measured
16.663%median load at 64 samples, but its internal spread was2.594percentage points (about15.6%relative) and its worst callback reached119.850%. The report correctly marks the rowCaution, so it must not be treated as clean comparative evidence despite being a valid, finite, audible render.
Status-aware profiler reporting
- The single-project report parser now records
passed,unavailable, andfailedstatuses rather than silently recognizing only successful rows. - Only passed rows may contribute to the workload ranking, shared-effect deltas, callback verdict, or evidence-quality classification. Failed rows are named and excluded from every comparison.
- Unavailable rows receive a dedicated section explaining that they rendered safely but lacked a required external asset. Their raw timing remains visible, while the report does not present that timing as the engine's audible workload.
- A focused 64-sample validation against the missing
Bright MellotronSoundFont inBasic Groove 5.sskitcompleted successfully. The report listsLane 2 - SoundFontunder unavailable workloads and omits it from ranking. - The workflow contract now requires comparative-quality output and three-run minimum, maximum, and spread fields in archived receipts.
- A complete follow-up profile verified the combined report. The original project
measured
15.125%with0.434percentage points of three-run spread (2.9%relative),41.648%callback P99, and79.523%maximum, earning a stable verdict. Passed isolated ranking placed Redshift at8.658%and dry drums at7.573%; the unavailable SoundFont remained separately identified.
Comparison-quality enforcement
- Evidence quality now applies to individual isolated workloads and to every row used in a calculated effect delta, not only to the original project summary.
- Isolated rankings display run spread and a per-workload
StableorCautionverdict. A deadline overrun or more than 10% relative three-run spread marks that workload cautionary without downgrading an otherwise stable project. - Shared-processing and individual effect deltas are calculated only when both operands are passed, within deadline, and within the 10% spread threshold. Otherwise the report explicitly withholds the delta while preserving raw data.
- The validating full
Basic Groove 5.sskitprofile measured a stable original project at14.791%, Redshift at8.553%, and dry drums at7.359%. Effects-off spread was4.473points (about 32% relative), and Delay reached247.553%on its worst callback, so the report correctly withheld all derived shared-effect comparisons from that session. - Workflow assertions now accept either a valid calculated delta or its explicit quality-withholding verdict. This prevents transient system load from making the test demand publication of misleading comparisons.
Post-render substage accounting
- Extended the Audio Test-only callback-stage diagnostic with meter-publication, shared-effects, and master/output timing. Shipping targets remain free of this instrumentation, and project, preset, and audio behavior are unchanged.
- A focused 64-sample original-project run measured meter publication at only
0.504 usper callback, or0.038%realtime load. Publishing the channel and bus meters less frequently would therefore save too little to justify reduced transient visibility, so meter behavior was deliberately left unchanged. - With shared effects disabled, their fixed bookkeeping measured
0.593 usper callback, or0.044%. Master/output processing measured approximately0.14-0.18%across the focused runs. Neither is a useful current target. - A stable Reverb-only run measured
23.718 usand1.779%in the shared-effects substage. Delay-only measured0.483 usand0.036%there because EchoRay's audible processing occurs earlier in render/routing. The post-render cost is therefore active Reverb DSP rather than broad effect-loop overhead. - Reverb already uses the recently optimized shared PFFFT non-uniform backend at 64-sample buffers. No additional production change was retained without a new algorithmic opportunity and matching numerical, segmentation, tail, and audio safety evidence.
Rejected PFFFT dual-kernel candidate
- Tested a dual-kernel PFFFT partition engine that shared each channel's input
transform and history between the Compact and Deep built-in room kernels.
The full convolution suite passed with less than
9e-8numerical difference, including irregular segmentation, reset, hostile-input, tail, and lifecycle coverage. - The synthetic primitive became substantially faster, but two integrated
64-sample
Basic Groove 5.sskitReverb-only profiles did not show a real reduction after normalizing shared-effects time against the simultaneously measured routing load. Both sessions were also unsuitable as authoritative comparisons because at least one callback exceeded its realtime deadline. - The duplicated forward transform is therefore not the dominant practical 64-sample Reverb cost. The production backend was restored to its simpler proven implementation; no extra dual-kernel storage, code path, or behavior remains in the product.
Voice-pool traversal consolidation
- Inspection of render/routing confirmed that inactive mixer channels already use active-channel lists with tail-aware carry handling. No additional broad inactive-channel shortcut was needed.
- Consolidated the separate per-sample 80s FM key-start scan into the existing
main voice render traversal. Initialization still occurs immediately before
rendering the same active, non-delayed voice, and retirement-tail behavior is
unchanged. At a 64-sample buffer this removes
48 * 64 = 3,072redundant voice-pool condition checks from every callback. - The complete 80s FM CPU and signal matrix passed for light, percussive, pad, and feedback patches through 32 voices. The integrated Audio Test target also built successfully.
- A focused
Basic Groove 5.sskitrun measured15.247%median load with only0.113percentage points of three-run spread. Its worst callback reached210.968%, however, so the session is cautionary and is not claimed as a comparative speedup. The change is retained as a behavior-preserving removal of provably redundant fixed work, not as a quantified headline improvement.
Settled mixer-control fast path
- Added an exact settled-value fast path to the 16-sample mixer-control update. Drum and instrument gain, pan, eight send levels, auto-pan depth, and bus gain and Reverb sends now skip their multiply-add only when the current float is already exactly equal to its target. Moving controls retain the original coefficient, update cadence, first-block initialization, and automation path.
- Mixer lane routing passed with channel meters, mute/solo domains, drum and instrument bus Reverb sends, EQ automation, compressor and saturation bypass, analyzer behavior, lane isolation, and project round-trip intact. Automation restore identity also passed.
- A stable 64-sample
Basic Groove 5.sskitprofile measured14.551%overall,11.379%render/routing,0.096percentage points of three-run spread, and a75.705%worst callback. This is about0.24points below the earlier stable14.791%project measurement and about0.11points below the prior clean render/routing measurement. The modest reduction matches the fixed-work scope. - The Prismatic Temple scaling fixture was updated to explicitly load its first
factory patch. The synth now intentionally opens at
None, so selecting only its engine no longer creates an audible benchmark voice. The focused repaired profile passed at57.232%realtime load withpeak=2.017. - The complete mixer-scaling matrix then passed all 18 workloads. Its final
Prismatic Temple row measured
57.774%realtime load withpeak=2.017; the other 17 profiles also remained within their realtime and signal gates.
Moonshadow workload-shape audit
- A fresh eight-Pad mixer-scaling run measured Moonshadow at
23.295%realtime load with finite audible output (peak=1.332). This fixture retriggers every 32 blocks and intentionally retains voices across its five measured runs, so it grows toward dense shared voice-pool and routing work rather than measuring a fixed eight-voice oscillator kernel. - The sustained polyphonic fixture measured eight Moonshadow voices for 4.096
seconds at
2.656%with neutral spectral/noise controls,2.650%with active spectral motion and noise, and2.690%for High-quality Air Choir. Every row was finite, audible, released cleanly, and passed its realtime gate. - The close sustained results confirm that Moonshadow's remaining model-specific DSP is not the source of the mixer benchmark's much larger load. No production shortcut was retained: the next useful target is shared retrigger, voice-pool, and multi-source routing work under rising polyphony, while preserving the established Moonshadow oscillator and modulation paths.
Dormant retirement-tail traversal gate
- The render loop previously visited all 48 de-click retirement-tail slots for every sample even when no stolen voice had created a tail. A single block-level presence check now bypasses that second pool while it is empty. If any tail is active, every tail continues through the original renderer for the full block; timing, fading, routing, and retirement behavior are unchanged.
- At a 512-sample callback with no active retirement tails, this replaces 24,576
inactive-slot checks with one 48-slot check. The focused eight-Pad Moonshadow
workload moved from a fresh
23.295%baseline to repeat candidate results of19.047%,18.876%, and18.924%; a later complete-matrix row measured19.709%. The earlier matrix reference was20.872%, so both comparison sets support a real sparse-playback reduction despite normal host variance. - Native voice stealing and all-audible retirement passed for every native Engine. Full-pool Redshift, Moonshadow, Lunacy, and Prismatic Temple bursts retained audible finite de-click tails, SoundFont voice 49 turnover passed, and the audio safety/continuity gate passed. The complete 18-profile mixer matrix also passed.
- Timestamped host/direct MIDI can create a stolen-voice tail partway through a
callback. Blocks carrying deferred performance messages therefore retain the
original live retirement-tail traversal, while settled and sequencer-only
blocks use the empty-pool bypass. MIDI record timing, MIDI health, and native
voice-steal gates passed after this safeguard. Follow-up Moonshadow runs were
19.320%,19.480%, and20.810%; one contention-affected run reached23.807%and is retained as variance evidence rather than omitted.
Stable primary-voice traversal list
- Callbacks without deferred host/direct MIDI performance messages now collect pointers to their active primary voices once before sample rendering. The hot loop visits only that compact set instead of checking all 48 slots for every sample. A voice may retire during the block without invalidating its fixed pool address; no new voice can appear on this path until the next callback.
- Callbacks carrying timestamped MIDI events retain the original full-pool scan, allowing note-ons and voice steals at arbitrary sample offsets. The existing 80s FM key-start initialization remains immediately before rendering its voice in both traversal modes.
- One audible Pad measured
3.434%and3.444%in focused and complete-matrix runs. Eight-Pad Moonshadow repeated at19.184%,18.955%, and19.015%, then measured19.089%in the complete matrix. All 18 mixer profiles passed. - MIDI health, native voice stealing, full-pool burst retirement, SoundFont voice 49 turnover, and audio safety/continuity passed. The optimization changes only inactive-slot traversal; synthesis, routing, timing, and voice ownership remain unchanged.
Stable retirement-tail traversal list
- The same stable-callback contract now compacts active de-click retirement tails once per block. A callback with one stolen voice visits that tail directly instead of checking all 48 tail slots for every sample. Tail pointers remain valid while voices fade or retire because the fixed pool storage does not move.
- Callbacks carrying deferred host/direct MIDI events continue scanning both full pools so a sample-offset note-on can create and render a stolen-voice tail in the same callback. This preserves the safety boundary added to the earlier dormant-tail gate.
- The complete mixer matrix passed all 18 profiles. One audible Pad measured
3.112%, down from3.434-3.444%immediately before this extension; one Pad with 63 configured silent strips measured3.347%. Eight-Pad Moonshadow measured19.359%, while dense 32/64-Pad rows remained active-synthesis bound. - Native voice stealing, all-audible retirement, full-pool bursts, SoundFont voice 49 turnover, and audio safety/continuity passed with finite audible tails.
- Three attempted 64-sample saved-project receipts during this work were
contention-heavy (
15.117-24.010%, with4.418-10.438points of internal spread and callback overruns). They remain diagnostic receipts and are not used as comparative evidence for this optimization.
Voice-owned mixer destination cache (2026-08-30)
Voicenow stores its resolved mixer domain and zero-based destination channel when the note starts. The per-sample render loop no longer repeats the private-slot test, channel subtraction, and range clamp for every active voice. Existing behavior is preserved: an active voice retains its start-time route, and retirement tails inherit the cached route when the voice is moved.- Correctness validation passed for native voice stealing and all-audible retirement, full-pool burst retirement, SoundFont voice 49 turnover, mixer lane routing, and audio safety/continuity.
- Three focused runs measured One Pad at 3.116-3.158%, One Pad plus 63 silent strips at 3.330-3.357%, and Eight Moonshadow Pads at 18.296-18.508%. The prior Moonshadow receipt was 19.359%, while the sparse cases remained effectively unchanged.
- The complete 18-profile mixer matrix passed. Selected updated loads were 35.093% for 32 Pads, 36.615% for 64 Pads, 11.654% for Eight Redshift Pads, 18.546% for Eight Moonshadow Pads, 56.922% for Eight Prismatic Temple Pads, and 29.102% for Eight 80s FM Pads. These are synthetic regression-fixture measurements, not promises for arbitrary projects or machines.
Deterministic mixer-stage diagnostics and MIDI state indexing (2026-08-30)
- The mixer scaling fixture now accepts the opt-in
SPACEAGE_MIXER_STAGE_DIAGNOSTICSmode. It reports the same callback-stage counters as the saved-project profiler while retaining deterministic synthetic workloads. Normal performance runs do not enable the counters or pay their timing overhead. - Effects-off stage receipts placed approximately 97-99% of callback cost inside combined voice rendering/routing for the tested 8-, 32-, and 64-voice cases. Control preparation, sequencer/MIDI work, meter publication, shared effects, and master output were individually well below one percentage point. This is evidence that further dense-load work should focus on engine rendering and the common per-voice path rather than dormant Mixer or meter scans.
- Every voice now retains the fixed source-session/channel-state index established at note start. The render loop reads current volume, expression, and pan through that index instead of resolving the same source/channel pair twice per voice per sample. Controller values remain live and sample-accurate; only the immutable lookup is cached.
- MIDI health, mixer lane routing, and audio safety/continuity passed. Repeated focused loads were 10.633-10.785% for Eight Internal Engine Pads, 11.422-11.467% for Eight Redshift Pads, 18.288-18.357% for Eight Moonshadow Pads, and 55.802-55.954% for Eight Prismatic Temple Pads. Eight 80s FM remained within ordinary run variance at 29.846-30.231%, so no universal percentage reduction is claimed. The complete 18-profile matrix passed; one Liftoff result was treated as a contention outlier and excluded from comparative claims.
Shared voice-expression source index (2026-08-30)
- The voice-owned MIDI source/channel index now serves the shared pitch-bend, mod-wheel vibrato, and combined MIDI-expression helpers, as well as 80s FM's 64-sample controller frame and Prismatic Temple's wheel/pressure inputs. Live controller values are still read at the original cadence; only repeated source-session/channel index resolution is removed.
- MIDI health and audio safety/continuity passed. The complete 80s FM CPU and
signal matrix retained all requested voices and finite output. Its sustained
32-voice Light profile measured
19.797%, versus the recent retained baseline near21.12%, an approximately 6% relative reduction. The percussive, Pad, and feedback 32-voice profiles measured18.567%,21.598%, and21.823%. - The complete 18-profile mixer matrix passed. Its late engine rows encountered visible host contention and are excluded from comparative claims; the dedicated five-run 80s FM fixture is the evidence used for the retained optimization.
- A short Prismatic Temple experiment encountered two ideas already documented as rejected: dormant-modulation gating and static vector-gain caching. Those trial edits were removed before this change was retained; prior sustained evidence continues to govern that renderer.
Voice MIDI-state lookup migration complete (2026-08-30)
- Inspection confirmed that all production voices receive their cached MIDI source/channel-state index through the single voice-start path. Retirement tails inherit it through the existing move operation, while reset voices are inactive and cannot reach rendering.
- The last voice-bound recomputations were removed from 80s FM pitch-wheel frame preparation and the automatic-release sustain-pedal decision. This completes migration of render-time volume, expression, pan, pitch bend, wheel, pressure, breath, foot, raw pitch wheel, and sustain access to the immutable cached index. The controller values themselves remain live at their original cadence.
- Multichannel MIDI protocol coverage, pressure/aftertouch routing, and the MIDI
health gate passed. A focused five-run 32-voice 80s FM Light repeat measured
20.598%; this remains below the older21.12%baseline but overlaps the preceding19.797%receipt, so no additional percentage is attributed to the final two lookup replacements.
Normalized MIDI controller read path (2026-08-30)
- Inspection confirmed that volume, expression, pan, modulation wheel, channel pressure, breath, and foot-controller values are normalized or clamped when MIDI state is written. Voice rendering now consumes those established values directly instead of repeating bounds clamps for every active voice. Public defensive getters retain their clamps for callers outside the render path.
- Multichannel MIDI protocol coverage passed, including pressure/aftertouch. Mixer lane routing passed with hard-left/right pan, isolated destinations, bus sends, processing, automation, and project round-trip intact. Audio safety and continuity also passed with finite output, limiter, panic, reset, loop, navigation, and pending-event coverage.
- Three focused repeats measured Eight Internal Engine Pads at
10.633-10.745%, Sixty-four Internal Engine Pads at36.468-36.982%, and sustained 32-voice 80s FM Light at20.442-20.502%. These overlap the retained measurement ranges, so no percentage reduction is claimed. The change is retained as a zero-state, invariant-backed reduction in common per-voice work with no measured regression.
Dormant mixer auto-pan gate (2026-08-30)
- The shared voice-routing loop previously selected and tested a channel auto-pan cycle for every voice sample even when no drum or instrument channel used auto-pan. Block preparation now records whether either mixer domain has any configured auto-pan. A fully dormant domain bypasses its per-voice cycle lookup; if any channel is configured, the original channel-specific sine, smoothed depth, and timing path runs unchanged.
- In adjacent candidate/baseline/reverse-candidate measurements, clean Eight
Internal Engine Pad candidate runs measured
10.37-10.40%versus baseline10.53-10.56%. Sixty-four-Pad candidate runs measured35.29-35.56%versus baseline36.16-36.42%. Host-contention outliers were retained in the raw run output but excluded from these ranges. - Mixer lane routing and audio safety/continuity passed. The complete 18-profile
mixer matrix passed, including
10.343%for Eight Internal Engine Pads,35.178%for Sixty-four Pads,10.736%for Eight Redshift Pads,17.996%for Eight Moonshadow Pads, and30.215%for Eight 80s FM Pads. The suite has no dedicated auto-pan-only gate, so correctness confidence rests on the exact dormant-state condition and preservation of the active path, not a claimed dedicated automation test.
Shared voice route-gain product (2026-08-30)
- Audible voice routing previously multiplied MIDI volume/expression gain and mixer gain independently for the rendered mono value and stereo side signal. Their common product is now calculated once per voice sample and reused by both paths. Controller and mixer smoothing cadence, pan law, side limiting, and destination routing are unchanged; no branch or persistent state was added.
- Internal-engine workloads were neutral, which is expected when their stereo
side signal is dormant. The stereo-side-heavy Eight 80s FM Pad profile measured
28.47-28.68%across four clean reverse-order candidate runs, with one29.23%high run. The adjacent baseline measured29.57-29.87%; the first candidate order measured28.69-28.95%. - Mixer lane routing passed with hard pan endpoints, domain isolation, processing, sends, automation, and project round-trip. Audio safety/continuity also passed. The improvement is recorded for workloads that exercise the side path and is not generalized to mono engines whose measurements overlapped baseline.
Rejected 80s FM LFO delay-unit cache (2026-08-30)
- A trial prepared the DX-style LFO delay unit in
prepareToPlaybecause its formula depends only on sample rate. The candidate replaced the per-evaluation positive division and rounding expression with a processor member read while preserving the resulting integer and all delay-state arithmetic. - A complete 32-voice candidate pass measured Light
19.594%, Percussive20.111%, Pad22.101%, and Feedback19.779%. The immediately rebuilt original path was faster in every row at18.998%,17.569%,21.242%, and17.449%respectively; unrelated Redshift and Glass Moon rows were also cooler, but do not change the directional result across all four FM patches. - The cache and added processor state were removed. The compiler can already optimize the invariant expression effectively, and an extra hot member load is not justified. Production source remains on the original LFO delay calculation.
80s FM frame-rate Legato read (2026-08-30)
- The 80s FM renderer previously loaded its atomic Legato parameter for every voice sample, although Legato only affects glide and operator-frequency work on the established 64-sample control frame. The read now occurs on that frame or during initial operator-frequency setup. This preserves the existing effective response cadence while avoiding 63 of every 64 redundant reads; no persistent cache or new state was added.
- The first three 32-voice Light candidate runs measured
18.50-18.76%. The adjacent original path produced clean runs of18.79-19.07%plus one contended20.49%run. Five reverse candidate runs clustered at18.81-18.99%, with a median near18.88%. The accumulated output witness remained exactly40.8768. - The complete 32-voice matrix passed with finite output and all voices retained:
Light
18.834%, Percussive17.451%, Pad21.199%, and Feedback18.472%. Only the repeatedly measured Light profile receives a reduction claim; the other rows overlap prior variance. Native synth audibility and audio safety/continuity passed. The broader synth-control gate retains its documented page-16 geometry, interaction, accessibility, and target-size failures.
Rejected 80s FM keyboard-tracking frame gate (2026-08-30)
- A trial moved keyboard-tracking note rounding, rate-scaling group division,
clamp, and remainder arithmetic behind the existing 64-sample control-frame
condition. Those values are consumed only by operator-envelope work on that
frame, so candidate audio remained equivalent and the output witness stayed
exactly
40.8768. - The first candidate order measured
18.381-18.622%for 32-voice Light, versus an adjacent baseline of18.663-18.824%. The reverse candidate order was mixed: two runs measured18.394-18.476%, but three measured18.731-18.835%; its median was only about0.05percentage points below the baseline median. - The extra conditional region was removed because the reverse-order distribution did not establish a repeatable saving. Production retains the simpler arithmetic path, and the failed idea is recorded to prevent another trial based only on the stronger first-order result.
Prismatic Temple live-controller overlay (2026-08-30)
- Production routing previously copied the complete Prismatic Temple block
Controlsstructure for every voice sample solely to replace Mod Wheel and Pressure with live MIDI values. The renderer now has a compatible overload accepting those two live values separately. Block controls remain immutable and pass by reference; existing renderer callers retain the original API, which forwards the values stored inControls. - Three first-order Eight Prismatic Temple Pad runs measured
52.902-53.510%. The adjacent original-copy baseline measured53.724-54.259%, median54.011%. Five reverse candidate runs measured52.709-53.325%, median about52.982%, an approximately 1.9% relative reduction against the adjacent baseline median. - The dedicated Prismatic engine suite passed pitch at five sample rates, dense chord/release behavior, all four Elements, Motion, automatic/manual modulation, pan destination, zones, loop modes, portraits, per-Element LFO sync, vector and spectral behavior, factory presets, persistence, migration, malformed assets, and extreme stability. Instrument patch lifecycle, multichannel pressure and aftertouch routing, and audio safety/continuity also passed.
Prismatic Temple prepared global phase increments (2026-08-30)
- Global Vibrato and Vector Orbit rates are stable for an audio block, but their integer phase increments were previously rebuilt from rate and sample rate for every active voice sample. Production now prepares both increments once per pad block and passes them through a compatible renderer overload. Existing and test callers retain the original API, which calculates the same values locally.
- Three first-order Eight Prismatic Temple Pad runs measured
52.206-53.055%, median52.634%. The adjacent original path measured54.267-55.079%, median54.682%. Reverse-order confirmation produced stable runs of52.326%and52.367%, plus one clearly contended61.406%outlier. The stable comparison is an approximately 3.8% relative reduction against the adjacent baseline median; the outlier is retained here rather than silently discarded. - The formulas use the same stored float rates, clamping, sample-rate conversion, and integer truncation as the former per-sample path, preserving phase behavior. The complete dedicated Prismatic suite passed, as did instrument patch lifecycle, multichannel Pressure/Aftertouch routing, and audio safety/continuity.
Rejected EchoRay fixed-timing decision hoist (2026-08-30)
- A trial moved EchoRay's fixed-integer-delay eligibility decision outside the active-channel loop. Its inputs are sample-global, so the candidate preserved all conditions and both integer and interpolated delay readers exactly.
- Initial EchoRay Basic candidate runs measured
14.193-14.236%. The adjacent original measured14.341-15.013%, median14.503%. Reverse candidate runs measured14.275-14.439%, overlapping the original distribution. The realistic HaloStar + EchoRay + Chorus stack measured16.203%, slightly above its fresh pre-trial16.099%; a Full Production run was contaminated at29.656%and is not used for comparison. - The candidate was removed because the reverse and stacked evidence did not establish a repeatable benefit. Production retains the existing channel-local expression, which the optimizing compiler may already hoist when profitable.
Preset-library scan ownership and scale coverage (2026-08-30)
- The asynchronous Library worker previously copied each sorted
juce::Filepath into its published result vector. It now moves each worker-owned path and the UI continues moving the published entries into its final list. Sorting, favorites filtering, cancellation, and latest-request generation checks are unchanged; scanning remains off the interface and audio threads. - The focused Library contract now creates 514 synthetic presets, supersedes an
in-flight all-presets request with Favorites Only, then adopts the complete
sorted catalog. Two Release runs completed the full refresh in
15.282 msand16.275 ms. Both reported0 MiBprocess-private growth at Windows' observable granularity during the measured refresh. - This is retained as bounded ownership hygiene rather than a claimed headline memory reduction. The larger permanent fixture makes future browser scaling, sorting, cancellation, selection restoration, and accidental asset parsing regressions visible without accessing a user's real preset collection.
Allocation-free contextual-notes polling (2026-08-30)
- The editor's 20 Hz coordination timer previously rebuilt the persisted
contextual-note key as a
juce::Stringon every tick merely to determine whether the visible page, Pad, lane, mixer strip, or Engine context changed. Stable use therefore created twenty temporary descriptive keys per second. - Polling now compares a compact 64-bit identity with separate domains for synth slots, drum bank/Pad pairs, patterns, Arrangement clips and lanes, both mixer channel and Bus contexts, Effects, Library, and Tempo Calc. The readable string key is still generated when context actually changes and remains the sole key used for project persistence, so saved-note compatibility is unchanged.
- Project persistence passed contextual-note round-trip and blank-project clearing. Keyboard shortcut workflow and the complete primary UI visual-state contract also passed, including page navigation, Arranger notes, popups, and synth drawer routing. This is an exact allocation-frequency reduction rather than a claimed audio-CPU percentage improvement.
Open Engine drawer repaint restraint (2026-08-30)
- The open Engine drawer intentionally polls mixed parameter and asset state so host automation and external changes can update its page-use indicators. That polling previously reapplied all eight page-button colours and toggle states even when their visual values were already correct.
- The refresh now mutates a button only when its colour or selected state changes. Sample-layer and bonus-shot discovery also stops at the first populated entry, and velocity-layer count is read once per pass. Polling semantics remain intact; this reduces interface-thread work and avoidable repaint requests rather than claiming a measurable audio-thread CPU reduction.
- Instrument patch lifecycle, keyboard shortcut workflow, and the complete primary UI visual-state contract passed in Release, covering Engine navigation/routing, patch readouts, focus behavior, page geometry, and accessibility state.
Engine patch-readout mutation guard (2026-08-30)
- While an Engine drawer is open, patch dirty-state polling must continue because host automation can modify parameters without an editor callback. The active patch readout previously reapplied its text, tooltip, accessibility title, description, help text, and colour on every polling pass even when unchanged.
- Each presentation property is now updated only when its desired value differs. Fingerprint calculation and Arrangement-lane display checks are deliberately preserved, so externally automated edits and lane patch names remain current.
- Instrument patch lifecycle and the complete primary UI visual-state suite passed in Release, including dirty markers, Engine navigation, accessibility metadata, and lane Engine presentation. This reduces message-thread mutation and repaint frequency; it is not presented as an audio-thread CPU percentage improvement.
Cached Engine patch schemas (2026-08-30)
- Patch dirty-state fingerprints, preset serialization, validation, and several Engine workflows share immutable lists of parameter suffixes. Those lists were previously reconstructed for every query. This was especially wasteful for Redshift's large modulation schema and 80s FM's dynamically assembled six- operator schema during periodic open-drawer dirty-state checks.
- All sixteen Engine schemas are now built once in a function-local static table and returned by constant reference. Callers that intentionally need an owned, mutable list still copy it explicitly; read-only callers perform no repeated schema allocation or string construction. Invalid Engine indices retain the prior empty-list behavior.
- Instrument patch lifecycle, full project persistence, and the complete primary UI visual-state suite passed in Release. Coverage includes schema membership, patch save/recall and dirty markers, malformed-patch rejection, project restore, Engine navigation, and lane presentation.
Cached patch-fingerprint parameter access (2026-08-30)
- Even with immutable schemas cached, every patch fingerprint still concatenated each suffix into a slot-specific parameter ID and searched the parameter tree. Open-Engine polling repeated that work for the active patch and Arrangement instrument displays, with the highest lookup counts in Redshift and 80s FM.
- The editor now lazily resolves each slot/Engine schema to stable APVTS raw-value pointers. After first use, fingerprinting is a tight sequence of atomic value loads and weighted additions, with no parameter-ID construction or tree lookup. Caches remain strictly separated by instrument slot and Engine; SoundFont preset identity and Quasar source-name identity retain their existing extra terms.
- Instrument patch lifecycle, full project persistence, and synth patch/mixer ownership passed in Release. The ownership gate specifically confirmed Redshift and Propulsion patch independence, Engine-tab routing, parameter-list integrity, and mixer isolation.
Single-pass active patch presentation (2026-08-30)
- Open-Engine polling previously calculated the active instrument's display name and dirty fingerprint once for the patch readout, then immediately repeated the same calculation while checking whether Arrangement lane text needed refresh.
- The readout's already computed active display is now reused for the lane-display comparison. Other lane-owned instruments retain independent scans, duplicate slots remain suppressed, and Engine 0 keeps its prior no-lane-refresh behavior. The active Engine therefore performs one fingerprint per polling pass instead of two without changing update frequency or dirty-marker semantics.
- Instrument patch lifecycle, synth patch/mixer ownership, and the complete primary UI visual-state suite passed in Release, covering patch independence, lane text, Engine navigation, readouts, accessibility, and mixer isolation.
Rejected lightweight Arrangement lane-type query (2026-08-30)
- A trial added a scalar lane-type accessor so periodic Engine patch polling could
avoid copying a complete
ArrangementLanemerely to distinguish drum lanes. The code compiled, butARRANGER_EDIT_CONTRACTterminated with Windows access- violation code0xC0000005on two candidate runs. - The trial was fully removed. A clean rebuild of the prior implementation then left the same gate stuck without completing until manually stopped, showing the gate has an independent stability problem but not establishing this candidate as safe. The existing by-value lane query remains in production until that test can provide a reliable acceptance signal.
- Stable synth patch/mixer ownership and instrument patch lifecycle gates passed after removal. No uncertain optimization was retained, and no test process was intentionally left running.
Arrangement contract stability diagnosis (2026-08-30)
- Temporary flushed stage markers localized the focused Arrangement contract's access violation to construction of the mixer-discrete-history processor fixture. The failure occurs before that fixture creates an editor, opens the Mixer, finds controls, or performs undo/redo. Several earlier full processor/editor fixtures have already completed in the same monolithic process by that point.
- This supports cumulative fixture resource or lifecycle pressure rather than an Arrangement lane-type or mixer-control assertion failure. The diagnostic markers were removed after localization; production code remains unchanged, and the gate was not weakened or marked passing.
- A future test-maintenance pass should split the monolithic contract into isolated focused processes or otherwise prove complete fixture teardown. Until then, Arrangement optimizations requiring this gate are deferred, while stable patch, ownership, persistence, and visual gates remain available for other work.
Quantized mixer-meter repainting (2026-08-30)
- Visible channel, Bus, and master meters are polled at the editor timer rate. Their smoothing and peak decay previously requested a repaint on every non-silent tick even when the rendered segment counts, peak-pixel positions, clip state, stereo marker, and one-decimal dB text were unchanged.
LevelMeternow derives a compact key from exactly those rendered quantities. Internal level and peak smoothing still advances every call, but repaint occurs only when the key changes. Visibility and stereo-marker transitions invalidate the key, and the existing fully-silent early return remains intact.- Mixer layout, Mixer state persistence, and the complete primary UI visual-state suite passed in Release. Coverage confirmed meter readouts, stereo behavior, geometry, all mixer panels, page transitions, and project-state restoration.
Generation-aware Mixer EQ analyzer snapshots (2026-08-30)
- The visible Mixer EQ analyzer previously recopied 2,048 atomic ring-buffer samples and ran a 2,048-point FFT whenever its UI timer fired, even if the audio device had stopped and the analyzer write position had not advanced.
- A compatible snapshot overload now accepts the editor's last-read position and rejects unchanged generations before copying any samples. Analyzer target changes across strips, mixer banks, and Drum/Instrument Mixer domains reset the read position; the original snapshot API remains available to existing tests/callers. Live audio retains the existing analyzer update rate and smoothing.
- Mixer layout and state persistence passed, including analyzer capture/disable,
stereo meter behavior, all panels, and project restoration. The twelve-profile
focused effects performance gate also passed, with the Full Production Mix at
19.0604%reported load in this run.
Prepared Mixer EQ analyzer geometry (2026-08-30)
- Every live analyzer frame previously evaluated the 2,048-point Hann window with 2,048 cosine calls, then rebuilt 96 logarithmic display frequencies with power calculations and converted them to FFT bins. Both mappings are invariant unless the audio sample rate changes.
- The Hann coefficients are now initialized once application-wide. Each analyzer display caches its 96 bin indices and rebuilds them only when sample rate changes. Frame processing retains the same window formula, 2,048-point FFT, logarithmic 20 Hz-20 kHz scale, dB clamp, and temporal smoothing.
- Mixer layout and the complete primary UI visual-state suite passed in Release, including analyzer capture, enable/disable behavior, stereo meters, navigation, geometry, and accessibility presentation.
Cached Mixer EQ response path (2026-08-30)
- Live spectrum animation repaints the EQ display frequently, but each paint also rebuilt the static six-band EQ response. That repeated coefficient setup and a complex frequency-response evaluation for approximately every horizontal pixel, even when no EQ parameter or display dimension had changed.
- The completed response
Pathis now cached. It is invalidated bysetResponse()when enable state, bands, frequencies, gains, Q, pass slope, or sample rate changes, and byresized()when display geometry changes. Spectrum animation then strokes the cached response while independently drawing its live FFT path. - Mixer layout and the complete primary UI visual-state suite passed in Release.
Effects Detail geometry and all 366-control coverage checks also passed; that gate
remains independently red on its pre-existing
modulationSync=0contract and is not represented as a complete pass here.
Restored long modulation-sync validation (2026-08-30)
- The Effects Detail gate still expected the original 25-entry modulation tempo
grid after the shared grid had intentionally gained triplet, straight, and dotted
8-bar and 16-bar choices. The product parameters and UI were present; only the
stale test-size assertion forced
modulationSync=0. - The contract now validates all 31 choices, preserves the established timing
checks, and explicitly verifies
8 Bars D,16 Bars D, and the 16-bar dotted step length. This keeps future tempo-sync expansion observable without removing coverage for EchoRay, chorus, flanger, phaser, or tremolo. - Effects Detail passed with geometry, all 366 controls, IR/preset libraries,
action wrapping, and modulation sync enabled. The twelve-profile focused Effects
performance gate also passed; Full Production Mix reported
20.837%load in this run. The earlier cached-response optimization is therefore now covered by a fully green Effects Detail gate.
Prepared steady-rate tremolo oscillator (2026-08-30)
- Tremolo's common settled-control path previously called
sinfor every rendered sample. That work was unnecessary while rate and depth were unchanged, which is the normal state between automation gestures and parameter edits. - The settled path now prepares one sine/cosine rotation per audio block and advances the oscillator with a recurrence. The canonical phase is advanced by the exact block duration. Rate or depth ramps retain the original sample-accurate smoother and trigonometric path, preserving automation behavior.
- The full shared-effects signal regression passed, including tremolo rate/depth
character, return silence, effect isolation, and bypass behavior. Full Production
Mix reported
20.4198%load versus20.837%in the immediately preceding run. This is a useful directional measurement, not a claim that normal run-to-run CPU variance has been eliminated.
Completed modulation-return sleep transitions (2026-08-30)
- The no-tail early exit for chorus, flanger, phaser, and tremolo advanced control smoothers but did not advance the enable/bypass mix. Disabling an already silent return could therefore leave it logically partway active, causing its send buffer and routing checks to remain eligible indefinitely.
- Sleeping modulation returns now advance the bypass ramp by the complete block and reset their processor state when a disabled return reaches zero. Tremolo is also treated as the stateless gain transformation it is: when no routed input exists, it sleeps immediately instead of processing and rescanning an empty block. Delayed modulation effects retain output-tail detection.
- The exhaustive shared-effects signal regression passed, including disable fades,
isolated returns, silence, levels, and tremolo character. Full Production Mix was
unchanged within run variance at
20.8515%, as expected with every effect active. The dry profile reported10.8587%versus11.037%in the earlier full-suite run; this measurement is directional, while the persistent benefit is correct and complete retirement of disabled modulation work.
Restored complete multi-channel modulation routing (2026-08-30)
- Modulation route discovery stopped scanning an effect after finding its first active channel. Although the effect was correctly added to the active-effect list, drum send targets for all later channels remained zero for that block. This was an invalid apparent CPU saving because configured chorus, flanger, phaser, and tremolo sends could be omitted from the rendered mix.
- Route discovery now scans every channel to populate all send targets, while still registering each active effect only once for the sample loop. This preserves the optimized active-effect list without truncating audible routing.
- Mixer lane routing and the exhaustive shared-effects signal regression passed.
Full Production Mix passed at
21.4065%; its modest increase from the preceding run is expected because channels 2 through 8 now contribute their configured modulation sends. Performance work must not count missing audio as optimization.
Guarded later-channel modulation sends (2026-08-30)
- The shared-effects signal regression previously rendered modulation sends only from Pad 01, so it could not detect route discovery stopping after the first active mixer channel.
- Its reusable renderer now accepts a source Pad, and the contract explicitly
compares dry and chorus renders from Pad 08. The assertion passed with a
0.00511612RMS difference in the latest run, directly protecting the restored multi-channel routing while retaining all existing character and silence checks.
Early-exit shared-effect signal detection (2026-08-30)
- Shared-effect wake and tail decisions used two complete channel-magnitude scans whenever they needed only a boolean answer. Active buffers were therefore read in full even when their first samples already exceeded the sleep threshold.
- Signal detection now walks stereo samples together and returns immediately when
either channel crosses the same
1e-7threshold. Silent buffers still receive a complete deterministic scan, while active reverb, Halostar, modulation, and octave buffers usually avoid most of that work. - The exhaustive shared-effects regression and focused dry/full-production profiles
passed. The focused runs reported
11.0867%dry and22.075%full-production load, slightly slower than adjacent runs overall; no isolated benchmark gain is claimed beyond removal of the deterministic redundant traversal.
Basic Groove 5 stage profile and next target (2026-08-30)
- The real saved
Basic Groove 5.sskitproject was profiled at 48 kHz with a 512-sample buffer. Its original mix passed at15.4847%median load,30.1641%callback P99, and35.4356%maximum callback load, with no deadline miss. Shared Effects accounted for only1.51209%; combined voice and Mixer rendering dominated at13.7961%, confirming that further Effects work is no longer the highest-value priority for this project. - A blank processor measured
1.44359%. Drums-only measured10.0398%; isolated active Pads measured5.62-6.71%, showing aggregate drum polyphony rather than one pathological Pad. The isolated Redshift bass lane measured9.40278%. The SoundFont lane was unavailable because its asset could not be resolved in the test environment, so its silent5.09347%row is not treated as synthesis cost. - Redshift feature ablation identified Poly Oscillator Spread as the largest tested
feature cost: disabling it reduced the lane from
9.40278%to8.55585%. Disabling the filter produced8.75102%; other tested stages had smaller or noisy deltas. Spread currently renders two additional detuned oscillators per voice, so its cost is musically legitimate. The next safe investigation is prepared per- voice spread phase state with explicit sonic-equivalence coverage, not removal or quality reduction of the stereo voices. - Muted lanes still advance synth voices before discarding their output. This keeps envelopes, oscillator phase, and unmute timing continuous and must not be removed merely to improve a silent-lane benchmark. Any future silent advancement path must first prove identical voice lifecycle behavior.
Rejected Redshift spread accumulator (2026-08-30)
- A prepared per-voice phase accumulator was evaluated for the two detuned Poly Oscillator Spread voices to avoid rebuilding their wrapped phases per sample.
- The optimized/reference audio contract rejected it (
hotPathEquivalent=0). The current spread algorithm deliberately derives each side voice from the wrapped center phase; a free-running accumulator changes that behavior at center-phase wrap points even though its average frequency is equivalent. - The accumulator was removed. No changed spread sound or preset behavior is being retained for a CPU win. A future Spread optimization must preserve the existing phase re-anchoring exactly; the measured filter stage is the next safer Redshift target.
Exact clean-filter fast paths (2026-08-30)
- Redshift's filter evaluated model-distance clamps and constructed/interpolated a four-entry slope table for every sample, including the common exact Clean model and 12 dB slope states.
- Exact Clean now bypasses model-distance calculations whose result is necessarily zero. Exact 12 dB directly returns the first topology-preserving filter stage. Fractional model and slope transitions, Silk/Bite coloration, and every other pole choice retain the original path.
- The exhaustive Redshift filter regression passed, including Silk, Bite, live
slope switching, motion, custom-cycle rendering, persistence, and optimized versus
reference output (
hotPathEquivalent=1). Its paired microbenchmark was noisy in absolute load but reported a1.14281filter/baseline ratio in the post-change run. This is retained as an exact redundant-work removal, not as a claimed fixed percentage improvement across machines.
Settled Redshift filter model and slope states (2026-08-30)
- Redshift's click-resistant model and slope interpolation approached integer targets forever. Consequently, static Silk/Bite patches and non-12 dB slopes kept executing fractional-state classification and slope-table interpolation for the complete lifetime of every voice.
- Model and slope smoothers now settle to the exact target once their remaining
normalized difference is at most
0.00001(about one hundredth of one percent of one UI step). Exact Clean, Silk, and Bite states use direct model classification; exact 6, 12, 18, and 24 dB states select their corresponding filter output without constructing or interpolating the fractional slope table. The audible transition remains unchanged until the final sub-threshold difference. - The exhaustive Redshift filter regression passed Silk/Bite character, live slope
switching, motion, persistence, custom cycles, and optimized/reference rendering
(
hotPathEquivalent=1). In the post-change tonal matrix, paired 12 dB ratios were1.32Clean,1.38Silk, and1.42Bite relative to oscillator baselines. One Silk 18 dB row was an isolated timing outlier and is not used as performance evidence; the retained claim is removal of perpetual fractional-state work after controls audibly settle.
Full-strength Silk and Bite reductions (2026-08-30)
- Once Redshift's model smoother reaches exact Silk or Bite, its saturation blends
have a wet amount of exactly one. The renderer nevertheless continued evaluating
dry + (wet - dry) * 1and recalculating fixed resonance/output gains per voice sample. - Exact Silk and Bite now assign their saturated values directly and use their fixed full-strength gains. Partial model transitions retain the original blend expressions, so automation and the click-resistant settling window are unchanged.
- The exhaustive filter suite passed model character, slope switching, motion,
persistence, and optimized/reference output (
hotPathEquivalent=1). The tonal matrix also passed, but adjacent oscillator baselines varied from roughly17%to34%during that run. No percentage improvement is claimed from that noisy matrix; tighter paired scheduling or process-affinity control is required before using it for further filter micro-optimization decisions.
Interleaved Redshift tonal benchmark (2026-08-30)
- The tonal microbenchmark previously measured complete feature and baseline
processor lifetimes sequentially. Short-lived scheduler load and thermal drift
therefore produced adjacent oscillator baselines between roughly
17%and34%, making small optimization claims unreliable. - Each tonal profile now keeps one prepared processor and its 32 voices alive while
alternating feature-first and baseline-first measurements over eight balanced
passes. A short warmup follows every state switch, and the report uses the median
paired ratio plus median absolute loads. The oscillator control profile performs
identical work in both states and fails the benchmark if its ratio leaves
0.90-1.10. - Two initial balanced control runs reported
1.049and0.991; the final guarded run reported1.018withcontrol=1. The full pre-guard matrix also produced coherent ratios near1.18dual oscillator,1.55Spread,1.34Fold,1.40-1.41Clean/Silk filter, and1.47Bite. Future claims should use guarded runs only, but this establishes a substantially more stable decision tool.
Bounded Redshift Spread phase wrapping (2026-08-30)
- Poly Oscillator Spread re-anchors both detuned voices to the center oscillator on
every sample. The prepared phase ranges are bounded to less than one cycle below
zero and less than two cycles above it, but each side still used general
floorwrapping. - The production path now wraps those proven ranges with one comparison and an add/subtract operation. The reference path retains general wrapping. This preserves the established center-phase re-anchoring that the rejected free-running accumulator changed.
- The exhaustive Redshift regression passed with
hotPathEquivalent=1. A dedicatedREDSHIFT_SPREAD_COSTgate was added to the test runner and passed twice with paired ratios of1.425and1.454; the earlier seven-pass matrix had reported1.548. Because the estimator was also balanced from seven to eight passes, this is directional evidence rather than a precise percentage claim.
Built-in Spread endpoint dispatch (2026-08-30)
- The common Redshift Spread case uses a built-in oscillator with morph parked at the source or target endpoint. Both detuned side voices still traversed the generic morph and source-kind dispatch stack before reaching the same built-in primitive.
- Prepared endpoint Spread now dispatches once for the pair and calls the established built-in oscillator primitive directly for both phases. Partial morphs, custom single-cycle waves, generated wavetable frames, and the reference renderer retain the generic path.
- The exhaustive Redshift suite passed with
hotPathEquivalent=1. Immediately before this change, two dedicated Spread runs reported paired ratios of1.425and1.454; afterward, two runs reported1.273and1.253. This is a directly paired reduction under the same eight-pass harness, with no oscillator algorithm or phase behavior changed.
Rejected center/OSC2 endpoint dispatch (2026-08-30)
- The successful Spread endpoint specialization was evaluated for Redshift's center
and second oscillators. A focused equivalence gate rendered source and target
endpoints with 16 voices, dual oscillators, and Spread through optimized and
reference processors; all
196608samples matched exactly (rmsError=0,maxError=0). - CPU evidence did not justify the production branch. Specialized dual-oscillator
runs reported paired ratios of
1.191-1.223; after removing the specialization, the same gate reported1.228. Spread ratios likewise did not improve. The compiler already handles this smaller dispatch effectively, so the extra production code was removed. - The new
REDSHIFT_ENDPOINT_EQUIVALENCEandREDSHIFT_DUAL_OSCILLATOR_COSTgates remain. They provide fast, deterministic audio comparison and focused paired timing for future oscillator changes without weakening the exhaustive Redshift suite.
Focused Fold measurement and rejected gain regrouping (2026-08-30)
- A dedicated
REDSHIFT_FOLD_COSTgate now measures the normal0.16Fold setting against the same persistent oscillator fixture over eight interleaved passes. Initial retained-code runs reported paired ratios of1.309and1.296. - Folding the static wet amount into prepared sine/tanh gains removed one multiply,
but changed floating-point grouping slightly (
rmsError=6.95e-8,maxError=5.60e-6) and produced no CPU improvement: paired ratios were1.303and1.320. The production change was removed. - After rollback, endpoint/Fold equivalence returned to exact zero error and the
Fold ratio passed at
1.280. Fold's remaining cost is dominated by its intentional sine and hyperbolic-tangent character. Those functions should not be approximated without an explicit sound-design decision and perceptual quality contract.
Drum voice cost audit and rejected engine switch (2026-08-30)
- Long-window, eight-voice drum profiles measured Kick Lab around
1.89-2.04%, Snare Lab1.91-2.04%, Hat Lab1.82-2.03%, and Classic Machine's stable cases around1.70-2.67%. This supports the real-project finding that drum cost is cumulative polyphony across several active Pads, not one pathological engine. - The fourteen-engine per-sample conditional dispatch was tested as an explicit
switch. Stable neutral rows changed by only about
-0.02to+0.06callback-load points, while active rows were contaminated by unrelated host spikes. The compiler already optimizes the existing chain effectively, so the production rewrite was removed.
Rejected mono sample interpolation specialization (2026-08-30)
- The 32-voice sample-only fixture initially measured
10.44%. A mono-specific branch avoided copying the left interpolation result to right and averaging the identical pair, while retaining the stereo and memory-mapped paths. - Three specialized runs regressed to
11.52%,11.76%, and14.67%. The compact original path was restored; its verification run passed at11.25%under the then-higher host load, and complete audio safety/continuity passed. - The branch and larger code path cost more than the arithmetic the compiler already simplifies. Sample playback's remaining load scales reasonably with 32 active voices and should not be treated as a defect without a new profile showing a specific avoidable stage.
Rejected centered-pan routing shortcut (2026-08-30)
- Voice routing computes constant-power left/right gains from the final pan value. A candidate exact path replaced both square roots with the established center gain when the final pan was exactly zero; all non-center, automated, random, clip-motion, synth-offset, and MIDI-pan cases retained the existing calculation.
MIXER_LANE_ROUTINGandAUDIO_SAFETY_CONTINUITYpassed, including hard-left, hard-right, lane isolation, processing, and continuity coverage.- Adjacent 64-sample
Basic Groove 5.sskitstage profiles were normalized against each run's loaded-idle routing cost because host load changed between builds. The candidate shared-effects-off render/routing delta was11.017percentage points; the original path measured10.937percentage points. The branch did not provide a repeatable saving, so it was removed and the branch-free production calculation remains.
Rejected disabled-send fetch specialization (2026-08-30)
- Drum and instrument routing normally reads the four primary send levels before testing the corresponding block-level effect/send flags. A candidate nested each read beneath its flag so disabled shared effects would avoid those array accesses.
MIXER_LANE_ROUTING,SHARED_EFFECTS_SIGNAL, andAUDIO_SAFETY_CONTINUITYall passed. This covered channel and bus reverb sends, every shared return, effect disable fades, mixer processing, and finite output.- The 64-sample
Basic Groove 5.sskitprofile did not support retention. Its effects-off row was unstable and substantially slower than the adjacent original build; loaded-idle-normalized render/routing was14.548percentage points for the candidate versus10.937for the original. Because the added branches are paid by every active channel sample and no repeatable gain was demonstrated, the compact original send path was restored.
Mixer EQ analyzer target snapshot (2026-08-30)
- Each active drum and instrument mixer channel previously loaded the atomic EQ analyzer target for every rendered sample, including the normal case where the analyzer is closed. Routing now snapshots that target once per sample and invokes the existing capture writer only for the selected channel. Analyzer selection is still observed at sample granularity, and the atomic ring-buffer writer is unchanged.
MIXER_LANE_ROUTINGpassed with analyzer capture, analyzer mode selection, channel isolation, hard panning, EQ automation, and bus/send coverage intact.- Adjacent focused mixer profiles showed a small one-Pad reduction from
3.110%to3.083%and an eight-Pad reduction from10.810%to10.415%. The 64-Pad stress row was effectively flat within run noise (36.743%original,36.818%candidate). The change is retained as a bounded removal of redundant atomic reads; no broad whole-project percentage claim is made from these short sequential runs.
Empty mixer-bus fast path (2026-08-30)
- The four drum buses and four instrument buses are visited for every rendered sample. An audible bus with an exact zero sum previously still multiplied its channels by gain, wrote two zero samples to the main buffer, checked its reverb send, and updated both meters. Empty bus domains now stop before that work; assigned audio, mute/solo state, gain, reverb sends, and metering are unchanged.
MIXER_LANE_ROUTINGpassed with instrument and drum bus pass-through, mute, reverb-send, persistence, and metering coverage.- In an adjacent focused comparison that retained the analyzer optimization in both
builds, one Pad improved from
3.691%to3.605%, eight Pads from12.621%to12.247%, and one Pad with 63 inactive strips from4.246%to3.695%. The 64-Pad stress row also fell from55.346%to44.683%, but host variability was high enough that this larger reduction is treated only as directional evidence.
Rejected strip-enable block snapshots (2026-08-30)
- Drum and instrument compressor/saturation enable values are consulted by state clearing, transition carry, routing caches, and control smoothing. A candidate loaded all four 64-channel banks once per callback and reused fixed boolean arrays, removing 384 repeated relaxed atomic reads per callback.
MIXER_LANE_ROUTINGpassed with compressor and saturation processing, bypass transitions, isolation, persistence, and finite-output coverage intact.- Adjacent focused evidence did not justify the extra arrays. Eight Pads were flat
(
10.631%original,10.627%candidate), while one Pad favored the original (2.982%versus3.041%) and one Pad plus 63 configured silent strips also favored the original (3.292%versus3.325%). The snapshot candidate was removed; the compact direct-read path remains.
Rejected shared seconds-per-sample cache (2026-08-30)
- Shared voice lifecycle code advances age, release age, and Redshift note/legato
motion clocks with the reciprocal of the current sample rate. A candidate stored
that reciprocal during
prepareToPlay()and reused it for up to four clock advances per Redshift voice sample. VOICE_NEUTRAL_FAST_PATH,AUDIO_SAFETY_CONTINUITY, and the filtered Redshift polyphonic suite passed with finite output and complete release behavior.- Adjacent timing did not support retention. Neutral modulation was close
(
1.474%original,1.438%candidate), but primary oscillator favored the original (1.496%versus1.550%), as did active modulation (1.542%versus2.021%) and metallic partials (1.457%versus1.981%). The member cache was removed; the compiler already handles these invariant divisions effectively in the production renderer.
Static shared-filter modulation bypass (2026-08-30)
- The common post-engine filter already prepared exact tangent and normalization coefficients when cutoff was static. The voice renderer nevertheless calculated envelope progress, velocity and random routes, velocity mode, LFO eligibility, cutoff accumulation, finiteness, and clamping before selecting those cached coefficients. The existing static decision now precedes that dead modulation work. Dynamic envelopes, routes, locked cutoff, velocity response, and LFOs retain the original path and equations.
VOICE_NEUTRAL_FAST_PATHandAUDIO_SAFETY_CONTINUITYpassed. Focused 512-block polyphonic profiles also passed for Propulsion (1.561%), Glass Moon carrier (1.424%) and full operators (1.550%), plus Moonshadow neutral (1.561%) and active spectral/noise (1.607%). These establish bounded realtime behavior; no before/after percentage is claimed without a paired run.SYNTH_CONTROL_QUALITYremains red on its known page-16 geometry/accessibility issue: 27 controls are below the test's target-height requirement. Its audio, gesture, Undo, Redshift-feel, contextual-presentation, cycle-library, and search checks passed; the UI failure is unrelated to this DSP-only change.
Preserved click RNG advancement (2026-08-30)
- The shared click stage draws noise before testing a zero click amount. Skipping that draw appeared to be a neutral optimization, but each voice uses the same RNG for engine noise. Removing the draw would shift later noise samples and alter patches even while Click remained off. The production sequence is deliberately unchanged until click noise has independent state or a sonic migration is chosen.