mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-15 21:19:39 -05:00
[GH-ISSUE #2256] enhancement: better tts #83553
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 @LebToki on GitHub (May 14, 2024).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/2256
Problem:
The current implementation of Whisper in Open-WebUI uses a limited, robotic voice for all interactions.
While this is functional, it can be jarring and unnatural, making it difficult for users to engage with the interface.
Solution:
I would like to see the addition of more voices to Open-WebUI, specifically ones that are less robotic and more natural-sounding. This would improve the overall user experience and make the interface more enjoyable to interact with.
Alternatives considered:
I've considered using third-party voice libraries or integrating existing voice assistants, but these would require significant modifications to the Open-WebUI codebase. I've also considered using text-to-speech software, but these often lack the emotional expression and nuance of human speech.
Additional context:
The Whisper implementation in Open-WebUI is a great step forward in providing a more natural-sounding interface, but adding more voices would take it to the next level. This would be especially beneficial for users who rely heavily on voice interfaces for daily tasks, such as seniors or individuals with disabilities.
Some potential voices to consider adding include:
By adding more voices to Open-WebUI, we can create a more engaging and immersive experience for users, making it easier for them to interact with the interface and achieve their goals.
@zhewang1-intc commented on GitHub (May 14, 2024):
echo, i think this is a valuable feature.
@cheahjs commented on GitHub (May 14, 2024):
Whisper isn't a text to speech model, it handles speech to text.
Currently there's two options for text to speech on Open WebUI, one is generated locally on your browser using the Web Speech API, and another by calling out to an OpenAI-compatible text to speech API. The local one uses whatever the browser provides, which is typically the OS's text to speech models. On the OpenAI front, some in the community have deployed LocalAI or OpenedAI Speech to provide self-hosted TTS models.
@MichaelFomenko commented on GitHub (May 14, 2024):
Local Speech Models:
@boshk0 commented on GitHub (May 20, 2024):
OpenVoice would be great addition to OpenWebUI!
https://github.com/myshell-ai/OpenVoice
@kevin070982 commented on GitHub (Jun 3, 2024):
I can only recommend to use the solution provided by UXVirtual.
When you run Open WebUI in Docker then take a look here: https://github.com/open-webui/open-webui/issues/126#issuecomment-2078407480.
Easy Steps:
Clone https://github.com/matatonic/openedai-speech
Run
docker compose -f docker-compose.min.yml upfor a minimal docker image with only piper TTs support <1GB (CPU only)or
Run
docker compose upfor the HD version but requires around 4GB GPU VRAMThen add the below lines to the TTS Settings under Audio in the Open WebUI Settings.
following voices can be changed under Set Voice:
alloy
echo
echo-alt
fable
onyx
nova
shimmer
Enjoy more naturally sounding voice.
@ErroneousBosch commented on GitHub (Jun 13, 2024):
There is a very nice solution in piper that has good language support and really high quality voices:
https://github.com/rhasspy/piper
@reneil1337 commented on GitHub (Jun 19, 2024):
I'd love to see one of the suggestions made here integrated. favorably the ability to integrated an entirely onprem solution with easy, more-straight forward cloud services as options/alternatives
@justinh-rahb commented on GitHub (Jun 19, 2024):
We've for a while supported adding external OpenAI-compatible TTS and STT APIs now.
@chrishart0 commented on GitHub (Jun 21, 2024):
Here's my setup for using openedai-speech which mocks the openai TTS api to run local models to generate text-to-speech.
My Repo: https://github.com/chrishart0/open-webui-nvidia-cuda-setup
The important part is I added a openedai-speech container in my docker-compose.yaml
I populate the needed configs for openedai-speech, which is these two files pre_process_map.default.yaml, voice_to_speaker.default.yaml
Then I configure the local API in the TTS settings. In my repo I do this via an .env file, but you could just do it through the open web UI GUI too:

If you've got a GPU that supports CUDA you should be able to use my repo. If you have any questions just let me know.
@PeterHagen commented on GitHub (Aug 4, 2024):
For additional information, Piper is also available through the Wyoming protocol, which can provide fast responses. This is implemented for use in Home Assistant. A Docker image is also available. For me Piper runs fine without a GPU. Might be an interesting option, in my opinion.
@thiswillbeyourgithub commented on GitHub (Aug 23, 2024):
Just fyi, the very fine folks over at openedai-speech are currently implementing automatic language detection for piper. Meaning it will transparently switch voices that are trained on the detected language in the sentence etc. It's in the dev branch