import requests import time # --- KONFIGURATION --- # Die IP deines Roboters MISTY_IP = "192.168.68.58" # So soll die Datei auf dem Roboter und dem Server heißen DATEI_NAME = "praesentation_aufnahme.wav" # Dauer der Aufnahme in Sekunden AUFNAHME_DAUER = 10 def aufnahme_starten(): # 1. Misty bescheid geben print("--- Misty bereitet sich vor ---") requests.post(f"http://{MISTY_IP}/api/tts/speak", json={ "text": "Ich höre dir jetzt für 10 Sekunden zu. Fang an nach dem ich fertig bin mit sprechen.", "speechLocale": "de-DE" }) # Wir warten 4 Sekunden, damit sie sich nicht selbst beim Sprechen aufnimmt time.sleep(4) # 2. Aufnahme auf dem Roboter starten print(f"--- Schritt 1: Aufnahme läuft für {AUFNAHME_DAUER} Sekunden ---") start_url = f"http://{MISTY_IP}/api/audio/record/start" requests.post(start_url, json={"FileName": DATEI_NAME}) # Das Programm pausiert hier für 10 Sekunden, während du sprichst time.sleep(AUFNAHME_DAUER) # 3. Aufnahme stoppen print("--- Schritt 2: Aufnahme wird beendet ---") stop_url = f"http://{MISTY_IP}/api/audio/record/stop" requests.post(stop_url) # 2 Sekunden warten, damit die Datei auf dem Roboter-Speicher fertig geschrieben wird time.sleep(2) # 4. Datei vom Roboter auf den Ubuntu-Server kopieren print(f"--- Schritt 3: Datei '{DATEI_NAME}' wird heruntergeladen ---") download_url = f"http://{MISTY_IP}/api/audio?FileName={DATEI_NAME}" r = requests.get(download_url) if r.status_code == 200: # Die Daten werden binär in eine lokale Datei geschrieben with open(DATEI_NAME, 'wb') as f: f.write(r.content) print(f"Erfolg! Die Datei liegt jetzt bereit für die Analyse.") else: print(f"Fehler beim Download: Statuscode {r.status_code}") if __name__ == "__main__": aufnahme_starten()