feat(vad): Stille-Pegel manuell in Settings + Info-Modal
Wenn die adaptive Baseline-Logik in einer Umgebung nicht zuverlaessig greift (Stefan: "manchmal funktioniert die Stille-Erkennung nicht"), kann der User die Schwelle jetzt manuell setzen. Settings → Spracheingabe: - "Stille-Pegel (dB)" mit −1/+1 Buttons + "Auf automatisch zuruecksetzen" - Range −55 bis −15 dB, default "auto" (= adaptive Baseline) - Info-Icon (i) oeffnet Modal mit Erklaerung: • dB-Skala (negativ, naeher 0 = lauter) • Faustregel-Pegel mit Farb-Code (−45 sensibel, −38 ausgewogen, −25 robust) • Klarstellung "niedrigere Zahl = sensibler" audio.ts: - VAD_SILENCE_DB_OVERRIDE_KEY in AsyncStorage - loadVadSilenceDbOverride() liefert null oder Zahl - startRecording: wenn Override gesetzt, Adaptive-Baseline uebersteuert. Speech-Schwelle wird auf Override + 10 dB gesetzt. Toast zeigt "VAD: manuell stille>-XX dB" Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
- [x] **Wake-Word pausiert bei Anruf**: phoneCall ruft pauseForCall (openWakeWord.stop) bei RINGING/OFFHOOK, resumeFromCall bei IDLE. Pre-Call-State wird gemerkt — armed bleibt armed, conversing degraded zu armed (User soll nicht in halbem Dialog landen)
|
||||
- [x] **App-Resume-Cooldown**: Wechsel von Background → Foreground triggert keinen falschen Wake-Word-Trigger mehr. AppState-Listener setzt 1.5s Cooldown in dem onWakeDetected-Events ignoriert werden (Audio-Pegel-Spike beim AudioFocus-Switch sonst als Wake-Word interpretiert)
|
||||
- [x] Background-Mikro robust: acquireBackgroundAudio('rec'/'wake') wird jetzt VOR AudioRecord.startRecording gerufen — Foreground-Service mit foregroundServiceType=microphone muss aktiv sein bevor das Mikro greift, sonst blockiert Android ab 11+ den Background-Zugriff
|
||||
- [x] **Stille-Pegel manuell setzbar** (Settings → Spracheingabe): Override-Wert in dB von -55 bis -15, default "automatisch". Info-Button mit Modal erklaert die Skala (niedriger = sensibler, hoeher = robuster gegen Hintergrundlaerm). Bei manuell gesetztem Wert wird die adaptive Baseline ignoriert
|
||||
|
||||
### App Features
|
||||
|
||||
|
||||
Reference in New Issue
Block a user