-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
import random
import time
from gtts import gTTS
from pydub import AudioSegment
from pydub.generators import Silent
--- Parameter ---
duration = 120 # Dauer in Sekunden (2 Minuten)
min_pause = 1 # minimale Pause in Sekunden
max_pause = 5 # maximale Pause in Sekunden
--- Befehle ---
commands = [
"Feuer", "Wasser", "Sturm", "Blitz",
"Kaugummi", "Popcorn", "Milchshake", "Eis",
"Kaffeekränzchen", "Cola",
# Specials
"Banana Attack", "Roboter Modus", "Freeze Dance", "Raketenstart",
"Pizzaparty", "Schneesturm", "Disco Alarm"
]
--- Sequenz erzeugen ---
sequence = []
elapsed = 0
while elapsed < duration:
cmd = random.choice(commands)
pause = random.uniform(min_pause, max_pause)
sequence.append((cmd, pause))
elapsed += pause
--- Audio vorbereiten ---
final_audio = AudioSegment.silent(duration=0) # leere Spur
for cmd, pause in sequence:
# TTS für den Befehl
tts = gTTS(text=cmd, lang='de', tld='de')
temp_file = "temp_cmd.mp3"
tts.save(temp_file)
# MP3 laden und anfügen
cmd_audio = AudioSegment.from_mp3(temp_file)
final_audio += cmd_audio
# Stille für die Pause
final_audio += Silent(duration=int(pause * 1000)).to_audio_segment()
--- MP3 speichern ---
output_path = "feuer_wasser_sturm_mit_pausen.mp3"
final_audio.export(output_path, format="mp3")
print(f"MP3-Datei mit Pausen erstellt: {output_path}")