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:
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:
while keeping RF sampler on Vulkan fixes the issue completely.
If needed, I can provide a patch and additional logs.
Title: Irodori-TTS Vulkan codec decoder produces corrupted audio on Intel Iris Xe, CPU codec works correctly
Environment
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:
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:
When codec decoder runs on Vulkan:
Output audio is corrupted.
When codec decoder runs on CPU:
Output audio is correct.
Additional notes
I traced the issue down to the codec decode path:
build_irodori_codec_decode(...)Potentially related operations:
The most suspicious component is:
because:
Temporary workaround
Creating a separate CPU ExecutionContext only for:
while keeping RF sampler on Vulkan fixes the issue completely.
If needed, I can provide a patch and additional logs.