Update app.py
Browse files
app.py
CHANGED
|
@@ -13,7 +13,8 @@ from moviepy import (
|
|
| 13 |
CompositeAudioClip,
|
| 14 |
AudioFileClip,
|
| 15 |
concatenate_videoclips,
|
| 16 |
-
concatenate_audioclips
|
|
|
|
| 17 |
)
|
| 18 |
from gtts import gTTS
|
| 19 |
import subprocess
|
|
@@ -228,7 +229,21 @@ def process_entry(entry, i, video_width, video_height, add_voiceover, target_lan
|
|
| 228 |
logger.info("Methods in AudioFileClip:")
|
| 229 |
for method in dir(audio_clip):
|
| 230 |
logger.info(method)
|
| 231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 232 |
|
| 233 |
return i, txt_clip, audio_segment
|
| 234 |
|
|
|
|
| 13 |
CompositeAudioClip,
|
| 14 |
AudioFileClip,
|
| 15 |
concatenate_videoclips,
|
| 16 |
+
concatenate_audioclips,
|
| 17 |
+
silence
|
| 18 |
)
|
| 19 |
from gtts import gTTS
|
| 20 |
import subprocess
|
|
|
|
| 229 |
logger.info("Methods in AudioFileClip:")
|
| 230 |
for method in dir(audio_clip):
|
| 231 |
logger.info(method)
|
| 232 |
+
desired_duration = entry["end"] - entry["start"]
|
| 233 |
+
|
| 234 |
+
# Log duration of the audio clip and the desired duration for debugging.
|
| 235 |
+
logger.debug(f"Audio clip duration: {audio_clip.duration}, Desired duration: {desired_duration}")
|
| 236 |
+
|
| 237 |
+
if audio_clip.duration < desired_duration:
|
| 238 |
+
# Pad with silence if audio is too short
|
| 239 |
+
silence_duration = desired_duration - audio_clip.duration
|
| 240 |
+
|
| 241 |
+
# Concatenate the original audio and silence
|
| 242 |
+
audio_clip = concatenate_audioclips([audio_clip, silence(duration=silence_duration)])
|
| 243 |
+
logger.info(f"Padded audio with {silence_duration} seconds of silence.")
|
| 244 |
+
|
| 245 |
+
# Set the audio_segment to the required duration.
|
| 246 |
+
audio_segment = audio_clip.with_start(entry["start"]).with_duration(desired_duration)
|
| 247 |
|
| 248 |
return i, txt_clip, audio_segment
|
| 249 |
|