roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.03k stars 205 forks source link

Add PulseAudio support to signal-estimator #553

Open gavv opened 9 months ago

gavv commented 9 months ago

signal-estimator is a tool for measuring latency.

We plan to use it in rt-tests (real-time test suite for roc) to create regression tests for latency in roc.

Currently, signal-estimator supports only ALSA devices. This makes it hard to use it on desktop where exclusive access to ALSA is typically acquired by PulseAudio or PipeWire.

It would be nice to teach signal-estimator to work with PulseAudio devices as well, which will allow us to run rt-tests on desktop without additional setup.

Implementation of PulseAudio backend can be copied, with minimal modifications, from roc. We already have it here: https://github.com/roc-streaming/roc-toolkit/tree/develop/src/internal_modules/roc_sndio/target_pulseaudio/roc_sndio

For further details, please refer to the issue in signal-estimator repo: https://github.com/gavv/signal-estimator/issues/1