Update app.py
Browse files
app.py
CHANGED
@@ -101,8 +101,7 @@ 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 |
-
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,6 +173,10 @@ async def procesar_video(video_input, texto_tts, voz_seleccionada, progress=gr.P
|
|
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,7 +196,12 @@ async def procesar_video(video_input, texto_tts, voz_seleccionada, progress=gr.P
|
|
193 |
chunk_video = VideoFileClip(video_input).subclip(chunk_start, chunk_end)
|
194 |
|
195 |
# Extraer la porci贸n de audio correspondiente a este bloque
|
196 |
-
|
|
|
|
|
|
|
|
|
|
|
197 |
chunk_bg = bg_audio.subclip(chunk_start, chunk_end)
|
198 |
|
199 |
# Crear la mezcla de audio para este bloque
|
|
|
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 |
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 |
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)
|
206 |
|
207 |
# Crear la mezcla de audio para este bloque
|