fix(sa3): use the monotonic audio-to-audio schedule - #320
Merged
Conversation
ryanontheinside
force-pushed
the
ryanontheinside/chore/sa3-current-upstream-pin
branch
from
August 17, 2026 19:16
3395004 to
b00a1f2
Compare
ryanontheinside
force-pushed
the
ryanontheinside/fix/sa3-monotonic-a2a-schedule
branch
from
August 17, 2026 19:16
8322c5c to
edbd8e6
Compare
Base automatically changed from
ryanontheinside/chore/sa3-current-upstream-pin
to
main
August 18, 2026 09:52
Move SA3_VENDOR_SHA to the combined fork pin (current Stability main + the TRT integer-attribute fix + the normalized-then-scaled schedule ordering). The schedule change is host-side Python only; the SAME-L plugin source is unchanged between the previous pin and this one, so SA3_SAME_L_PLUGIN_REVISION stays put and the existing versioned decoder engine is reused.
leszko
force-pushed
the
ryanontheinside/fix/sa3-monotonic-a2a-schedule
branch
from
August 18, 2026 09:54
edbd8e6 to
ca16f4a
Compare
* Pin SA3 to current upstream and version SAME-L plugins Move the managed SA3 source from the old FP8 development lineage to current upstream plus the rebased TensorRT integer-attribute fix. The current upstream SAME-L plugin bakes its AOT/JIT implementation into the serialized engine. Include the plugin revision and implementation choice in the engine name and metadata so stale decoders are ignored instead of being paired with incompatible plugin code. Keep the plugin revision stable across unrelated vendor bumps so they do not force a 1.2 GB decoder rebuild. Existing engines remain beside the new artifact for rollback. Also accept git worktrees as DEMON_SA3_SRC overrides. * fix(sa3): pin the vendored SA3 to the monotonic audio-to-audio schedule Move SA3_VENDOR_SHA to the combined fork pin (current Stability main + the TRT integer-attribute fix + the normalized-then-scaled schedule ordering). The schedule change is host-side Python only; the SAME-L plugin source is unchanged between the previous pin and this one, so SA3_SAME_L_PLUGIN_REVISION stays put and the existing versioned decoder engine is reused. * Map the SA3 denoise knob onto measured audio change Keep the upstream-corrected monotonic schedule, but map the product dial to entry sigma using the inverse of the measured change curve. This spreads useful movement across the control instead of concentrating it near the top. The mapping is deliberately presented as a product choice, not another sampler fix: its referee is validated for ordering rather than equal perceptibility, and one global curve moves different material at different rates. DEMON_SA3_DENOISE_MAPPING=identity bypasses it while retaining the upstream schedule correction.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One-line vendor pin bump:
SA3_VENDOR_SHAmoves to960da1f, the forkbranch combining the plugin fix already pinned by #319 with the
audio-to-audio schedule fix (Stability PR #94: build and warp a
normalized schedule, scale by sigma_max, then pin the first point).
Without it, any audio-to-audio run at
sigma_max < 1gets anon-monotonic schedule whose interior points exceed the requested noise
level.
SA3_SAME_L_PLUGIN_REVISIONstays atc076985: verified ancestorof the new pin, and the delta touches only schedule files, so existing
tagged engines remain valid.
Validation (2026-08-17)
steps {1,4,8,16} x {no shift, LogSNR} plus batched seq_len: 123 cells,
0 failures (exact endpoints, monotone, bounded, TRT and TFLite match
the reference). The old pin fails 76 of these cells.
sigma_max = 1(plain text-to-audio) is bit-identical: schedules matchexactly and a fixed-seed end-to-end generation reproduces the same
latent across the pin move.
(vendor auto-moved on restart, versioned engine reselected, denoise
sweeps clean, 0 stale ticks).
Merge handoff
Second in the stack: merge after #319, before #321. No engine rebuilds
needed (plugin revision unchanged). Upstreaming of the schedule fix
itself is tracked separately in Stability PR #94; DEMON does not wait on
it.