Kyutai TTS Entegrasyonu
Kyutai TTS modellerini yerel çalıştırın. Bu kılavuz Libre WebUI içindeki OpenAI uyumlu sunucularla Pocket TTS (CPU) ve TTS 1.6B (GPU) modellerini kapsar.
Genel Bakış
| Model | Parametre | Aygıt | En Uygun |
|---|---|---|---|
| Pocket TTS | 100M | Yalnız CPU | Dizüstü ve düşük kaynak |
| TTS 1.6B | 1.6B | GPU/MPS/CPU | Sunucu ve yüksek kaliteli sentez |
İkisi de CALM (Continuous Audio Language Models) kullanır ve ses örneğinden klonlamayı destekler.
Pocket TTS (CPU)
GPU gerektirmeden CPU’da gerçek zamanlı çalışan hafif TTS.
Gereksinimler
| Bileşen | Asgari |
|---|---|
| Python | 3.10 - 3.14 |
| PyTorch | 2.5+ |
| RAM | 4GB |
| Disk | 500MB |
Hızlı Başlangıç
cd examples/kyutai-tts-server
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Start server
python server.py
Sunucu http://localhost:8200 adresindedir.
Test
curl http://localhost:8200/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "kyutai-tts", "input": "Hello, welcome to Libre WebUI!", "voice": "alba"}' \
--output speech.wav
Sesler
| Ses | Açıklama |
|---|---|
| Alba | Kadın, açık ve doğal |
| Marius | Erkek, sıcak |
| Javert | Erkek, otoriter |
| Jean | Erkek, yumuşak |
| Fantine | Kadın, yumuşak |
| Cosette | Kadın, genç |
| Eponine | Kadın, ifadeli |
| Azelma | Kadın, parlak |
Performans
- MacBook Air M4’te yaklaşık 6x gerçek zaman
- İlk ses parçasına yaklaşık 200ms
- Yalnız 2 CPU çekirdeği
TTS 1.6B (GPU)
GPU hızlandırmalı yüksek kalite. Otomatik seçim: CUDA > MPS > CPU.
Gereksinimler
| Bileşen | Asgari | Önerilen |
|---|---|---|
| Python | 3.10+ | 3.12 |
| GPU VRAM | 6GB | 8GB+ |
| RAM | 8GB | 16GB+ |
| Disk | 4GB | 8GB |
Platform Desteği
| Platform | Backend | Notlar |
|---|---|---|
| NVIDIA GPU | CUDA | En iyi performans, bfloat16 |
| Apple Silicon | MPS | float16 |
| CPU | PyTorch | Daha yavaş, float32 |
Hızlı Başlangıç
cd examples/kyutai-tts-1.6b-server
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install PyTorch with CUDA (for NVIDIA GPUs)
pip install torch --index-url https://download.pytorch.org/whl/cu121
# Install dependencies
pip install -r requirements.txt
# Start server (auto-detects GPU)
python server.py
Sunucu http://localhost:8201 adresindedir.
Aygıt Seçimi
# Auto-detect (CUDA > MPS > CPU)
python server.py
# Force specific device
python server.py --device cuda
python server.py --device mps
python server.py --device cpu
Test
curl http://localhost:8201/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "kyutai-tts-1.6b", "input": "Hello from the GPU!", "voice": "alba"}' \
--output speech.wav
Sesler
Alba MacKenna (CC BY 4.0):
| Ses | Tarz |
|---|---|
alba / alba-casual | Gündelik konuşma |
alba-merchant | Tüccar karakteri |
alba-announcer | Spiker tarzı |
Expresso (CC BY-NC 4.0 — ticari olmayan):
| Ses | Duygu |
|---|---|
expresso-happy | Mutlu |
expresso-sad | Üzgün |
expresso-angry | Kızgın |
VCTK (CC BY 4.0):
vctk-p225,vctk-p226,vctk-p227,vctk-p228
Ses Klonlama
İki sunucu da ses dosyalarından klonlar.
Pocket TTS
# From local file
curl http://localhost:8200/v1/audio/voice-clone \
-F "input=Hello from a cloned voice" \
-F "reference_audio=@my_voice.wav" \
--output cloned.wav
# From HuggingFace URL
curl http://localhost:8200/v1/audio/voice-clone-url \
-H "Content-Type: application/json" \
-d '{
"input": "Hello world!",
"voice_url": "hf://kyutai/tts-voices/alba-mackenna/casual.wav"
}' \
--output speech.wav
TTS 1.6B
Her HuggingFace ses yolunu voice olarak verin:
curl http://localhost:8201/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "kyutai-tts-1.6b",
"input": "Custom voice synthesis",
"voice": "hf://kyutai/tts-voices/vctk/p230.wav"
}' \
--output speech.wav
API Başvurusu
Konuşma Üretimi
Uç: POST /v1/audio/speech
{
"model": "kyutai-tts",
"input": "Text to convert to speech",
"voice": "alba",
"response_format": "wav",
"stream": false
}
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | string | değişir | kyutai-tts veya kyutai-tts-1.6b |
input | string | gerekli | En çok 10,000 karakter |
voice | string | alba | Ses adı veya HuggingFace yolu |
response_format | string | wav | Yalnız wav |
stream | boolean | false | Yalnız Pocket TTS akışı |
cfg_coef | float | 2.0 | Yalnız 1.6B sınıflandırıcısız yönlendirme |
Yanıt: Ses dosyası (audio/wav)
OpenAI Ses Takma Adları
| OpenAI Sesi | Pocket TTS | TTS 1.6B |
|---|---|---|
alloy | alba | alba |
echo | marius | vctk-p225 |
fable | cosette | expresso-happy |
onyx | javert | vctk-p226 |
nova | fantine | alba-announcer |
shimmer | eponine | alba-merchant |
Sesleri Listeleme
Uç: GET /v1/voices
Sağlık Kontrolü
Uç: GET /health
Eklenti Yapılandırması
Pocket TTS
Ayarlar > Eklentiler > Kyutai TTS içinde etkinleştirin.
Dosya: plugins/kyutai-tts.json
{
"id": "kyutai-tts",
"name": "Kyutai TTS",
"type": "tts",
"endpoint": "http://localhost:8200/v1/audio/speech",
"capabilities": {
"tts": {
"config": {
"voices": [
"Alba",
"Marius",
"Javert",
"Jean",
"Fantine",
"Cosette",
"Eponine",
"Azelma"
],
"default_voice": "Alba",
"supports_streaming": true,
"no_auth_required": true
}
}
}
}
TTS 1.6B
Ayarlar > Eklentiler > Kyutai TTS 1.6B içinde etkinleştirin.
Dosya: plugins/kyutai-tts-1.6b.json
{
"id": "kyutai-tts-1.6b",
"name": "Kyutai TTS 1.6B",
"type": "tts",
"endpoint": "http://localhost:8201/v1/audio/speech",
"capabilities": {
"tts": {
"config": {
"voices": [
"Alba",
"Alba-Casual",
"Alba-Merchant",
"Alba-Announcer",
"Expresso-Happy",
"Expresso-Sad",
"Expresso-Angry",
"VCTK-P225",
"VCTK-P226"
],
"default_voice": "Alba",
"supports_streaming": true,
"no_auth_required": true
}
}
}
}
Ağ Erişimi
# Start server on all interfaces
python server.py --host 0.0.0.0
# Access from another machine
curl http://192.168.1.100:8200/v1/audio/speech ...
{
"endpoint": "http://192.168.1.100:8200/v1/audio/speech"
}
Sorun Giderme
Model İndirilemiyor
# Set token for gated models
export HF_TOKEN=hf_...
CUDA Belleği Yetersiz
- Diğer GPU uygulamalarını kapatın
- Daha az bellek için
cfg_coef=1.5deneyin - CPU tabanlı Pocket TTS kullanın
Ses Kalitesi Sorunları
- Robotik ses: Başka ses deneyin
- Kesilen ses: Metin uzun olabilir; sunucu otomatik böler
- Yanlış telaffuz: Model İngilizce ve Fransızca için iyileştirilmiştir
MPS (Apple Silicon) Sorunları
RuntimeError: MPS backend error
1.6B MPS’te float16 kullanır. Sorun sürerse CPU’yu zorlayın:
python server.py --device cpu
Qwen3-TTS ile Karşılaştırma
| Özellik | Kyutai Pocket | Kyutai 1.6B | Qwen3-TTS |
|---|---|---|---|
| Parametreler | 100M | 1.6B | 0.6B-1.7B |
| GPU Gerekli | Hayır | İsteğe bağlı | Evet |
| Diller | İngilizce | EN/FR | 10 dil |
| Ses Klonlama | Evet | Evet | Evet |
| Ses Tasarımı | Hayır | Hayır | Evet |
| Bağlantı noktası | 8200 | 8201 | 8100 |
Basit İngilizce kullanım için Kyutai, çok dilli ve ses tasarımı için Qwen3-TTS seçin.
Kaynaklar
- Kyutai TTS — resmi proje
- Pocket TTS GitHub — CPU modeli
- Delayed Streams Modeling — 1.6B modeli
- Ses Koleksiyonu — sesler
- Model Kartı — teknik ayrıntılar