Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,12 @@
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
# Creamos un modelo de resumen más ligero
|
6 |
resumidor = pipeline("summarization", model="t5-small")
|
@@ -18,13 +24,13 @@ def transformar_texto(archivo):
|
|
18 |
texto = f.read()
|
19 |
except Exception as e:
|
20 |
raise gr.Error(f"Error al leer el archivo: {e}")
|
21 |
-
|
22 |
# Limitación para la versión gratuita
|
23 |
max_palabras = 1000 # Puedes ajustar este número
|
24 |
num_palabras = len(texto.split())
|
25 |
if num_palabras > max_palabras:
|
26 |
raise gr.Error(f"El texto excede el límite de {max_palabras} palabras para la versión gratuita.")
|
27 |
-
|
28 |
try:
|
29 |
# Resumimos el texto
|
30 |
resumen = resumidor(
|
@@ -36,7 +42,7 @@ def transformar_texto(archivo):
|
|
36 |
)[0]['summary_text']
|
37 |
except Exception as e:
|
38 |
raise gr.Error(f"Error al resumir el texto: {e}")
|
39 |
-
|
40 |
try:
|
41 |
# Generamos una conversación basada en el resumen
|
42 |
prompt = f"Crear una conversación entre dos personas sobre: {resumen}"
|
@@ -48,22 +54,21 @@ def transformar_texto(archivo):
|
|
48 |
)[0]['generated_text']
|
49 |
except Exception as e:
|
50 |
raise gr.Error(f"Error al generar la conversación: {e}")
|
51 |
-
|
52 |
-
#
|
53 |
-
|
54 |
try:
|
55 |
-
|
56 |
-
f.write(conversacion)
|
57 |
except Exception as e:
|
58 |
-
raise gr.Error(f"Error al
|
59 |
-
|
60 |
-
return
|
61 |
|
62 |
# Creamos la interfaz de usuario actualizada
|
63 |
interfaz = gr.Interface(
|
64 |
fn=transformar_texto,
|
65 |
inputs=gr.File(label="Sube tu documento de texto (.txt)"),
|
66 |
-
outputs=gr.
|
67 |
title="📝➡️🎙️ Transformador de Texto a Conversación",
|
68 |
description="""
|
69 |
Sube un documento de texto y conviértelo en una conversación tipo podcast entre dos personas.
|
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
import os
|
4 |
+
from gtts import gTTS # Importamos gTTS
|
5 |
+
|
6 |
+
# Función para convertir texto a audio
|
7 |
+
def convertir_texto_a_audio(texto, nombre_archivo):
|
8 |
+
tts = gTTS(text=texto, lang='es')
|
9 |
+
tts.save(nombre_archivo)
|
10 |
|
11 |
# Creamos un modelo de resumen más ligero
|
12 |
resumidor = pipeline("summarization", model="t5-small")
|
|
|
24 |
texto = f.read()
|
25 |
except Exception as e:
|
26 |
raise gr.Error(f"Error al leer el archivo: {e}")
|
27 |
+
|
28 |
# Limitación para la versión gratuita
|
29 |
max_palabras = 1000 # Puedes ajustar este número
|
30 |
num_palabras = len(texto.split())
|
31 |
if num_palabras > max_palabras:
|
32 |
raise gr.Error(f"El texto excede el límite de {max_palabras} palabras para la versión gratuita.")
|
33 |
+
|
34 |
try:
|
35 |
# Resumimos el texto
|
36 |
resumen = resumidor(
|
|
|
42 |
)[0]['summary_text']
|
43 |
except Exception as e:
|
44 |
raise gr.Error(f"Error al resumir el texto: {e}")
|
45 |
+
|
46 |
try:
|
47 |
# Generamos una conversación basada en el resumen
|
48 |
prompt = f"Crear una conversación entre dos personas sobre: {resumen}"
|
|
|
54 |
)[0]['generated_text']
|
55 |
except Exception as e:
|
56 |
raise gr.Error(f"Error al generar la conversación: {e}")
|
57 |
+
|
58 |
+
# Convertimos la conversación a audio
|
59 |
+
ruta_audio = os.path.join("/tmp", "conversacion.mp3")
|
60 |
try:
|
61 |
+
convertir_texto_a_audio(conversacion, ruta_audio)
|
|
|
62 |
except Exception as e:
|
63 |
+
raise gr.Error(f"Error al convertir texto a audio: {e}")
|
64 |
+
|
65 |
+
return ruta_audio
|
66 |
|
67 |
# Creamos la interfaz de usuario actualizada
|
68 |
interfaz = gr.Interface(
|
69 |
fn=transformar_texto,
|
70 |
inputs=gr.File(label="Sube tu documento de texto (.txt)"),
|
71 |
+
outputs=gr.Audio(type="file", label="Escucha la conversación generada"),
|
72 |
title="📝➡️🎙️ Transformador de Texto a Conversación",
|
73 |
description="""
|
74 |
Sube un documento de texto y conviértelo en una conversación tipo podcast entre dos personas.
|