# Wake-Word „Plappi" — Setup

Die App läuft **ohne** Wake-Word sofort (Push-to-Talk-Knopf). Wake-Word ist **optional zuschaltbar**.

## Stufe 1 — Loop testen mit eingebautem Schlüsselwort (5 Min)
1. **Gratis Picovoice-Konto:** [console.picovoice.ai](https://console.picovoice.ai) → **AccessKey** kopieren.
2. Key setzen (Dev): `export PLAPPI_PICOVOICE_KEY="…"` und Server neu starten (`./run.sh`).
   → `/api/clientconfig` meldet jetzt `wakeword_enabled: true`; die App lauscht.
3. Bis das eigene „Plappi"-Modell da ist, hört sie auf ein **eingebautes** Wort
   (Default `Bumblebee`; via `PLAPPI_PV_BUILTIN` änderbar, z.B. `Computer`).
   → Wort sagen → 🔔 Piep → Plappi nimmt freihändig auf → antwortet.

## Stufe 2 — Echtes Custom-Wort „Plappi" (im Picovoice-Console, ~10 Min)
1. Console → **Porcupine** → *Train Wake Word* → Phrase `Plappi`, **Sprache Deutsch (de)**.
2. Platform **Web (WASM)** wählen → `.ppn`-Datei herunterladen → nach `clients/web/plappi_de.ppn` legen.
3. Deutsches Sprachmodell `porcupine_params_de.pv` (Console/Docs) → `clients/web/porcupine_params_de.pv`.
4. Env setzen:
   ```
   PLAPPI_PV_KEYWORD_URL=/plappi_de.ppn
   PLAPPI_PV_MODEL_URL=/porcupine_params_de.pv
   ```
   Server neu starten → jetzt reagiert sie auf **„Plappi"**.

## Wichtige Grenzen
- **Browser/Handy:** Wake-Word läuft nur, solange die **App offen/im Vordergrund** ist. Mikro braucht **HTTPS oder localhost**.
- **Echtes Always-On** (Display aus, immer lauschend wie Alexa) = **Raspberry-Pi-Gerät** mit `openWakeWord` (OSS) — kommt im Pi-Client (`clients/pi/`).
- Picovoice-AccessKey ist bewusst **client-seitig** (so funktioniert Porcupine im Browser) — kein Server-Secret.

## ENV-Übersicht
| Var | Wirkung |
|---|---|
| `PLAPPI_PICOVOICE_KEY` | leer = Button-Modus · gesetzt = Wake-Word an |
| `PLAPPI_WAKEWORD` | Anzeige-Label (Default „Plappi") |
| `PLAPPI_PV_BUILTIN` | Stand-in-Wort (Default „Bumblebee") |
| `PLAPPI_PV_KEYWORD_URL` | URL der custom `Plappi.ppn` |
| `PLAPPI_PV_MODEL_URL` | URL des Sprachmodells `.pv` |
