Spaces:
Runtime error
Runtime error
File size: 2,024 Bytes
534b180 05b40ca 534b180 05b40ca aae2796 70a7607 aae2796 70a7607 aae2796 05b40ca 70a7607 05b40ca 70a7607 05b40ca |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
import os
import gradio as gr
import torch
from fairseq.checkpoint_utils import load_model_ensemble_and_task_from_hf_hub
from huggingface_hub import login
# Obtener el token desde las variables de entorno
hf_token = os.getenv("HF_TOKEN")
if hf_token is None:
raise ValueError("Debe proporcionar un token de Hugging Face en las variables de entorno.")
# Ingresar el token
login(hf_token)
# Intentar cargar el modelo
# Load model directly
processor = AutoProcessor.from_pretrained("ovieyra21/es_speecht5_tts_mabama")
model = AutoModelForTextToSpectrogram.from_pretrained("ovieyra21/es_speecht5_tts_mabama")
try:
models, cfg, task = load_model_ensemble_and_task_from_hf_hub("ovieyra21/es_speecht5_tts_mabama")
if not models:
raise RuntimeError("No se pudo cargar el modelo. Asegúrate de que el nombre del modelo es correcto y que está disponible en Hugging Face Hub.")
model = models[0]
except Exception as e:
raise RuntimeError(f"Error al cargar el modelo: {e}")
# Función para generar la salida de texto a voz
def text_to_speech(text):
try:
# Preprocesamiento del texto
tokens = task.source_dictionary.encode_line(text, add_if_not_exist=False)
# Generar salida de audio
with torch.no_grad():
sample = {"net_input": {"src_tokens": tokens.unsqueeze(0).long()}}
generator = task.build_generator([model], cfg.generation)
audio = task.inference_step(generator, [model], sample)
return audio[0][0].numpy()
except Exception as e:
return f"Error en la generación de audio: {e}"
# Crear interfaz de Gradio
iface = gr.Interface(
fn=text_to_speech,
inputs=gr.inputs.Textbox(lines=2, placeholder="Ingrese el texto aquí..."),
outputs=gr.outputs.Audio(type="numpy", label="Output Audio"),
title="Conversor de Texto a Voz",
description="Ingrese texto para convertirlo a voz utilizando el modelo speecht5_tts_mabama_es."
)
if __name__ == "__main__":
iface.launch()
|