Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
|
|
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 |
-
#
|
200 |
-
tts_chunk_end = min(chunk_end,
|
201 |
chunk_tts = None
|
202 |
-
if chunk_start <
|
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)
|