Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -8,6 +8,9 @@ from pydub import AudioSegment
|
|
8 |
tts_juan = TTS(model_name="tts_models/es/mai/tacotron2-DDC", progress_bar=False, gpu=False)
|
9 |
tts_maria = TTS(model_name="tts_models/es/css10/vits", progress_bar=False, gpu=False)
|
10 |
|
|
|
|
|
|
|
11 |
# Funci贸n para convertir texto a audio con voces diferentes
|
12 |
def convertir_texto_a_audio(texto, nombre_archivo, voz):
|
13 |
if voz == "Juan":
|
@@ -58,22 +61,29 @@ def transformar_texto(archivo):
|
|
58 |
except Exception as e:
|
59 |
raise gr.Error(f"Error al leer el archivo: {e}")
|
60 |
|
61 |
-
max_palabras =
|
62 |
num_palabras = len(texto.split())
|
63 |
if num_palabras > max_palabras:
|
64 |
raise gr.Error(f"El texto excede el l铆mite de {max_palabras} palabras.")
|
65 |
|
66 |
-
#
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
try:
|
72 |
-
# Generamos la conversaci贸n utilizando el
|
73 |
prompt = f"""
|
74 |
Crear una conversaci贸n educativa entre Juan y Mar铆a sobre el siguiente tema:
|
75 |
|
76 |
-
{
|
77 |
|
78 |
La conversaci贸n debe tener el formato:
|
79 |
|
@@ -85,7 +95,7 @@ Por favor, aseg煤rate de que la conversaci贸n cubra los puntos principales del t
|
|
85 |
"""
|
86 |
output = dialogador(
|
87 |
prompt,
|
88 |
-
max_length=
|
89 |
num_return_sequences=1,
|
90 |
clean_up_tokenization_spaces=True
|
91 |
)
|
@@ -116,7 +126,3 @@ interfaz = gr.Interface(
|
|
116 |
)
|
117 |
|
118 |
interfaz.launch()
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
|
|
8 |
tts_juan = TTS(model_name="tts_models/es/mai/tacotron2-DDC", progress_bar=False, gpu=False)
|
9 |
tts_maria = TTS(model_name="tts_models/es/css10/vits", progress_bar=False, gpu=False)
|
10 |
|
11 |
+
# Modelo de resumen
|
12 |
+
resumidor = pipeline("summarization", model="google/pegasus-xsum")
|
13 |
+
|
14 |
# Funci贸n para convertir texto a audio con voces diferentes
|
15 |
def convertir_texto_a_audio(texto, nombre_archivo, voz):
|
16 |
if voz == "Juan":
|
|
|
61 |
except Exception as e:
|
62 |
raise gr.Error(f"Error al leer el archivo: {e}")
|
63 |
|
64 |
+
max_palabras = 2000 # Nuevo l铆mite de palabras
|
65 |
num_palabras = len(texto.split())
|
66 |
if num_palabras > max_palabras:
|
67 |
raise gr.Error(f"El texto excede el l铆mite de {max_palabras} palabras.")
|
68 |
|
69 |
+
# Resumimos el texto para que el prompt no sea demasiado largo
|
70 |
+
try:
|
71 |
+
resumen = resumidor(
|
72 |
+
texto,
|
73 |
+
max_length=200, # Ajusta seg煤n tus necesidades
|
74 |
+
min_length=100,
|
75 |
+
do_sample=False,
|
76 |
+
clean_up_tokenization_spaces=True
|
77 |
+
)[0]['summary_text']
|
78 |
+
except Exception as e:
|
79 |
+
raise gr.Error(f"Error al resumir el texto: {e}")
|
80 |
|
81 |
try:
|
82 |
+
# Generamos la conversaci贸n utilizando el resumen
|
83 |
prompt = f"""
|
84 |
Crear una conversaci贸n educativa entre Juan y Mar铆a sobre el siguiente tema:
|
85 |
|
86 |
+
{resumen}
|
87 |
|
88 |
La conversaci贸n debe tener el formato:
|
89 |
|
|
|
95 |
"""
|
96 |
output = dialogador(
|
97 |
prompt,
|
98 |
+
max_length=1024, # Aumentamos el l铆mite de tokens generados
|
99 |
num_return_sequences=1,
|
100 |
clean_up_tokenization_spaces=True
|
101 |
)
|
|
|
126 |
)
|
127 |
|
128 |
interfaz.launch()
|
|
|
|
|
|
|
|