#291·dia

Inference issues with Dia-1.6B: very short audio, extremely long noisy audio, or no audio output

Author: manhcuong17072002Created Jan 4, 2026Updated Jan 4, 2026

Hi, I’m encountering some issues during inference when experimenting with the official code from this repository: https://huggingface.co/nari-labs/Dia-1.6B-0626

I’m using the following minimal example:

python
import soundfile as sf
from dia.model import Dia

model = Dia.from_pretrained("nari-labs/Dia-1.6B-0626")

text = "[S1] Dia is an open weights text to dialogue model. [S2] You get full control over scripts and voices. [S1] Wow. Amazing. (laughs) [S2] Try it now on GitHub or Hugging Face."

output = model.generate(text)

sf.write("simple.mp3", output, 44100)

However, I frequently observe the following problems:

  1. Very short output audio

    • The generated audio has an extremely short length (e.g. shape is only 1024, 2048, etc.), resulting in almost 0 seconds of audio.
Image
  1. Extremely long and noisy output audio

    • For a very short input text, the model sometimes generates a very long audio output.
    • Besides the spoken content, the output includes unrelated noise, music-like signals, or other artifacts that are not related to the input text.
Image
  1. No audio output at all

    • In some cases, the model fails to generate any audio and instead raises an error.
bash
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[7], line 32
     28 try:
     29     # Generate audio
     30     start_time = time.time()
---> 32     output_audio = model.generate(
     33         text=text,
     34         # max_tokens=MAX_TOKENS,
     35         # cfg_scale=CFG_SCALE,
     36         # temperature=TEMPERATURE,
     37         # top_p=TOP_P,
     38     )
     40     print("✓ Audio generation complete!")
     41     print(f"Audio shape: {output_audio.shape}")

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/utils/_contextlib.py:116, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    113 @functools.wraps(func)
    114 def decorate_context(*args, **kwargs):
    115     with ctx_factory():
--> 116         return func(*args, **kwargs)

File /workspace/dia-finetuning/dia/model.py:464, in Dia.generate(self, text, max_tokens, cfg_scale, temperature, top_p, use_cfg_filter, use_torch_compile, cfg_filter_top_k, audio_prompt_path)
    460 output_codes = generated_BxTxC[:, prompt_len_inc_bos : step + 1, :]
    462 generated_codes = output_codes[0]
--> 464 audio = codebook_to_audio(
    465     generated_codes.transpose(1, 0), self.dac_model, delay_pattern, B=1, T=max_tokens, C=num_channels
    466 )
    467 return audio.squeeze().cpu().numpy()

File /workspace/dia-finetuning/dia/audio.py:281, in codebook_to_audio(generated_codes, model, delay_pattern, B, T, C)
    279 # Set invalid values to 0 (modify the tensor in-place)
    280 codebook[invalid_mask] = 0
--> 281 audio_array = decode(model, codebook)
    283 return audio_array

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/utils/_contextlib.py:116, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    113 @functools.wraps(func)
    114 def decorate_context(*args, **kwargs):
    115     with ctx_factory():
--> 116         return func(*args, **kwargs)

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/utils/_contextlib.py:116, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    113 @functools.wraps(func)
    114 def decorate_context(*args, **kwargs):
    115     with ctx_factory():
--> 116         return func(*args, **kwargs)

File /workspace/dia-finetuning/dia/audio.py:236, in decode(model, audio_codes)
    231     raise ValueError(f"Expected one frame, got {len(audio_codes)}")
    233 try:
    234     # print(audio_codes.shape)
    235     # print(audio_codes)
--> 236     audio_values = model.quantizer.from_codes(audio_codes)
    237     audio_values = model.decode(audio_values[0])
    239     return audio_values

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/dac/nn/quantize.py:218, in ResidualVectorQuantize.from_codes(self, codes)
    215     z_p_i = self.quantizers[i].decode_code(codes[:, i, :])
    216     z_p.append(z_p_i)
--> 218     z_q_i = self.quantizers[i].out_proj(z_p_i)
    219     z_q = z_q + z_q_i
    220 return z_q, torch.cat(z_p, dim=1), codes

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/nn/modules/module.py:1739, in Module._wrapped_call_impl(self, *args, **kwargs)
   1737     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
   1738 else:
-> 1739     return self._call_impl(*args, **kwargs)

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/nn/modules/module.py:1845, in Module._call_impl(self, *args, **kwargs)
   1842     return inner()
   1844 try:
-> 1845     return inner()
   1846 except Exception:
   1847     # run always called hooks if they have not already been run
   1848     # For now only forward hooks have the always_call option but perhaps
   1849     # this functionality should be added to full backward hooks as well.
   1850     for hook_id, hook in _global_forward_hooks.items():

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/nn/modules/module.py:1793, in Module._call_impl.<locals>.inner()
   1790     bw_hook = BackwardHook(self, full_backward_hooks, backward_pre_hooks)
   1791     args = bw_hook.setup_input_hook(args)
-> 1793 result = forward_call(*args, **kwargs)
   1794 if _global_forward_hooks or self._forward_hooks:
   1795     for hook_id, hook in (
   1796         *_global_forward_hooks.items(),
   1797         *self._forward_hooks.items(),
   1798     ):
   1799         # mark that always called hook is run

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/nn/modules/conv.py:375, in Conv1d.forward(self, input)
    374 def forward(self, input: Tensor) -> Tensor:
--> 375     return self._conv_forward(input, self.weight, self.bias)

File ~/miniconda3/envs/dia-tts/lib/python3.12/site-packages/torch/nn/modules/conv.py:370, in Conv1d._conv_forward(self, input, weight, bias)
    358 if self.padding_mode != "zeros":
    359     return F.conv1d(
    360         F.pad(
    361             input, self._reversed_padding_repeated_twice, mode=self.padding_mode
   (...)    368         self.groups,
    369     )
--> 370 return F.conv1d(
    371     input, weight, bias, self.stride, self.padding, self.dilation, self.groups
    372 )

RuntimeError: Calculated padded input size per channel: (0). Kernel size: (1). Kernel size can't be greater than actual input size

These issues happen quite frequently in my experiments. I’m wondering if anyone else has encountered similar behavior, and whether there are any known causes or recommended workarounds to mitigate these issues.

Thank you very much for your help.