mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-16 06:03:26 -05:00
[GH-ISSUE #19063] TTS not working in Open-WebUi #138488
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @iSamPrime on GitHub (Nov 9, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19063
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.36 (latest)
Ollama Version (if applicable)
ollama/ollama:rocm
Operating System
Ubuntu 24.04.3 LTS
Browser (if applicable)
Brave
Confirmation
README.md.Expected Behavior
I have just installed ollama and open-webui in a stock with portainer + nginx proxy manager. works
Trying different models. works
The default STT is working (faster-whisper base model) works
Actual Behavior
TTS does not work when clicking the play button on the chat response.
It just keep loading for ever.
I tried enabling Auto-playback response but it did not make any differens.
I tried the Transformers (Local) with different models or even leaving a blank but no luck what so ever. It just keep loading like that.
Steps to Reproduce
R7 4750G
DDR4 64GB
2x Mi50 32GB.
HDD for the data
NVMe the models and the cache.
Ubuntu 24.04.3 LTS
ZFS pool for the HDD.
Drivers:
sudo apt update
sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
sudo apt install python3-setuptools python3-wheel
sudo usermod -a -G render,video $LOGNAME
wget https://repo.radeon.com/amdgpu-install/7.0.2/ubuntu/noble/amdgpu-install_7.0.2.70002-1_all.deb
sudo apt install ./amdgpu-install_7.0.2.70002-1_all.deb
sudo amdgpu-install -y --usecase=graphics,rocm
sudo usermod -a -G render,video $LOGNAME
Docker
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
Portainer
curl -L https://downloads.portainer.io/ce-lts/portainer-compose.yaml -o portainer-compose.yaml
portainer-compose.yaml:
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
ports:
- 9443:9443
- 8000:8000 # Remove if you do not intend to use Edge Agents
volumes:
portainer_data:
name: portainer_data
networks:
default:
name: portainer_network
docker compose -f portainer-compose.yaml up -d
Nginx Proxy manager
Yaml file:
version: "3"
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- /home/sam/data/docker/npm/data/data
- /home/sam/data/docker/npm/letsencrypt:/etc/letsencrypt
restart: unless-stopped
The yaml file of both Ollama and Open-WebUi:
version: '3.8'
networks:
ai:
driver: bridge
nginx_proxy:
name: nginx_proxy_manager_default
external: true
services:
ollama:
image: ollama/ollama:rocm
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
devices:
# Only MI50 GPUs - excluding iGPU (renderD130)
- /dev/kfd
- /dev/dri/card1
- /dev/dri/card2
- /dev/dri/renderD128
- /dev/dri/renderD129
volumes:
# Store Ollama models
- /home/sam/nvme/ai/ollama:/root/.ollama
environment:
# MI50 is GFX906 architecture
- HSA_OVERRIDE_GFX_VERSION=9.0.6
# Use both MI50 GPUs for large models (e.g., 70B)
- ROCR_VISIBLE_DEVICES=0,1
- OLLAMA_KEEP_ALIVE=30m
group_add:
- video
ipc: host
networks:
- ai
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "3000:8080"
volumes:
# Store Open WebUI data (chats, users, settings, uploads)
- /home/sam/nvme/ai/open-webui/cache:/app/backend/data/cache
- /home/sam/data/ai/open-webui:/app/backend/data
Logs & Screenshots
Open-WebUi - Console in the browser:
The log of Open-WebUi container:
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 182, in __call__ with recv_stream, send_stream, collapse_excgroups(): File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 184, in __call__ response = await self.dispatch_func(request, call_next) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/backend/open_webui/main.py", line 1256, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette_compress/ __init__ .py", line 92, in __call__ return await self._zstd(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in __call__ await self.app(scope, receive, wrapper) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 123, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 109, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 387, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 288, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/backend/open_webui/routers/audio.py", line 544, in speech load_speech_pipeline(request) File "/app/backend/open_webui/routers/audio.py", line 325, in load_speech_pipeline request.app.state.speech_speaker_embeddings_dataset = load_dataset( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/datasets/load.py", line 1392, in load_dataset builder_instance = load_dataset_builder( ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/datasets/load.py", line 1132, in load_dataset_builder dataset_module = dataset_module_factory( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/datasets/load.py", line 1031, in dataset_module_factory raise e1 from None File "/usr/local/lib/python3.11/site-packages/datasets/load.py", line 989, in dataset_module_factory raise RuntimeError(f"Dataset scripts are no longer supported, but found {filename}") RuntimeError: Dataset scripts are no longer supported, but found cmu-arctic-xvectors.py 2025-11-09 12:20:50.966 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2025-11-09 12:21:09.796 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:21:16.970 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:21:24.967 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:21:33.463 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2025-11-09 12:21:33.472 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2025-11-09 12:21:33.479 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2025-11-09 12:21:38.927 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/all/tags HTTP/1.1" 200 2025-11-09 12:21:38.928 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/05a0cb14-7d84-4f4a-a21b-766f7f2061ee HTTP/1.1" 200 2025-11-09 12:21:38.939 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/all/tags HTTP/1.1" 200 2025-11-09 12:21:38.948 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /api/v1/chats/all/tags HTTP/1.1" 200 2025-11-09 12:22:09.798 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:22:17.967 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:22:24.969 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:23:09.817 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:23:24.966 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:24:09.847 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:24:24.963 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:24:35.043 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:25:09.815 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:25:35.055 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:26:09.826 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:26:24.962 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:26:35.069 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:27:09.836 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:27:24.964 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:27:35.085 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:28:09.846 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:28:35.098 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:29:09.958 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:29:24.960 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200 2025-11-09 12:29:35.106 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - MyDomainName:0 - "GET /_app/version.json HTTP/1.1" 200Additional Information
No response
@Classic298 commented on GitHub (Nov 9, 2025):
Please give your issue a title
And:
+1 replicated something like this yesterday
@rgaricano commented on GitHub (Nov 9, 2025):
duplicated: https://github.com/open-webui/open-webui/discussions/16301
is related with dataset lib (there are workarounds in the thread)
@iSamPrime commented on GitHub (Nov 9, 2025):
In #16301 They say it worked using an older version of the huggingface dataset (if I understood correctly)
so I tried adding this to my yaml file and redeployed :
environment:
- EXTRA_PIP_PACKAGES=datasets==3.6.0
Did not make any differens
(Sorry for missing the title name, it is the first time I create an issue thread. fixed now)
@rgaricano commented on GitHub (Nov 9, 2025):
try with:
docker exec open-webui bash -lc "pip install datasets==3.6.0" && docker restart open-webui( with this you force to install datasets==3.6.0 in the docker and restart the docker, but it isn't a permanent fix)
& if it work you can use that launch or rebuild the docker...
@rgaricano commented on GitHub (Nov 9, 2025):
also you can check the installed python dataset lib in the docker with:
docker exec open-webui bash -lc "pip show dataset"