docs: Audio-Verhaltens-Tabelle in issue.md + README
Definiert klar wann Spotify pausiert und wann nicht — als Referenz fuer kuenftige Bug-Reports. Aktueller Zustand nach den Audio-Fixes: Spotify pausiert nur waehrend User-Aufnahme + TTS-Wiedergabe, nicht waehrend ARIAs Denkphase. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -510,10 +510,30 @@ Der Update-Flow:
|
|||||||
App (Mikrofon) → AAC/MP4 Aufnahme → Base64 → RVS → Bridge
|
App (Mikrofon) → AAC/MP4 Aufnahme → Base64 → RVS → Bridge
|
||||||
Bridge: FFmpeg (16kHz PCM) → Whisper STT → Text → aria-core
|
Bridge: FFmpeg (16kHz PCM) → Whisper STT → Text → aria-core
|
||||||
Bridge: STT-Ergebnis → RVS → App (Placeholder wird durch transkribierten Text ersetzt)
|
Bridge: STT-Ergebnis → RVS → App (Placeholder wird durch transkribierten Text ersetzt)
|
||||||
aria-core → Antwort → Bridge → XTTS (Gaming-PC) → PCM-Stream → RVS → App
|
aria-core → Antwort → Bridge → F5-TTS (Gaming-PC) → PCM-Stream → RVS → App
|
||||||
App: AudioTrack MODE_STREAM (nahtlos), Cache als WAV pro Message
|
App: AudioTrack MODE_STREAM (nahtlos), Cache als WAV pro Message
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Audio-Verhalten in der App
|
||||||
|
|
||||||
|
| Phase | Andere App (Spotify) | ARIA-Mikro |
|
||||||
|
|------------------------------|----------------------|-------------------------|
|
||||||
|
| Idle / Ohr aus | spielt frei | aus |
|
||||||
|
| Wake-Word lauscht (armed) | spielt frei | passiv (openWakeWord) |
|
||||||
|
| User-Aufnahme laeuft | pausiert (EXCLUSIVE) | Recording |
|
||||||
|
| Aufnahme zu Ende | resumed | aus |
|
||||||
|
| ARIA denkt/schreibt (~20s) | spielt frei | aus |
|
||||||
|
| TTS startet | pausiert (DUCK) | aus (oder barge) |
|
||||||
|
| TTS spielt (auch GPU-Pausen) | bleibt pausiert | barge wenn Wake-Word |
|
||||||
|
| TTS zu Ende | nach 800ms resumed | (Conversation-Window) |
|
||||||
|
| Eingehender Anruf (auch VoIP)| — | Mikro pausiert |
|
||||||
|
| Anruf vorbei | — | Mikro wieder armed |
|
||||||
|
|
||||||
|
Mechanismen: Underrun-Schutz im PcmStreamPlayer (Stille-Fill in Render-
|
||||||
|
Pausen), Conversation-Focus bei Wake-Word, Foreground-Service mit
|
||||||
|
mediaPlayback|microphone, Anruf-Erkennung ueber TelephonyManager +
|
||||||
|
AudioFocus-Loss-Listener mit Polling-Fallback (VoIP).
|
||||||
|
|
||||||
### Datei-Pipeline (Bilder & Anhaenge)
|
### Datei-Pipeline (Bilder & Anhaenge)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# ARIA Issues & Features
|
# ARIA Issues & Features
|
||||||
|
|
||||||
|
## Audio-Verhalten in der App
|
||||||
|
|
||||||
|
So sollte die App in den verschiedenen Phasen mit fremden Audio-Apps
|
||||||
|
(Spotify, YouTube, Podcasts etc.) und dem eigenen Mikro umgehen.
|
||||||
|
Wenn was anders ist, ist's ein Bug.
|
||||||
|
|
||||||
|
| Phase | Andere App (Spotify) | ARIA-Mikro | Hintergrund-Service |
|
||||||
|
|------------------------------|----------------------|---------------------|---------------------|
|
||||||
|
| Idle / Ohr aus | spielt frei | aus | aus |
|
||||||
|
| Wake-Word lauscht (armed) | spielt frei | passiv (openWakeWord) | aktiv ('wake') |
|
||||||
|
| User-Aufnahme laeuft | pausiert (EXCLUSIVE) | Recording | aktiv ('rec') |
|
||||||
|
| Aufnahme zu Ende | resumed | aus | (rec released) |
|
||||||
|
| ARIA denkt/schreibt (~20s) | spielt frei | aus | (kein Slot) |
|
||||||
|
| TTS startet | pausiert (DUCK) | aus (oder barge) | aktiv ('tts') |
|
||||||
|
| TTS spielt (auch GPU-Pausen) | bleibt pausiert | barge wenn Wake-Word| aktiv |
|
||||||
|
| TTS zu Ende | nach 800ms resumed | (Conversation-Window)| (tts released) |
|
||||||
|
| Eingehender Anruf (auch VoIP)| — | Mikro pausiert | aus |
|
||||||
|
| Anruf vorbei | — | Mikro wieder armed | aktiv ('wake') |
|
||||||
|
|
||||||
|
Wichtige Mechanismen:
|
||||||
|
- **Underrun-Schutz** im PcmStreamPlayer fuettert Stille rein wenn die
|
||||||
|
Bridge in Render-Pausen liefert — Spotify bleibt durchgehend pausiert,
|
||||||
|
auch zwischen den Saetzen einer langen Antwort.
|
||||||
|
- **Conversation-Focus** (nur bei Wake-Word 'conversing') haelt den
|
||||||
|
AudioFocus dauerhaft. Bei reinem Tap-to-Talk oder Text-Chat greift's
|
||||||
|
nicht — Spotify darf in der Denk-Phase ruhig weiterspielen.
|
||||||
|
- **Foreground-Service** (mediaPlayback|microphone) haelt App-Prozess
|
||||||
|
am Leben damit TTS/Mikro/Wake-Word auch bei minimierter App weiter-
|
||||||
|
laufen. Notification zeigt aktuellen Status ("ARIA spricht/hoert
|
||||||
|
zu/bereit").
|
||||||
|
- **Anruf-Erkennung** ueber TelephonyManager (klassisch) + AudioFocus-
|
||||||
|
Loss-Listener mit Polling-Fallback (VoIP wie WhatsApp/Signal/Discord).
|
||||||
|
|
||||||
## Erledigt
|
## Erledigt
|
||||||
|
|
||||||
### Bugs / Fixes
|
### Bugs / Fixes
|
||||||
|
|||||||
Reference in New Issue
Block a user