Skip to content

Kokoro local TTS produces garbled speech with WebGPU on AMD Radeon 890M (works correctly with WASM) #4

Description

@AIWerkstatt

Summary

On a Linux system with an AMD Radeon 890M (Ryzen AI HX370), Liteforms' local Kokoro TTS produces unintelligible/"mumbled" speech when using the WebGPU backend.

The exact same model produces perfectly clear speech when forced to use the WASM backend.

This appears to be specific to the browser/WebGPU inference path rather than Kokoro itself.

Environment

Hardware
Minisforum AI X1 Pro with AMD Ryzen AI 9 HX370 and AMD Radeon 890M (gfx1150).

Software
Fresh installation (July 15th, 2026) of Ubuntu 24.04 LTS (Wayland, Linux 6.17.0-40-generic).

sudo apt install mesa-utils vulkan-tools mesa-vulkan-drivers
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb

Run Liteform online in Chrome

google-chrome https://liteforms.lookingglassfactory.com/
--ozone-platform=x11
--enable-unsafe-webgpu
--enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan
--use-vulkan
Test voice provides garbled speech!!!

See file created from chrome://gpu for more details.

about-gpu-2026-07-16T06-11-40-383Z.txt

Run liteforms-web GitHub

sudo apt install git npm
git clone https://github.com/Looking-Glass/liteforms-web
cd liteforms-web
npm install
npm audit fix
npm run dev
google-chrome http://localhost:3000/
--ozone-platform=x11
--enable-unsafe-webgpu
--enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan
--use-vulkan
Test voice provides garbled speech!!!

Fix audio bug with Kokoro local TTS

nano workers/kokoro.worker.ts
function getKokoro(
...
const key = ${request.model}:${request.dtype}:wasm;
...
const created = KokoroTTS.from_pretrained(request.model, {
...
device: "wasm",
...
npm run dev
google-chrome http://localhost:3000/
--ozone-platform=x11
--enable-unsafe-webgpu
--enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan
--use-vulkan
Test voice provides clear speech!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions