raw
history blame
1.18 kB
import streamlit as st
import requests
import base64
import os
from dotenv import load_dotenv
# Cargar variables del .env
load_dotenv()
API_URL = "https://api-inference.huggingface.co/models/espnet/kan-bayashi_ljspeech_vits"
HF_TOKEN = os.getenv("TOKEN") # ← OBTENIDO DESDE .env
if HF_TOKEN is None:
st.error("❌ ERROR: No se encontró la variable TOKEN en el .env")
st.stop()
headers = {"Authorization": f"Bearer {HF_TOKEN}"}
def text_to_speech(text):
payload = {"inputs": text}
response = requests.post(API_URL, headers=headers, json=payload)
return response.content
st.title("Texto a Voz Accesible")
st.write("Aplicación para personas con discapacidades visuales o cognitivas.")
texto = st.text_area("Escribe el texto que quieres convertir a audio")
if st.button("Generar Audio"):
if texto.strip() == "":
st.warning("Introduce texto para convertir.")
else:
audio_bytes = text_to_speech(texto)
st.audio(audio_bytes, format="audio/wav")
st.download_button(
label="Descargar audio",
data=audio_bytes,
file_name="voz_generada.wav",
mime="audio/wav",
)