TTS / app.py
UserYO's picture
Create app.py
d4bd31b verified
Raw
History Blame Contribute Delete
905 Bytes
from fastapi import FastAPI, Response
from pydantic import BaseModel
from kokoro import KPipeline
import soundfile as sf
import io
app = FastAPI()
# Initialisation du moteur pour le français (lang_code 'f')
pipeline = KPipeline(lang_code='f')
# Format de la requête attendue
class TTSRequest(BaseModel):
input: str
voice: str = "fr_f_claire" # Voix française par défaut
@app.get("/")
def home():
return {"status": "En ligne", "message": "Kokoro TTS Français est prêt !"}
@app.post("/v1/audio/speech")
async def generate_audio(request: TTSRequest):
# Génération de la voix
generator = pipeline(request.input, voice=request.voice, speed=1.0)
# Récupération et formatage de l'audio
for _, _, audio in generator:
out = io.BytesIO()
sf.write(out, audio, 24000, format='wav')
return Response(content=out.getvalue(), media_type="audio/wav")