Views
No views yet
| Backend | Type | Installation |
|---|---|---|
| Llama.cpp Python Bindings | Python | ✅ Installed by default |
| Llama.cpp Server | Python | ✅ Installed by default |
| Llama.cpp Server Async (Batched) | Python | ✅ Installed by default |
| Hugging Face Transformers | Python | ✅ Installed by default |
| ExLlamaV2 & ExLlamaV2 Async (Batched) | Python | ❌ Requires manual installation |
| VLLM (Batched) Experimental support | Python | ❌ Requires manual installation |
| Transformers.js | JavaScript | NPM package |
| Llama.cpp Directly | C++ | External library |

pip install outetts --upgradeCMAKE_ARGS="-DGGML_CUDA=on" pip install outetts --upgradeCMAKE_ARGS="-DGGML_HIPBLAS=on" pip install outetts --upgradeCMAKE_ARGS="-DGGML_VULKAN=on" pip install outetts --upgradeCMAKE_ARGS="-DGGML_METAL=on" pip install outetts --upgrade[!TIP] Currently, only one default English voice is available for testing.You can easily create your own speaker profiles in just a few lines by following this guide:
1import outetts
2
3# Initialize the interface
4interface = outetts.Interface(
5 config=outetts.ModelConfig.auto_config(
6 model=outetts.Models.VERSION_1_0_SIZE_1B,
7 # For llama.cpp backend
8 backend=outetts.Backend.LLAMACPP,
9 quantization=outetts.LlamaCppQuantization.FP16
10 # For transformers backend
11 # backend=outetts.Backend.HF,
12 )
13)
14
15# Load the default speaker profile
16speaker = interface.load_default_speaker("EN-FEMALE-1-NEUTRAL")
17
18# Or create your own speaker profiles in seconds and reuse them instantly
19# speaker = interface.create_speaker("path/to/audio.wav")
20# interface.save_speaker(speaker, "speaker.json")
21# speaker = interface.load_speaker("speaker.json")
22
23# Generate speech
24output = interface.generate(
25 config=outetts.GenerationConfig(
26 text="Hello, how are you doing?",
27 speaker=speaker,
28 )
29)
30
31# Save to file
32output.save("output.wav")[!IMPORTANT] Important Sampling ConsiderationsWhen using OuteTTS version 1.0, it is crucial to use the settings specified in the Sampling Configuration section. The repetition penalty implementation is particularly important - this model requires penalization applied to a 64-token recent window, rather than across the entire context window. Penalizing the entire context will cause the model to produce broken or low-quality output.To address this limitation, all necessary samplers and patches for all backends are set up automatically in the outetts library. If using a custom implementation, ensure you correctly implement these requirements.
interface.decode_and_save_speaker(speaker=your_speaker, path="speaker.wav")| Parameter | Value |
|---|---|
| Temperature | 0.4 |
| Repetition Penalty | 1.1 |
| Repetition Range | 64 |
| Top-k | 40 |
| Top-p | 0.9 |
| Min-p | 0.05 |