gnosticdev commited on
Commit
b6c6048
verified
1 Parent(s): 8043b53

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -8
app.py CHANGED
@@ -101,7 +101,8 @@ async def generar_tts(texto, voz, duracion_total):
101
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_tts:
102
  await communicate.save(tmp_tts.name)
103
  tts_audio = AudioFileClip(tmp_tts.name)
104
- # No limitar la duraci贸n aqu铆
 
105
  return tts_audio, tmp_tts.name
106
  except Exception as e:
107
  logging.error(f"Fallo en TTS: {str(e)}")
@@ -173,10 +174,6 @@ async def procesar_video(video_input, texto_tts, voz_seleccionada, progress=gr.P
173
  tts_audio, tts_path = await generar_tts(texto_tts, voz_seleccionada, duracion_video)
174
  temp_files.append(tts_path)
175
 
176
- # Verificar la duraci贸n del TTS generado
177
- tts_duracion = tts_audio.duration
178
- logging.info(f"Duraci贸n del audio TTS: {tts_duracion} segundos")
179
-
180
  progress(0.3, desc="Preparando m煤sica de fondo")
181
  bg_audio, bg_path = crear_musica_fondo(duracion_video)
182
  temp_files.append(bg_path)
@@ -196,10 +193,10 @@ async def procesar_video(video_input, texto_tts, voz_seleccionada, progress=gr.P
196
  chunk_video = VideoFileClip(video_input).subclip(chunk_start, chunk_end)
197
 
198
  # Extraer la porci贸n de audio correspondiente a este bloque
199
- # Aseg煤rate de no solicitar m谩s all谩 de la duraci贸n del audio TTS
200
- tts_chunk_end = min(chunk_end, tts_duracion)
201
  chunk_tts = None
202
- if chunk_start < tts_duracion:
203
  chunk_tts = tts_audio.subclip(chunk_start, tts_chunk_end)
204
 
205
  chunk_bg = bg_audio.subclip(chunk_start, chunk_end)
 
101
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as tmp_tts:
102
  await communicate.save(tmp_tts.name)
103
  tts_audio = AudioFileClip(tmp_tts.name)
104
+ if tts_audio.duration > duracion_total:
105
+ tts_audio = tts_audio.subclip(0, duracion_total)
106
  return tts_audio, tmp_tts.name
107
  except Exception as e:
108
  logging.error(f"Fallo en TTS: {str(e)}")
 
174
  tts_audio, tts_path = await generar_tts(texto_tts, voz_seleccionada, duracion_video)
175
  temp_files.append(tts_path)
176
 
 
 
 
 
177
  progress(0.3, desc="Preparando m煤sica de fondo")
178
  bg_audio, bg_path = crear_musica_fondo(duracion_video)
179
  temp_files.append(bg_path)
 
193
  chunk_video = VideoFileClip(video_input).subclip(chunk_start, chunk_end)
194
 
195
  # Extraer la porci贸n de audio correspondiente a este bloque
196
+ # FIX: Correcci贸n para evitar acceder a tiempo m谩s all谩 de la duraci贸n del audio TTS
197
+ tts_chunk_end = min(chunk_end, tts_audio.duration)
198
  chunk_tts = None
199
+ if chunk_start < tts_audio.duration:
200
  chunk_tts = tts_audio.subclip(chunk_start, tts_chunk_end)
201
 
202
  chunk_bg = bg_audio.subclip(chunk_start, chunk_end)