PipeWire: Difference between revisions
Eliminating audio startup delays after suspend or boot on NVIDIA graphics in Home Theather systems |
Give the user more options to select how to fix audio. |
||
| Line 273: | Line 273: | ||
* Ensure the audio interface and Ardour are set to the same sample rate. Ardour8 will accept a configuration where its sample rate does not match the audio interface's sample rate, when using PipeWire, but will not actually be able to record audio unless they match. If you are unable to successfully activate a track's record button, this may be the issue. | * Ensure the audio interface and Ardour are set to the same sample rate. Ardour8 will accept a configuration where its sample rate does not match the audio interface's sample rate, when using PipeWire, but will not actually be able to record audio unless they match. If you are unable to successfully activate a track's record button, this may be the issue. | ||
=== Sound pops a few seconds after playback stops === | === Sound pops a few seconds after playback stops OR audio takes a long time to start playing after a couple of seconds === | ||
By default Wireplumber suspends a sink after 5 seconds of no playback which can create a sound pop on sensitive audio equipment. You can disable this by providing extra configuration to wireplumber but first you need to find out the name of the problematic sink in the wireplumber namespace. | By default Wireplumber suspends a sink after 5 seconds of no playback which can create a sound pop on sensitive audio equipment, or a noticeable delay on equipment that takes a moment to start back up. You can disable this by providing extra configuration to wireplumber but first you need to find out the name of the problematic sink in the wireplumber namespace (or blanket disable the functionality). | ||
<ol> | <ol> | ||
<li>'''Find out the name of the sink''' | <li>'''Find out the name of the sink (Optional)''' | ||
<ol> | <ol> | ||
<li>Run <code>pw-top</code> to monitor pipewire processes</li> | <li>Run <code>pw-top</code> to monitor pipewire processes</li> | ||
| Line 285: | Line 285: | ||
<li>'''Add configuration''': | <li>'''Add configuration''': | ||
If you want to blanket do this for all devices, you can use <code>~alsa_input.*</code> and <code>~alsa_output.*</code> to match all input and output devices. You can also use (from the step above) an exact device if you only want to change the setting for that single device. In that case you can match only a single device, and replace the node name with EG: <code>alsa_output.usb-ASUSTeK_Xonar_SoundCard-00.iec958-stereo</code>, and it will target that specific device. | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
# Disable suspend of Toslink output to prevent audio popping. | # Disable suspend of Toslink output to prevent audio popping. | ||
| Line 293: | Line 293: | ||
matches = [ | matches = [ | ||
{ | { | ||
"node.name" = "alsa_output. | "node.name" = "~alsa_input.*"; | ||
} | |||
{ | |||
"node.name" = "~alsa_output.*"; | |||
} | } | ||
]; | ]; | ||