Reference simulator · v1.3

ICAS

Independent Concurrent Audio Streams

Media to one Bluetooth device, calls and microphone to another, from one Android phone.

Spec + simulator

Executable model. Android integration and hardware validation pending.

Author
Kris Ledel
Target
Android / AOSP
Transport
Bluetooth LE Audio
Specification
v1.3 ↓

Routing

Target design: separate native groups and audio paths, with admission checks for controller and HAL capacity and explicit audio-focus policy.

Proposed routing
  • Separate media and communication destinations.
  • Explicit microphone selection.
  • Defined admission and fallback policy.
  • Opt-in behaviour; coordinated earbud sets remain supported.

Scope: AOSP/custom ROM. Excludes stock-phone workarounds, Classic Bluetooth car kits and broadcast sharing.

Run the model

Python model of ASE transitions, group switching, admission, audio focus, volume and recovery. It does not render audio or access Bluetooth hardware.

20 tests and the demo pass on Python 3.10.5. Checked 21 September 2026.

icas-sim/after unpacking
cd icas-sim
python -m tests.test_ase
python -m tests.test_icas
python demo.py

The Linux/PipeWire prototype uses virtual sinks. Its setup, linking and test-tone scripts need fixes before use. LE Audio multi-CIS has not been tested.

Specification v1.3 · Tests & known issues · MIT license

Open issues

  • Simulator. Microphone switching, resource accounting and recovery contain known state errors.
  • Android. Concurrent groups, HAL ownership and call-focus behaviour remain unimplemented.
  • Feasibility. G0 needs a native/HAL experiment before product policy work. Two simultaneous playback paths establish M1.

Hardware milestone

G0 and M1 are pending. Required setup: one named phone and two LE Audio sinks.

  • Pin the phone, firmware, AOSP revision and sink models.
  • Instrument group ownership, HAL sessions and CIS/CIG establishment.
  • Render different tones on A and B for at least 30 seconds; repeat across ten connection cycles.
  • Correlate recordings with routing and HCI traces. Then test VoIP, explicit microphone selection, cellular calls and recovery.
Projects