alex16052G commited on
Commit
576e1e2
verified
1 Parent(s): c761f75

Update chat_ai.py

Browse files
Files changed (1) hide show
  1. chat_ai.py +60 -46
chat_ai.py CHANGED
@@ -147,6 +147,13 @@ def transcribe_audio(audio_path):
147
  print(f"Error en transcribe_audio: {e}")
148
  return None
149
 
 
 
 
 
 
 
 
150
  @gpu_decorator
151
  def generate_audio(text, ref_audio, ref_text, model_choice, remove_silence):
152
  """Genera el audio a partir del texto ingresado utilizando la voz de referencia."""
@@ -193,52 +200,6 @@ def generate_audio(text, ref_audio, ref_text, model_choice, remove_silence):
193
  print(f"Error en generate_audio: {e}")
194
  return None, "Ocurri贸 un error al generar el audio."
195
 
196
- with gr.Blocks() as app:
197
- gr.Markdown(
198
- """
199
- # Conversor de Texto a Voz con Clonaci贸n de Voz
200
- Sube un audio de referencia para clonar la voz y luego escribe el texto que deseas convertir a voz.
201
- """
202
- )
203
-
204
- with gr.Row():
205
- with gr.Column():
206
- ref_audio = gr.Audio(label="Audio de Referencia (Clonaci贸n de Voz)", type="filepath")
207
- ref_text = gr.Textbox(
208
- label="Texto de Referencia (Opcional)",
209
- info="Opcional: Deja en blanco para transcribir autom谩ticamente el audio de referencia",
210
- lines=2,
211
- )
212
- with gr.Column():
213
- model_choice = gr.Radio(
214
- choices=["F5-TTS"],
215
- label="Modelo TTS",
216
- value="F5-TTS",
217
- )
218
- remove_silence = gr.Checkbox(
219
- label="Eliminar Silencios",
220
- value=True,
221
- )
222
-
223
- with gr.Row():
224
- text_input = gr.Textbox(
225
- label="Escribe tu texto",
226
- placeholder="Ingresa el texto que deseas convertir a voz...",
227
- lines=3,
228
- )
229
- generate_btn = gr.Button("Generar Audio")
230
-
231
- with gr.Row():
232
- audio_output = gr.Audio(label="Audio Generado", autoplay=True)
233
-
234
- status = gr.Textbox(label="Estado", interactive=False)
235
-
236
- generate_btn.click(
237
- generate_audio,
238
- inputs=[text_input, ref_audio, ref_text, model_choice, remove_silence],
239
- outputs=[audio_output, status],
240
- )
241
-
242
  @click.command()
243
  @click.option("--port", "-p", default=None, type=int, help="Puerto para ejecutar la aplicaci贸n")
244
  @click.option("--host", "-H", default=None, help="Host para ejecutar la aplicaci贸n")
@@ -261,6 +222,59 @@ def main(port, host, share, api):
261
  )
262
 
263
  if __name__ == "__main__":
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  if not USING_SPACES:
265
  main()
266
  else:
 
147
  print(f"Error en transcribe_audio: {e}")
148
  return None
149
 
150
+ def transcribe_and_update(audio_path):
151
+ """Transcribe el audio de referencia y devuelve el texto transcrito."""
152
+ transcription = transcribe_audio(audio_path)
153
+ if transcription is None:
154
+ return "Error al transcribir el audio de referencia."
155
+ return transcription
156
+
157
  @gpu_decorator
158
  def generate_audio(text, ref_audio, ref_text, model_choice, remove_silence):
159
  """Genera el audio a partir del texto ingresado utilizando la voz de referencia."""
 
200
  print(f"Error en generate_audio: {e}")
201
  return None, "Ocurri贸 un error al generar el audio."
202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  @click.command()
204
  @click.option("--port", "-p", default=None, type=int, help="Puerto para ejecutar la aplicaci贸n")
205
  @click.option("--host", "-H", default=None, help="Host para ejecutar la aplicaci贸n")
 
222
  )
223
 
224
  if __name__ == "__main__":
225
+ with gr.Blocks() as app:
226
+ gr.Markdown(
227
+ """
228
+ # Conversor de Texto a Voz con Clonaci贸n de Voz
229
+ Sube un audio de referencia para clonar la voz y luego escribe el texto que deseas convertir a voz.
230
+ """
231
+ )
232
+
233
+ with gr.Row():
234
+ with gr.Column():
235
+ ref_audio = gr.Audio(label="Audio de Referencia (Clonaci贸n de Voz)", type="filepath")
236
+ ref_text = gr.Textbox(
237
+ label="Texto de Referencia (Opcional)",
238
+ info="Opcional: Deja en blanco para transcribir autom谩ticamente el audio de referencia",
239
+ lines=2,
240
+ )
241
+ with gr.Column():
242
+ model_choice = gr.Radio(
243
+ choices=["F5-TTS"],
244
+ label="Modelo TTS",
245
+ value="F5-TTS",
246
+ )
247
+ remove_silence = gr.Checkbox(
248
+ label="Eliminar Silencios",
249
+ value=True,
250
+ )
251
+
252
+ with gr.Row():
253
+ text_input = gr.Textbox(
254
+ label="Escribe tu texto",
255
+ placeholder="Ingresa el texto que deseas convertir a voz...",
256
+ lines=3,
257
+ )
258
+ generate_btn = gr.Button("Generar Audio")
259
+
260
+ with gr.Row():
261
+ audio_output = gr.Audio(label="Audio Generado", autoplay=True)
262
+
263
+ status = gr.Textbox(label="Estado", interactive=False)
264
+
265
+ # Conectar la funci贸n de transcripci贸n al evento de cambio del audio de referencia
266
+ ref_audio.change(
267
+ fn=transcribe_and_update,
268
+ inputs=ref_audio,
269
+ outputs=ref_text,
270
+ )
271
+
272
+ generate_btn.click(
273
+ generate_audio,
274
+ inputs=[text_input, ref_audio, ref_text, model_choice, remove_silence],
275
+ outputs=[audio_output, status],
276
+ )
277
+
278
  if not USING_SPACES:
279
  main()
280
  else: