Files
chanora/poc/linux_voice_test

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:

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.