diff --git a/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_tokenizer.py b/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_tokenizer.py index 785ddedab..503e6bbc8 100644 --- a/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_tokenizer.py +++ b/vllm_omni/model_executor/models/qwen3_tts/qwen3_tts_tokenizer.py @@ -328,7 +328,7 @@ class Qwen3TTSTokenizer: else: # List[Tensor/np] audio_codes_list = [_to_tensor(c, dtype=torch.long) for c in audio_codes_list] - audio_codes_padded = pad_sequence(audio_codes_list, batch_first=True, padding_value=0).to(self.device) + audio_codes_padded = pad_sequence(audio_codes_list, batch_first=True, padding_value=-1).to(self.device) with torch.inference_mode(): if model_type == "qwen3_tts_tokenizer_25hz": diff --git a/vllm_omni/model_executor/models/qwen3_tts/tokenizer_12hz/modeling_qwen3_tts_tokenizer_v2.py b/vllm_omni/model_executor/models/qwen3_tts/tokenizer_12hz/modeling_qwen3_tts_tokenizer_v2.py index 78fc965fe..d3450a485 100644 --- a/vllm_omni/model_executor/models/qwen3_tts/tokenizer_12hz/modeling_qwen3_tts_tokenizer_v2.py +++ b/vllm_omni/model_executor/models/qwen3_tts/tokenizer_12hz/modeling_qwen3_tts_tokenizer_v2.py @@ -991,10 +991,11 @@ class Qwen3TTSTokenizerV2Model(Qwen3TTSTokenizerV2PreTrainedModel): """ return_dict = return_dict if return_dict is not None else self.config.return_dict + audio_lengths = (audio_codes[..., 0] > -1).sum(1) * self.decode_upsample_rate + audio_codes = torch.clamp(audio_codes, min=0) audio_values = self.decoder.chunked_decode(audio_codes.transpose(1, 2)).squeeze(1) - audio_lengths = (audio_codes[..., 0] > 0).sum(1) * self.decode_upsample_rate audio_values = [a[:length] for a, length in zip(audio_values, audio_lengths)] if not return_dict: diff --git a/vllm_omni/model_executor/models/qwen3_tts/tokenizer_25hz/modeling_qwen3_tts_tokenizer_v1.py b/vllm_omni/model_executor/models/qwen3_tts/tokenizer_25hz/modeling_qwen3_tts_tokenizer_v1.py index cf4622fac..bed108ff6 100644 --- a/vllm_omni/model_executor/models/qwen3_tts/tokenizer_25hz/modeling_qwen3_tts_tokenizer_v1.py +++ b/vllm_omni/model_executor/models/qwen3_tts/tokenizer_25hz/modeling_qwen3_tts_tokenizer_v1.py @@ -1508,10 +1508,11 @@ class Qwen3TTSTokenizerV1Model(Qwen3TTSTokenizerV1PreTrainedModel): """ return_dict = return_dict if return_dict is not None else self.config.return_dict + audio_lengths = (audio_codes > -1).sum(1) * self.decode_upsample_rate + audio_codes = torch.clamp(audio_codes, min=0) audio_values = self.decoder(code=audio_codes, reference_mel=ref_mels, conditioning=xvectors) - audio_lengths = (audio_codes > 0).sum(1) * self.decode_upsample_rate audio_values = [a[:length] for a, length in zip(audio_values, audio_lengths)] if not return_dict: