AudioLDM2 encode → decode, before and after the mel filterbank fix

Each clip's SAM-Audio residual — the audio track of the edit task's pseudo ground truth — encoded to a latent and decoded back, against the latent currently stored in javisdit_feature/audio_tgt.

What broke. TacotronSTFT was ported off librosa in an uncommitted local edit and picked up torchaudio's defaults on the way:
melscale_fbanks(..., norm=None,     mel_scale="htk")     # what shipped
melscale_fbanks(..., norm="slaney", mel_scale="slaney")  # librosa == AudioLDM
norm=None leaves every triangular filter at peak 1.0 instead of dividing by its bandwidth — 122× more total filterbank weight, +41.7 dB, before any audio is involved. AudioLDM2's VAE and HiFi-GAN are frozen pretrained and render mel on an absolute scale, so every clip decoded clipping and ~23 dB hot.

Headphones help. The broken version is loud — the players start muted at a safe level, unmute per clip.

Per-clip

log-mel correlation against the original, mean absolute log-mel error, and RMS level error. Spectrograms share one colour scale per clip.

16 kHz mono, 81 frames @ 16 fps (5.06 s), 64 mel bins. Encoding uses the posterior .mean. The fix is verified identical to librosa_mel_fn to 4.6e-08. Video latents never touch the mel path and are unaffected.