Spaces:
Sleeping
Sleeping
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
|