tts / app.py
alidw's picture
Update app.py
fb5ec37 verified
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from transformers import AutoTokenizer, VitsModel
import torch
import soundfile as sf
import io
app = FastAPI()
# تحميل موديل MMS-TTS العربي من Meta
tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-ara")
model = VitsModel.from_pretrained("facebook/mms-tts-ara")
@app.post("/tts")
async def tts_endpoint(text: str):
"""
تستقبل نص عربي وترجع ملف صوت WAV
"""
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform # (1, num_samples)
audio = output.squeeze().cpu().numpy()
buffer = io.BytesIO()
sf.write(buffer, audio, 16000, format="WAV")
buffer.seek(0)
return StreamingResponse(buffer, media_type="audio/wav")
# مهم جداً: تشغيل السيرفر على البورت 7860 عشان Hugging Face Spaces
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=7860)