Ardour (jack) recording is distorted after the first few xruns.
-
PipeWire version (
pipewire --version
): pipewire Compiled with libpipewire 0.3.61 Linked with libpipewire 0.3.61 -
Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): PRETTY_NAME="Fedora Linux 36 (Workstation Edition)" -
Desktop Environment: GNOME 42.4 (Wayland)
-
Kernel version (
uname -r
): 6.0.12-200.fc36.x86_64
Description of Problem:
After recording for a while and getting the first xrun, the recorded audio is distorted (similar to a 'ring/mod' effect) for a very long time. Sometimes after more xruns the 'ringing' disappears.
I have attached an audio file to demonstrate the 'ringing' sound:
It almost feels like the cursor pointer in the buffer drifted to a random location after an xrun, but I really don't know enough to tell.
How Reproducible:
This is very reliably reproduced if on my system, which has a low (but non-zero) xrun rate. I tried increasing headroom and period-size to 8192 and 1024, which somewhat mitigated the problem (by reducing the probability of xruns), but after an xrun the ringing still occurs, and xruns will inevitably happen in long sessions.
Steps to Reproduce:
- Start Ardour6 with Jack, which connects to pipewire. Pick any buffer size.
- Arm Input 0/1 for recording (setting up software monitoring can help detect the problem sooner, as the hardware monitoring is not affected by pipewire's recorded audio.)
- Starting recording till xrun occurs. Before the xrun, the recording is normal.
- distorted 'ringining' after the xrun.
- record long enough to experience more xruns, sometimes the ringing disappears.
Actual Results:
The impact of an xrun (garbled ringing effect in audio) is persistent.
Expected Results:
The duration of the impact of an xrun should have a reasonable bound.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
:
This may be hardware related, although seems like the software should at least be able to contain the impact of an xrun. I am using a Quad Cortex interface produced by Neural DSP, which uses chips similar to ADSP-SC57x and ADSP-2157x (Cortex-A5-ish) from what I could find.