Replace complex weight restoration workaround with a simple one-line config fix.
The root cause: Step-Audio-EditX model config was missing 'tie_word_embeddings'
setting, so transformers 4.54+ defaulted to True and tied lm_head to embed_tokens
even though the checkpoint has different weights for each.
Solution: Add 'tie_word_embeddings': false to config.json to prevent tying.
This is much simpler and cleaner than the previous safetensors weight restoration
approach. One line in config.json fixes the issue for all transformers versions.
- Filter out empty audio segments before processing to prevent dimension errors
- Normalize tensor dimensions before crossfade operations
- Handle mixed 1D/2D tensors properly in both simple and crossfade concatenation
- Fixes 'too many indices for tensor of dimension 1' error
- Prevents empty segments from causing 0.00s audio generation issues
- Handle mixed 1D/2D tensor dimensions properly in concatenation mode
- Fix IndexError when accessing dimension 1 on 1D tensors
- Add proper tensor normalization for consistent concatenation
- Support both mono (1D) and stereo (2D) audio segments in same sequence
Fix SRT overlapping functionality system-wide
Technical implementation:
- Add unified timing mode routing in AudioAssemblyEngine with assemble_by_timing_mode()
- Fix ChatterBox Official 23-Lang processor to use correct assembly method for pad_with_silence mode
- Now properly uses assemble_with_overlaps() instead of assemble_smart_natural() for overlaps
- All engines (ChatterBox, F5-TTS, Higgs Audio, VibeVoice) now handle overlaps consistently
- Resolves audio being cut off when SRT segments overlap in timing