Ugrás a fő tartalomra

Kyutai TTS-integráció

Futtassa helyben a Kyutai TTS-modelljeit kiváló minőségű szövegfelolvasáshoz. Ez az útmutató a Pocket TTS (CPU) és a TTS 1.6B (GPU) használatát is bemutatja, a Libre WebUI-hoz mellékelt OpenAI-kompatibilis szerverekkel.

Áttekintés

A Kyutai két TTS-modellt kínál:

ModellParaméterekEszközLegjobb felhasználás
Pocket TTS100MCsak CPULaptopok, erőforrás-szegény környezetek
TTS 1.6B1.6BGPU/MPS/CPUSzerverek, kiváló minőségű szintézis

Mindkettő a CALM (Continuous Audio Language Models) keretrendszert használja, és támogatja a hangmintákból történő hangklónozást.

Pocket TTS (CPU)

Könnyű TTS, amely valós időben fut CPU-n. Nem szükséges GPU.

Követelmények

ÖsszetevőMinimum
Python3.10 - 3.14
PyTorch2.5+
RAM4GB
Disk500MB

Gyors kezdés

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

A szerver a http://localhost:8200 címen fut.

Tesztelés

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

Hangok

HangLeírás
AlbaNői, tiszta és természetes
MariusFérfi, meleg tónusú
JavertFérfi, tekintélyes
JeanFérfi, lágy
FantineNői, finom
CosetteNői, fiatalos
EponineNői, kifejező
AzelmaNői, élénk

Teljesítmény

  • ~6× valós idejű sebesség MacBook Air M4-en
  • ~200ms késleltetés az első hangtöredékig
  • Csak 2 CPU-magot használ

TTS 1.6B (GPU)

Kiváló minőségű TTS GPU-gyorsítással. Automatikus eszközválasztás: CUDA > MPS > CPU.

Követelmények

ÖsszetevőMinimumAjánlott
Python3.10+3.12
GPU VRAM6GB8GB+
RAM8GB16GB+
Disk4GB8GB

Platformtámogatás

PlatformBackendMegjegyzések
NVIDIA GPUCUDALegjobb teljesítmény, bfloat16-támogatás
Apple SiliconMPSfloat16 használata
CPUPyTorchLassabb, float32

Gyors kezdés

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

A szerver a http://localhost:8201 címen fut.

Eszközválasztás

# 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

Tesztelés

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

Hangok

Alba MacKenna (CC BY 4.0):

HangStílus
alba / alba-casualKötetlen beszélgetés
alba-merchantKereskedő karakter
alba-announcerBemondói stílus

Expresso (CC BY-NC 4.0 - non-commercial):

HangÉrzelem
expresso-happyVidám
expresso-sadSzomorú
expresso-angryMérges

VCTK (CC BY 4.0):

  • vctk-p225, vctk-p226, vctk-p227, vctk-p228

Hangklónozás

Mindkét szerver támogatja a hangfájlokból történő hangklónozást.

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

A voice paraméterként bármely HuggingFace hangútvonal megadható:

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-referencia

Beszédgenerálás

API-cím: POST /v1/audio/speech

{
"model": "kyutai-tts",
"input": "Text to convert to speech",
"voice": "alba",
"response_format": "wav",
"stream": false
}
ParaméterTípusAlapértékLeírás
modelstringváltozókyutai-tts vagy kyutai-tts-1.6b
inputstringkötelezőSzintetizálandó szöveg (legfeljebb 10,000 karakter)
voicestringalbaHangnév vagy HuggingFace-útvonal
response_formatstringwavHangformátum (csak wav támogatott)
streambooleanfalseStreaming engedélyezése (csak Pocket TTS)
cfg_coeffloat2.0Osztályozó nélküli irányítás (csak 1.6B)

Válasz: Hangfájl (audio/wav)

OpenAI-hangálnevek

Az OpenAI TTS-kliensekkel való kompatibilitáshoz:

OpenAI-hangPocket TTSTTS 1.6B
alloyalbaalba
echomariusvctk-p225
fablecosetteexpresso-happy
onyxjavertvctk-p226
novafantinealba-announcer
shimmereponinealba-merchant

Hangok felsorolása

API-cím: GET /v1/voices

Állapotellenőrzés

API-cím: GET /health


Bővítménybeállítás

Pocket TTS

Engedélyezze a Beállítások > Bővítmények > Kyutai TTS alatt

Bővítményfájl: 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

Engedélyezze a Beállítások > Bővítmények > Kyutai TTS 1.6B alatt

Bővítményfájl: 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
}
}
}
}

Hálózati hozzáférés

Más gépekről történő hozzáféréshez:

# 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 ...

Ennek megfelelően frissítse a bővítmény endpointját:

{
"endpoint": "http://192.168.1.100:8200/v1/audio/speech"
}

Hibaelhárítás

A modell letöltése sikertelen

A modellek első futtatáskor a HuggingFace-ről töltődnek le:

# Set token for gated models
export HF_TOKEN=hf_...

Elfogyott a CUDA-memória

TTS 1.6B használata korlátozott VRAM-mal:

  1. Zárja be a többi GPU-alkalmazást
  2. Próbálja a cfg_coef=1.5 értéket kisebb memóriahasználathoz
  3. Használja helyette a CPU-alapú Pocket TTS-t

Hangminőségi problémák

  • Robotszerű hang: Próbáljon másik hangot
  • Levágott hang: Lehet, hogy a szöveg túl hosszú; a szerver automatikusan felosztja
  • Hibás kiejtés: A modell angolra és franciára optimalizált

MPS-problémák (Apple Silicon)

RuntimeError: MPS backend error

Az 1.6B modell MPS-en float16-ot használ. Ha a problémák fennállnak, kényszerítse a CPU használatát:

python server.py --device cpu

Összehasonlítás a Qwen3-TTS modellel

FunkcióKyutai PocketKyutai 1.6BQwen3-TTS
Paraméterek100M1.6B0.6B-1.7B
GPU szükségesNemOpcionálisIgen
NyelvekAngolEN/FR10 nyelv
HangklónozásIgenIgenIgen
HangtervezésNemNemIgen
Port820082018100

Válassza a Kyutait angolra összpontosító felhasználáshoz és egyszerűbb beállításhoz. Többnyelvű támogatáshoz és hangtervezési funkciókhoz válassza a Qwen3-TTS-t.


Források