diff --git a/README.md b/README.md index dea3959..4ca7a48 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ +# FORK DISCLAIMER + +This is a fork of [LuxTTS](https://github.com/ysharma3501/LuxTTS) applying the fix for [this](https://github.com/ysharma3501/LuxTTS/issues/23) issue. Any changes to that repo should be merged into this one for compatibility. + +--- + # LuxTTS

diff --git a/zipvoice/modeling_utils.py b/zipvoice/modeling_utils.py index f4e621d..b8253ca 100644 --- a/zipvoice/modeling_utils.py +++ b/zipvoice/modeling_utils.py @@ -82,6 +82,14 @@ def generate(prompt_tokens, prompt_features_lens, prompt_features, prompt_rms, t # Convert to waveform pred_features = pred_features.permute(0, 2, 1) / 0.1 + + # FIX: Padding for the Vocoder + # We take the last frame and repeat it 15 times (approx 150ms buffer) + # This gives Vocos enough data to finish the previous sound without cutting it. + last_frame = pred_features[:, :, -1:] + padding_frames = last_frame.repeat(1, 1, 15) + pred_features = torch.cat([pred_features, padding_frames], dim=2) + wav = vocoder.decode(pred_features).squeeze(1).clamp(-1, 1) # Volume matching