feat: promote linux native audio path

This commit is contained in:
Edison Jwa
2026-05-25 17:42:06 +09:00
parent c19de3a370
commit a2d686d9d0
73 changed files with 26156 additions and 467 deletions
+37
View File
@@ -0,0 +1,37 @@
# linux_voice_test
Purpose: prove a Linux-native voice loopback path that enumerates input/output
devices and can target PipeWire or PulseAudio directly instead of relying on
`cpal`'s generic ALSA path.
Scope:
- enumerate Linux capture and playback devices through PipeWire or PulseAudio
- open a selected input and output device pair
- run local microphone-to-speaker loopback at 48 kHz mono f32
Out of scope:
- Chanora product integration
- Opus encode/decode
- jitter buffer, per-user playback controls, or persistent settings
- packaging and service lifecycle
Current validation:
- `cargo check` succeeds on the Fedora-based host after isolating the PoC from
the workspace with a local `[workspace]` table
- `pkg-config --modversion libpipewire-0.3` and `pkg-config --modversion
libspa-0.2` both succeed on that host; `pipewire-0.3` is not the correct
module name
- `cargo run -- --list-devices` succeeds and lists real PipeWire devices on the
host
Reproduction:
```bash
cd poc/linux_voice_test
cargo check
cargo run -- --list-devices
cargo run -- --backend pipewire --input 0 --output 0
```
See `VERIFICATION.md` for the exact commands and observed results captured in
this repository session.