Edison Jwa
|
bf284018e6
|
feat: Android Oboe voice backend — WebRTC APM, VAD, HW/SW toggle, BBCode welcome, link trust, foreground task
Audio engine (Rust):
- Android Oboe: WebRTC APM (AEC/NS/AGC/HPF) + TEN/Silero ONNX VAD
- Hardware effects (JNI) with software fallback per-effect
- Render reference buffer for AEC between output/capture callbacks
- Voice activity gate: suppress transmission when speaker muted (all platforms)
- Audio focus (SDD-109) + Bluetooth SCO (SDD-110) via JNI
- ONNX Runtime 1.26 via ort 2.0.0-rc.12 (down from rc.10, ndarray 0.17)
- VAD worker channel capacity 8→32, initial seq u64::MAX (warm-up fix)
- TEN VAD default backend (was Silero)
- Platform→WebrtcApm resolution after hardware binding
- oboe-rs edisonjwa fork with get_raw_session_id()
Android Kotlin:
- AndroidAudioFocusController + AndroidBluetoothScoController
- AndroidAudioLifecycleController (route changes to Flutter)
- ProGuard rules for new controllers
Flutter UI:
- VoiceSettings: Android HW/SW toggle (Platform auto / WebRTC APM)
- VoiceStatusChip: mute warning border + Speaker muted label
- BBCode welcome message parser (BbCodeText, case-insensitive)
- Welcome message foldable (expanded by default)
- Link trust dialog (domain wildcards, SharedPreferences)
- HapticFeedback on voice sheet opener
- Server name in AppBar, version v0.1.0
- Default channel (id=1) visible, serverquery clients hidden
- flutter_foreground_task integration
Config:
- ort load-dynamic on all non-iOS (Android/Linux/Windows)
- ONNX Runtime AAR 1.26.0
- ndarray moved to common deps (was Apple-only)
|
2026-05-22 09:29:57 +09:00 |
|
Edison Jwa
|
6af4ecab0f
|
feat(voice): add iOS VAD runtime support
|
2026-05-21 20:51:45 +09:00 |
|
Edison Jwa
|
b65cedfa95
|
fix(android): recover from input stream failures
|
2026-05-20 14:52:34 +09:00 |
|
Edison Jwa
|
3ae8e1ab77
|
fix(android): adapt fold layout and diagnostics
|
2026-05-20 14:52:34 +09:00 |
|
Edison Jwa
|
210a6a0e11
|
fix(android): unblock mic permission startup
|
2026-05-20 14:52:34 +09:00 |
|
Edison Jwa
|
c87b47f064
|
feat(audio): prefer native voice backends
|
2026-05-20 14:52:33 +09:00 |
|
Edison Jwa
|
8c253f1d4d
|
feat(voice): harden Android audio and channel joins
|
2026-05-19 01:58:07 +09:00 |
|
EdisonJwa
|
76c6d1d40c
|
feat(audio,android): add MobileVoiceAudioBackend + AndroidVoiceUnit (oboe-rs)
Add the cross-platform MobileVoiceAudioBackend trait, plus the
Android implementation AndroidVoiceUnit backed by oboe-rs 0.6.x.
AndroidVoiceUnit owns AAudio stream setup with VoiceCommunication
usage/preset, performance-mode LowLatency request, sharing-mode
Exclusive best-effort, hardware AEC/NS/AGC engagement via JNI, and
the diagnostics snapshot publish path used by SDD-116 evidence
collection.
Cargo.toml: adds oboe = "0.6" under the Android target.
Trace: SDD-111, SDD-112, SDD-113, SRS-210, SRS-211, SRS-212, SRS-213,
SRS-214.
|
2026-05-18 10:38:19 +08:00 |
|