Arabictts / app.py
mohamed101020's picture
Create app.py
bc5ef40 verified
from fairseq.checkpoint_utils import load_model_ensemble_and_task_from_hf_hub
from fairseq.models.text_to_speech.hub_interface import TTSHubInterface
import gradio as gr
import torchaudio
# تحميل النموذج مرة واحدة
models, cfg, task = load_model_ensemble_and_task_from_hf_hub(
"facebook/tts_transformer-ar-cv7",
arg_overrides={"vocoder": "hifigan", "fp16": False}
)
model = models[0]
TTSHubInterface.update_cfg_with_data_cfg(cfg, task.data_cfg)
generator = task.build_generator(model, cfg)
def synthesize(text):
sample = TTSHubInterface.get_model_input(task, text)
wav, rate = TTSHubInterface.get_prediction(task, model, generator, sample)
# حفظ الملف مؤقتًا
path = "output.wav"
torchaudio.save(path, wav.unsqueeze(0), rate)
return path
interface = gr.Interface(
fn=synthesize,
inputs=gr.Textbox(label="أدخل نصاً باللغة العربية"),
outputs=gr.Audio(label="الناتج الصوتي"),
title="تحويل النص إلى صوت بالعربية",
description="باستخدام النموذج: facebook/tts_transformer-ar-cv7"
)
interface.launch()