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 checksucceeds on the Fedora-based host after isolating the PoC from the workspace with a local[workspace]tablepkg-config --modversion libpipewire-0.3andpkg-config --modversion libspa-0.2both succeed on that host;pipewire-0.3is not the correct module namecargo run -- --list-devicessucceeds and lists real PipeWire devices on the host
Reproduction:
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.