GUÍA

Crea una app web de texto a voz con Gradio

Una pequeña página donde escribes texto y lo oyes con una voz natural es un clásico primer proyecto de IA, una herramienta interna útil y una buena demo de producto. Gradio convierte una función de Python en esa página en pocas líneas, y el motor gratuito SuperClonica aporta la voz en un procesador normal.

Esta guía muestra la app mínima, cómo añadir voces y ajustes y cómo alojarla gratis; nuestra propia demo en Hugging Face Spaces está hecha exactamente así.

Qué vas a construir

Todo funciona dentro de tu proceso de Python: los textos no se envían a ningún servicio de voz.

  • Un cuadro de texto, un selector de voz y un reproductor con botón de descarga.
  • Diez voces de serie y cualquier voz del catálogo que tengas.
  • Funciona en un portátil, un servidor o una CPU gratuita en la nube.
  • Sin tarjeta gráfica ni API de pago.

Escucha primero las voces

Antes de programar, escucha las voces en sus páginas: escribe una frase de 30 a 100 caracteres, elige el idioma y pulsa el botón para generarla. En unos segundos sabrás qué voces ofrecer en tu app.

La app mínima

La salida Audio de Gradio recibe un par de frecuencia de muestreo y array de audio, así que devuelve (rate, audio) en ese orden.

  • Instala ambos paquetes: python -m pip install superclonica-cpu gradio.
  • Escribe la app: import gradio as gr; from superclonica import Superclonica; tts = Superclonica(); def speak(text, voice): audio, rate = tts.synthesize(text, voice=voice, lang="es"); return (rate, audio) — luego gr.Interface(fn=speak, inputs=[gr.Textbox(label="Text"), gr.Dropdown(["F1", "F2", "M1", "M2"], label="Voice")], outputs=gr.Audio()).launch().
  • Ejecuta el archivo con Python y abre la dirección local que muestra Gradio.
  • La primera vez se descarga el modelo Supertonic 3, unos 385 MB; después arranca en segundos.

Voces, velocidad y muchos usuarios

Añade voces del catálogo pasando la ruta de un archivo de voz en lugar de F1 o F2, y ofrece un desplegable de idiomas con los códigos de los 31 idiomas compatibles. La velocidad se cambia en el motor, por ejemplo tts.speed = 1.1, entre 0.7 y 2.0. Crea el motor una vez al principio del archivo y, cuando varias personas usen la app a la vez, envuelve la llamada en un threading lock para que las peticiones vayan por turnos.

Alójala gratis

Hugging Face Spaces ejecuta apps de Gradio en CPU gratuita: pon el archivo en un Space como app.py con un requirements.txt que incluya superclonica-cpu, y el Space lo construye. Nuestra propia demo de SuperClonica funciona así con dos núcleos de CPU compartidos. Limita la longitud del texto en una app pública y ofrece solo voces que puedas compartir: las voces de serie son gratis con la licencia del modelo, mientras que las voces compradas del catálogo son para tus propios proyectos.