38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# 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.
|