Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -35,6 +35,15 @@ def save_temp_audio(audio_file):
|
|
| 35 |
else:
|
| 36 |
raise ValueError("Das übergebene Audio ist kein gültiges Dateiformat oder NamedString.")
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
def generate_slideshow_with_audio(images, input_text, duration_per_word=0.5, y_pos=0.5, fade_duration=0.7, font_size=60, speed=1.0, audio_file=None):
|
| 39 |
if not images:
|
| 40 |
return None, "❌ Keine Bilder ausgewählt"
|
|
@@ -51,6 +60,8 @@ def generate_slideshow_with_audio(images, input_text, duration_per_word=0.5, y_p
|
|
| 51 |
temp_audio_file = None
|
| 52 |
if audio_file:
|
| 53 |
temp_audio_file = save_temp_audio(audio_file)
|
|
|
|
|
|
|
| 54 |
|
| 55 |
# Einzelne Clips für jedes Wort erstellen
|
| 56 |
for i, word in enumerate(words):
|
|
|
|
| 35 |
else:
|
| 36 |
raise ValueError("Das übergebene Audio ist kein gültiges Dateiformat oder NamedString.")
|
| 37 |
|
| 38 |
+
def convert_audio_to_wav(audio_path):
|
| 39 |
+
"""
|
| 40 |
+
Konvertiert das Audio in das WAV-Format, um sicherzustellen, dass FFmpeg es korrekt verarbeitet.
|
| 41 |
+
"""
|
| 42 |
+
wav_path = Path(audio_path).with_suffix(".wav")
|
| 43 |
+
cmd = ["ffmpeg", "-y", "-i", str(audio_path), str(wav_path)]
|
| 44 |
+
subprocess.run(cmd, check=True, capture_output=True, text=True)
|
| 45 |
+
return wav_path
|
| 46 |
+
|
| 47 |
def generate_slideshow_with_audio(images, input_text, duration_per_word=0.5, y_pos=0.5, fade_duration=0.7, font_size=60, speed=1.0, audio_file=None):
|
| 48 |
if not images:
|
| 49 |
return None, "❌ Keine Bilder ausgewählt"
|
|
|
|
| 60 |
temp_audio_file = None
|
| 61 |
if audio_file:
|
| 62 |
temp_audio_file = save_temp_audio(audio_file)
|
| 63 |
+
# Konvertiere das Audio in WAV, falls es MP3 oder ein anderes Format ist
|
| 64 |
+
temp_audio_file = convert_audio_to_wav(temp_audio_file)
|
| 65 |
|
| 66 |
# Einzelne Clips für jedes Wort erstellen
|
| 67 |
for i, word in enumerate(words):
|