Lightweight Gradio based WebUI for orpheusTTS - WSL / Linux [CUDA]
110
stars
52
commits
Python
primary language
Nov 19, 2025
updated
This is a fork of the Orpheus TTS project, adding a Gradio WebUI that runs smoothly on WSL and CUDA.
https://github.com/user-attachments/assets/5e441285-b10f-4149-b691-df061c5ddcbb
# Clone the repository
git clone https://github.com/Saganaki22/OrpheusTTS-WebUI.git
cd OrpheusTTS-WebUI
# Run the setup script
chmod +x setup_orpheus.sh
./setup_orpheus.sh
# Launch the app
./launch_orpheus.sh
The WebUI provides access to all 8 voices in order of conversational realism:
Add emotion to your speech with tags:
<laugh><chuckle><sigh><cough><sniffle><groan><yawn><gasp>The new Long Form feature lets you generate speech for larger text inputs:
This is ideal for:
If you encounter "KV cache" errors, the setup script should address these automatically. If problems persist, try:
max_model_len in the orpheus_wrapper.py filegpu_memory_utilization to a lower value (0.7-0.8)Orpheus TTS is an open-source text-to-speech system built on the Llama-3b backbone. Orpheus demonstrates the emergent capabilities of using LLMs for speech synthesis. We offer comparisons of the models below to leading closed models like Eleven Labs and PlayHT in our blog post.
https://github.com/user-attachments/assets/ce17dd3a-f866-4e67-86e4-0025e6e87b8a
We provide three models in this release, and additionally we offer the data processing scripts and sample datasets to make it very straightforward to create your own finetune.
Finetuned Prod – A finetuned model for everyday TTS applications
Pretrained – Our base model trained on 100k+ hours of English speech data
The finetune-prod models: for the primary model, your text prompt is formatted as {name}: I went to the .... The options for name in order of conversational realism (subjective benchmarks) are "tara", "jess", "leo", "leah", "dan", "mia", "zac", "zoe". Our python package does this formatting for you, and the notebook also prepends the appropriate string. You can additionally add the following emotive tags: <laugh>, <chuckle>, <sigh>, <cough>, <sniffle>, <groan>, <yawn>, <gasp>.
The pretrained model: you can either generate speech just conditioned on text, or generate speech conditioned on one or more existing text-speech pairs in the prompt. Since this model hasn't been explicitly trained on the zero-shot voice cloning objective, the more text-speech pairs you pass in the prompt, the more reliably it will generate in the correct voice.
Additionally, use regular LLM generation args like temperature, top_p, etc. as you expect for a regular LLM. repetition_penalty>=1.1is required for stable generations. Increasing repetition_penalty and temperature makes the model speak faster.
Here is an overview of how to finetune your model on any text and speech. This is a very simple process analogous to tuning an LLM using Trainer and Transformers.
You should start to see high quality results after ~50 examples but for best results, aim for 300 examples/speaker.
finetune/config.yaml file to include your dataset and training properties, and run the training script. You can additionally run any kind of huggingface compatible process like Lora to tune the model.
pip install transformers datasets wandb trl flash_attn torch
huggingface-cli login <enter your HF token>
wandb login <wandb token>
accelerate launch train.py
Python
90.8%
Shell
5.8%
HTML
3.4%
Lightweight Gradio based WebUI for orpheusTTS - WSL / Linux [CUDA]
110
stars
52
commits
Python
primary language
Nov 19, 2025
updated
This is a fork of the Orpheus TTS project, adding a Gradio WebUI that runs smoothly on WSL and CUDA.
https://github.com/user-attachments/assets/5e441285-b10f-4149-b691-df061c5ddcbb
# Clone the repository
git clone https://github.com/Saganaki22/OrpheusTTS-WebUI.git
cd OrpheusTTS-WebUI
# Run the setup script
chmod +x setup_orpheus.sh
./setup_orpheus.sh
# Launch the app
./launch_orpheus.sh
The WebUI provides access to all 8 voices in order of conversational realism:
Add emotion to your speech with tags:
<laugh><chuckle><sigh><cough><sniffle><groan><yawn><gasp>The new Long Form feature lets you generate speech for larger text inputs:
This is ideal for:
If you encounter "KV cache" errors, the setup script should address these automatically. If problems persist, try:
max_model_len in the orpheus_wrapper.py filegpu_memory_utilization to a lower value (0.7-0.8)Orpheus TTS is an open-source text-to-speech system built on the Llama-3b backbone. Orpheus demonstrates the emergent capabilities of using LLMs for speech synthesis. We offer comparisons of the models below to leading closed models like Eleven Labs and PlayHT in our blog post.
https://github.com/user-attachments/assets/ce17dd3a-f866-4e67-86e4-0025e6e87b8a
We provide three models in this release, and additionally we offer the data processing scripts and sample datasets to make it very straightforward to create your own finetune.
Finetuned Prod – A finetuned model for everyday TTS applications
Pretrained – Our base model trained on 100k+ hours of English speech data
The finetune-prod models: for the primary model, your text prompt is formatted as {name}: I went to the .... The options for name in order of conversational realism (subjective benchmarks) are "tara", "jess", "leo", "leah", "dan", "mia", "zac", "zoe". Our python package does this formatting for you, and the notebook also prepends the appropriate string. You can additionally add the following emotive tags: <laugh>, <chuckle>, <sigh>, <cough>, <sniffle>, <groan>, <yawn>, <gasp>.
The pretrained model: you can either generate speech just conditioned on text, or generate speech conditioned on one or more existing text-speech pairs in the prompt. Since this model hasn't been explicitly trained on the zero-shot voice cloning objective, the more text-speech pairs you pass in the prompt, the more reliably it will generate in the correct voice.
Additionally, use regular LLM generation args like temperature, top_p, etc. as you expect for a regular LLM. repetition_penalty>=1.1is required for stable generations. Increasing repetition_penalty and temperature makes the model speak faster.
Here is an overview of how to finetune your model on any text and speech. This is a very simple process analogous to tuning an LLM using Trainer and Transformers.
You should start to see high quality results after ~50 examples but for best results, aim for 300 examples/speaker.
finetune/config.yaml file to include your dataset and training properties, and run the training script. You can additionally run any kind of huggingface compatible process like Lora to tune the model.
pip install transformers datasets wandb trl flash_attn torch
huggingface-cli login <enter your HF token>
wandb login <wandb token>
accelerate launch train.py
Python
90.8%
Shell
5.8%
HTML
3.4%