fix: padding value process bug in tokenizer decode
This commit is contained in:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "qwen-tts"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
description = "Qwen-TTS python package"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.9"
|
||||
|
||||
@@ -1009,10 +1009,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[:l] for a, l in zip(audio_values, audio_lengths)]
|
||||
|
||||
if not return_dict:
|
||||
|
||||
@@ -1509,12 +1509,13 @@ 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[:l] for a, l in zip(audio_values, audio_lengths)]
|
||||
|
||||
if not return_dict:
|
||||
|
||||
@@ -326,7 +326,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":
|
||||
|
||||
Reference in New Issue
Block a user