Misty-Rhetorik-Coach/old/aufnahme.py
2026-05-06 12:46:05 +00:00

53 lines
1.9 KiB
Python

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()