7Miiik commited on
Commit
d986ac0
·
verified ·
1 Parent(s): 9fe9d40

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
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
- # Guardamos la conversación en un archivo en /tmp
53
- ruta_archivo = os.path.join("/tmp", "conversacion.txt")
54
  try:
55
- with open(ruta_archivo, "w", encoding='utf-8') as f:
56
- f.write(conversacion)
57
  except Exception as e:
58
- raise gr.Error(f"Error al guardar la conversación: {e}")
59
-
60
- return ruta_archivo
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.File(label="Descarga la conversación generada"),
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.