Off-screen sound source — audio with no visual anchor

What this stresses: Audio that cannot be read off the pixels. Tests whether the audio branch invents a source or honours a described one it can never see.
960×544 · 124f (5.17 s) · 24 fps · seed 424242 · identical prompt in every cell. Same seed does not mean same take — steps, sampler and LoRA all change the trajectory, so judge character rather than shot-for-shot identity.

prompt
integrated_multimodal_description:
[Shot 1] A photorealistic static shot of an empty suburban kitchen at night, lit only by the open refrigerator door casting a cold white wedge across brown linoleum, a half-drunk glass of milk on the counter, a wall clock reading 2:10. Nothing enters the frame at any point. From 0.0 to 1.4 seconds the room is still, the fridge humming. At the 1.5-second mark a heavy door slams somewhere off-screen to the right and the glass on the counter trembles visibly. From 2.0 seconds an unseen man, (S1), calls out from another room in a muffled, sleep-thick baritone: <d>[English] Is somebody down there?</d> ending at 3.4 seconds. From 3.6 to 5.0 seconds the room stays empty and silent except for the fridge, the light unchanged. The camera never moves and no person is ever visible.

overall_soundscape:
A refrigerator compressor hum fills the whole clip at a low steady level. A heavy off-screen door slam at 1.5 seconds, hard and close. (S1)'s call at 2.0 seconds is clearly off-screen and muffled, as if through a wall and down a staircase, with room reverb and no close-mic presence. A faint glass rattle at 1.7 seconds.

non_diegetic_music:
N/A
baseline · 20 steps
No LoRA. The reference render.
166s · floor -61.0 · med -52.1 · peak -8.4 dB · jitter 8.8 · detail 0.245
ema-ckpt500 · 8 steps
larryvrh/drbaph Turbo LoRA, EMA weights. Round-3 winner.
76s · floor -68.3 · med -52.7 · peak -9.5 dB · jitter 5.8 · detail 0.206
ckpt500 (non-EMA) · 8 steps
Same checkpoint without EMA averaging. Dragged a noise bed in round 3 — re-tested here under the fixed audio path.
77s · floor -54.4 · med -43.3 · peak 0.6 dB · jitter 12.5 · detail 0.293
lightx2v · 4 steps · str 1.0
ModelTC reference settings.
45s · floor -57.4 · med -43.8 · peak 3.1 dB · jitter 70.8 · detail 0.275
lightx2v · 4 steps · str 1.0 · shift 12/6
Reference settings with our house audio shift.
45s · floor -64.3 · med -51.7 · peak 2.6 dB · jitter 73.7 · detail 0.278
lightx2v · 4 steps · str 1.0 · er_sde
Isolates the sampler at full strength.
45s · floor -70.1 · med -53.0 · peak 0.8 dB · jitter 58.0 · detail 0.204
lightx2v · 4 steps · str 0.75
Isolates strength on the reference sampler.
45s · floor -57.6 · med -43.6 · peak 2.7 dB · jitter 26.5 · detail 0.305
lightx2v · 4 steps · str 0.75 · shift 12/6
Lower strength with the house shift.
45s · floor -69.2 · med -52.5 · peak 3.4 dB · jitter 26.4 · detail 0.279
lightx2v · 4 steps · str 0.75 · er_sde
Kijai's recommended config. Pilot winner on jitter and luma.
45s · floor -71.2 · med -44.7 · peak -3.7 dB · jitter 18.7 · detail 0.190
lightx2v · 8 steps · str 1.0
Double the trained step count, reference settings.
77s · floor -58.9 · med -42.6 · peak 1.8 dB · jitter 65.6 · detail 0.236
lightx2v · 8 steps · str 1.0 · shift 12/6
Double steps with the house shift.
76s · floor -61.4 · med -42.9 · peak 1.3 dB · jitter 64.0 · detail 0.236
lightx2v · 8 steps · str 0.75 · er_sde
Kijai's config given twice the steps.
76s · floor -62.4 · med -50.3 · peak -5.8 dB · jitter 42.3 · detail 0.233
baseline · 20 steps + Spectrum
No LoRA, plus SpectrumApplyMiniMaxH3 (v0.1.9 defaults: degree 1, warmup 1, one-point bootstrap) skipping DiT evaluations.
107s · floor -66.8 · med -48.5 · peak -11.4 dB · jitter 2.0 · detail 0.252
ema-ckpt500 · 8 steps + Spectrum
Turbo LoRA and Spectrum stacked. Only possible since Spectrum v0.1.9 — the old warmup_steps=5 default left no forecastable window at 8 steps.
61s · floor -67.2 · med -50.4 · peak -10.3 dB · jitter 10.0 · detail 0.267
ema-ckpt500 · 8 steps + SageAttention
Turbo LoRA with SageAttention 2.2.0 (KJNodes patch, backend auto). Unlike Spectrum, Sage preserves the take — 0.955 frame correlation against plain emck8.
50s · floor -68.9 · med -52.6 · peak -6.1 dB · jitter 7.5 · detail 0.194
ema-ckpt500 · 8 steps + Sage + Spectrum
Everything stacked: the fastest usable config here, at the cost of a different take (the drift is Spectrum's, not Sage's).
42s · floor -68.6 · med -53.0 · peak -11.1 dB · jitter 27.7 · detail 0.254
baseline · 20 steps + SageAttention
Isolates the attention backend with no LoRA in play. Near-identical output to the reference render (0.974 correlation).
99s · floor -59.4 · med -51.1 · peak -6.7 dB · jitter 6.9 · detail 0.195
baseline · 20 steps + Sol-Attn
NVIDIA Sol-Attn sparse attention via the H3 zero-copy patch (tau 1.0, sink_conditioning exact_kv). Changes the take substantially — 0.723 correlation.
100s · floor -60.2 · med -45.9 · peak -6.0 dB · jitter 17.6 · detail 0.267
ema-ckpt850 · 8 steps
larryvrh's further-trained EMA checkpoint — the file he recommends — against the ckpt500 used everywhere else here.
76s · floor -61.9 · med -50.0 · peak -7.2 dB · jitter 11.5 · detail 0.313
v4-step600 EMA · 8 steps
larryvrh's new v4 training recipe (step 600, EMA) — a different training line, not a further ckpt of the 500/850 series. Single-variable swap against emck8, the round-4 winner: same steps, sampler, scheduler, shift and strength.
77s · floor -54.0 · med -44.0 · peak -0.0 dB · jitter 10.1 · detail 0.218
v4-step600 non-EMA · 8 steps
The same v4 checkpoint without EMA averaging. Re-runs the EMA axis on the new recipe — on the v1 line the gap was 6.3 dB of noise floor (emck8 −5.6 vs ck8 +0.7).
77s · floor -48.4 · med -36.3 · peak 1.1 dB · jitter 7.4 · detail 0.266
v4-step600 EMA · 8 steps · euler + beta
drbaph's recommended config for the pruned conversion we load: 8 steps, euler, beta scheduler. Varies sampler *and* scheduler against the rest of the grid, so it is only readable against v4e8, not against the res_multistep columns.
77s · floor -60.2 · med -45.4 · peak -1.1 dB · jitter 9.4 · detail 0.274
v4-step600 EMA · 4 steps
Probes the one regression larryvrh documents for v4: motion smear / trailing ghosting at 4 steps under fast motion, which 6–8 steps is said to remove. rapid-cuts, hands-dexterity and polyphony-foreground are where it should show.
45s · floor -45.4 · med -34.9 · peak 2.2 dB · jitter 58.5 · detail 0.403
v4-step600 EMA · 8 steps + SageAttention
Re-bases the production accelerator onto v4. emck8-sage (45 s, 3.66×, 0.955 correlation) is the current production config; if v4e8 dethrones emck8 this is what replaces it. Sage is an attention-backend swap and so should be weight-independent — this checks that.
50s · floor -53.9 · med -43.3 · peak -3.9 dB · jitter 8.3 · detail 0.254
ema-ckpt500 · 8 steps · euler + beta
Control for v4e8-eb, which varies LoRA, sampler and scheduler at once. Putting drbaph's euler+beta on the weights we already have 10 scenes of isolates the sampler/scheduler axis, so an eb win can be attributed to the config rather than to v4.
77s · floor -66.2 · med -51.8 · peak -3.8 dB · jitter 7.6 · detail 0.239

Measured

configtimefloormedianpeakjitterdetailraw detailluma
baseline · 20 steps166s-61.0-52.1-8.48.80.24528139.1
ema-ckpt500 · 8 steps76s-68.3-52.7-9.55.80.20631143.5
ckpt500 (non-EMA) · 8 steps77s-54.4-43.30.612.50.29354948.0
lightx2v · 4 steps · str 1.045s-57.4-43.83.170.80.275107064.9
lightx2v · 4 steps · str 1.0 · shift 12/645s-64.3-51.72.673.70.278108565.3
lightx2v · 4 steps · str 1.0 · er_sde45s-70.1-53.00.858.00.20462952.1
lightx2v · 4 steps · str 0.7545s-57.6-43.62.726.50.30592659.7
lightx2v · 4 steps · str 0.75 · shift 12/645s-69.2-52.53.426.40.27987460.8
lightx2v · 4 steps · str 0.75 · er_sde45s-71.2-44.7-3.718.70.19055652.1
lightx2v · 8 steps · str 1.077s-58.9-42.61.865.60.23681160.9
lightx2v · 8 steps · str 1.0 · shift 12/676s-61.4-42.91.364.00.23683161.6
lightx2v · 8 steps · str 0.75 · er_sde76s-62.4-50.3-5.842.30.23376264.8
baseline · 20 steps + Spectrum107s-66.8-48.5-11.42.00.25221929.4
ema-ckpt500 · 8 steps + Spectrum61s-67.2-50.4-10.310.00.26720228.3
ema-ckpt500 · 8 steps + SageAttention50s-68.9-52.6-6.17.50.19428140.9
ema-ckpt500 · 8 steps + Sage + Spectrum42s-68.6-53.0-11.127.70.25422630.0
baseline · 20 steps + SageAttention99s-59.4-51.1-6.76.90.19528637.7
baseline · 20 steps + Sol-Attn100s-60.2-45.9-6.017.60.26726234.4
ema-ckpt850 · 8 steps76s-61.9-50.0-7.211.50.31348743.5
v4-step600 EMA · 8 steps77s-54.0-44.0-0.010.10.21842943.7
v4-step600 non-EMA · 8 steps77s-48.4-36.31.17.40.26638138.9
v4-step600 EMA · 8 steps · euler + beta77s-60.2-45.4-1.19.40.27429735.4
v4-step600 EMA · 4 steps45s-45.4-34.92.258.50.403100162.7
v4-step600 EMA · 8 steps + SageAttention50s-53.9-43.3-3.98.30.25436338.8
ema-ckpt500 · 8 steps · euler + beta77s-66.2-51.8-3.87.60.23923332.6
Rendered on ComfyUI 0.30.0 at commit 344b4398 (2026-08-07, "Support asym w4a8_int (#15308)") · torch 2.12.1+cu130 · NVIDIA GeForce RTX 5080, 15.4 GB
Custom nodes: ComfyUI-Spectrum-MiniMax-H3 1a06e20 (v0.1.9) — used by the two Spectrum columns only · comfyui-kjnodes 1.4.9 · ComfyUI-sol-attn 251c27f
All 14 columns rendered on this single ComfyUI commit. It postdates bdcb886a (MiniMax audio-sampler rework, merged 2026-08-06), which is why round-3 clips are archived separately rather than mixed in.