What I describe here isn’t a new problem, this has been going on for a long time.
If Ardour is running with pw-jack backend, adjusting system volume makes the sound stutter. I don’t know exact word to describe this effect so I recorded a short movie, link below.
This happens if Ardour is running. It can stay idle in the background and do nothing.
No other app that uses Jack is causing this problem. I have several DAWs: Tracktion Waveform Pro, Bitwig Studio demo, even Mixbus 32C 9.1.324 demo… It’s just Ardour’s case.
We have no plans to tackle issues with the JACK backend that do not show up when using JACK1 or JACK2. If the issue only occurs with pw-jack, it is for the Pipewire team to fix.
Unfortunately, if I switch to ALSA, the system volume control does not work. No other app can play audio, and that’s unacceptable. I have custom lua script for Pipewire that renames inputs and outputs of my audio device (in_mic1, in_mic2, in_line1, in_line2, in_inst1, in_inst2, and so on) and this is not working with ALSA backend.
But maybe it’s something with my setup, wrong versions of some system libraries, wrong kernel parameters (sysctl or sth), lack of permissions, problem with my audio interface or something else? I don’t know that. That’s why I’m asking for help here and not in bug tracker (yet ).
For now I know that setting PIPEWIRE_LATENCY, clock.quantum, e.t.c. doesn’t change anything.
But there is so many parameters to adjust… maybe someone will know how to set this up correctly.
Setting the ‘performance’ governor also doesn’t help.
Also in the log window these messages appear if I adjust system volume:
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 1' (0, 1040)
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 2' (0, 1040)
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 1' (0, 1040)
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 2' (0, 1040)
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 1' (0, 1040)
2023-08-09T13:00:59 [WARNING]: Ambiguous latency for port 'auditioner/audio_out 2' (0, 1040)
I haven’t noticed any such problem in Xubuntu 22.04, using recent git versions of PW (0.3.76-31) and Ardour (7.5-285) and my built-in Intel soundcard.
Make sure you’re using the latest PipeWire. If you’re using your distro’s version there’s a chance it’s quite old and buggy, depending on the distro.
I’m starting Ardour using pw-jack -p 512 -s 48000, as opposed to your PIPEWIRE_LATENCY variant, but I don’t think that should matter.
That is to be expected. Similar to ASIO on Windows, ALSA is, largely, a low level driver that applications use exclusively. That is kind of the nature of professional audio work: whilst using an audio interface for “studio” work, you probably don’t want random other apps using it too.
However, whilst Ardour will seize exclusive use of an interface when configured to use ALSA, any interfaces it is not using should still be usable by other apps.
And as soon.as you quit Ardour, it should return the interface it was using back to the OS to be used by other apps.
Another pipewire user here, though I have never have had your particular issue. Just a couple of general remarks.
While the frequency of big changes has become lower over the last couple of months, issues like yours can still happen, as pipewire is still relatively new compared to JACK. And as pipewire is emulating JACK there can always be subtle issues only happening in a particular JACK client app (like Ardour in your case), but still being a pipewire issue.
So, Paul’s remark should really be followed: Since apparently no regular JACK/JACK2 user has the issue you have, it’s likely an issue with pipewire’s JACK emulation. So, if you want the issue to be fixed, and you don’t find an issue with your configuration on your own, the best you can do is let the pipewire team know!
As far as I know, no one from the pipewire team is active here on the Ardour forum. So to make them aware of your issue, open an issue in the pipewire issue tracker which can be found here: Issues · PipeWire / pipewire · GitLab
Yet, the first question they will ask will very likely be: “Does it happen as well using the latest git master?”
So what Peter wrote above is also highly relevant: check your current version of pipewire (run pipewire --version in the terminal) and make sure to install the newest possible version, as distro packaged versions of pipewire unfortunately often lag behind severely. (depending on your distribution of course… Fedora, where pipewire is being developed, and rolling release distros like Arch often update distro packages only a couple of hours or days after a new pipewire release).