Dein persönlicher KI‑Sprachassistent für ESP32‑S3
Stell dir vor, du kommst nach Hause, sagst einfach „Hi Kyra“ – und schon erwacht dein persönlicher Assistent zum Leben. Ich höre dir zu, verstehe deine Fragen und antworte dir mit einer natürlichen Stimme. Ob du wissen willst, wie das Wetter wird, eine lustige Geschichte hören möchtest oder einfach nur plaudern willst – ich bin für dich da.
Ich laufe auf einem kleinen Waveshare ESP32‑S3 Audio Board, brauche nur eine SD‑Karte und Strom. Meine Intelligenz kommt aus der Cloud – mit Groq (Whisper + Llama) und VoiceRSS für die Sprachausgabe. Das Beste: Du kannst mich über eine moderne Weboberfläche nach deinen Wünschen konfigurieren. Klingt gut? Dann lass uns loslegen!
Alles vorkonfiguriert – einfach flashen & loslegen
Du erhältst:
bootloader.bin, partition-table.bin, ota_data_initial.bin, kyra.bin
Folge der Anleitung auf docs.espressif.com
Lege die 4 .bin Dateien in einen Ordner, z.B. ~/kyra_flash
Verbinde das Waveshare‑Board per USB – Port merken (z.B. /dev/ttyUSB0)
esptool.py --chip esp32s3 -p /dev/ttyUSB0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0 bootloader.bin 0x8000 partition-table.bin 0x10000 ota_data_initial.bin 0x20000 kyra.bin
Danach SD‑Karte mit index.html einlegen, Gerät neustarten – fertig!
| Dienst | Zweck | Link |
|---|---|---|
| Groq | Whisper (Spracherkennung) + Llama (Antwort) | console.groq.com |
| VoiceRSS | Sprachausgabe (TTS) | voicerss.org |
| Tab | Parameter | Beschreibung |
|---|---|---|
| Audio | Mikrofon‑Kanal | 0 oder 1 |
| Mikrofon‑Verstärkung | Faktor (z.B. 8) | |
| Silence Threshold | Schwellwert für Sprachbeginn | |
| Stille‑Chunks bis Stop | Anzahl stiller Chunks (100 ms) bis Abbruch | |
| Max Aufnahme (s) | maximale Länge | |
| Min Chunks für Whisper | Mindestlänge für Transkription | |
| Max Warte‑Chunks auf Sprache | Timeout ohne Sprache | |
| Dialog‑Timeout (s) | Inaktivität → Schlaf | |
| Pause nach Antwort (ms) | Pause nach Sprachausgabe | |
| API | Dein Name | wird im Prompt verwendet |
| Groq API‑Key | - | |
| VoiceRSS API‑Key | - | |
| Groq‑Prompt | Systemnachricht (Platzhalter %s für Name) | |
| LED | Modi für Zustände | Zahlen 0‑17 (siehe Web‑UI) |
| Problem | Lösung |
|---|---|
| Wake‑Word wird nicht erkannt | Mikrofon‑Kanal prüfen, Verstärkung erhöhen, silence_threshold senken |
| Keine Antwort von Groq | API‑Key prüfen, WLAN‑Verbindung testen |
| Sprachausgabe zu schnell/langsam | VoiceRSS‑URL muss f=48khz_16bit_stereo enthalten (Standard) |
| Web‑UI nicht erreichbar | http://kyra.local oder IP aus Router‑Log |
| SD‑Karte nicht erkannt | FAT32? Pins richtig? Log prüfen |