Skip to content

Irodori-TTS Vulkan codec decoder produces corrupted audio on Intel Iris Xe, CPU codec works correctly #188

Description

@datkun92-code

Title: Irodori-TTS Vulkan codec decoder produces corrupted audio on Intel Iris Xe, CPU codec works correctly

Environment

  • audio.cpp: latest main branch
  • Backend: Vulkan
  • GPU: Intel Iris Xe Graphics (TGL GT2)
  • Driver: Intel Mesa Vulkan
  • OS: Linux (Debian via Distrobox)
  • Model: Irodori-TTS v4 Small Q8

Problem

I found a Vulkan-specific issue in the Irodori-TTS codec decoder.

When running the full pipeline on Vulkan, generated WAV output becomes corrupted (mostly noise/static).

However, if I keep:

  • Condition Encoder = Vulkan
  • RF Sampler = Vulkan
  • Codec Decoder = CPU

the generated speech becomes completely correct.

This suggests the issue is inside the codec decoder Vulkan path rather than RF sampling.

Evidence

RF sampler output looks normal:

LATENT_RANGE -4.644324 4.728831

When codec decoder runs on Vulkan:

DECODE_WAV_RANGE -2678900660450312629594952949856993280.000000 31.729752

Output audio is corrupted.

When codec decoder runs on CPU:

DECODE_WAV_RANGE -0.810733 0.999992

Output audio is correct.

Additional notes

I traced the issue down to the codec decode path:

build_irodori_codec_decode(...)

Potentially related operations:

Snake1dModule
ConvTranspose1dModule
SliceModule

The most suspicious component is:

ggml_conv_transpose_1d

because:

  • latent values entering the decoder are valid
  • CPU decoder produces correct audio
  • Vulkan decoder produces invalid waveform values

Temporary workaround

Creating a separate CPU ExecutionContext only for:

IrodoriCodec

while keeping RF sampler on Vulkan fixes the issue completely.

If needed, I can provide a patch and additional logs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions