Pulseeffects: Stutter and lag during regular usage

Created on 17 Aug 2019  路  27Comments  路  Source: wwmm/pulseeffects

I'll start by saying that I do not have any issues when not using pulseeffects.
My problems only start when pulseeffects is used.
I use the flatpak of pulseeffects on Debian Testing.

Have tried to debunk my stuttering and lag problems for a while now, but haven't found anything.
Whenever I for example play music in cmus, stuttering and lag occurs every 10 seconds.
There is also crackling sounds every minute or so.

I do not think the specs of my computer or load are any of the issues.
(Ryzen 3700X, 32GB RAM).

The only thing enabled in pulseeffects is the equalizer.
The settings in pulseeffects are standard with the exception of priority (Realtime 9).

Things I've tried are the following:

  • Remove the process of all outputs.
  • Change the priority with both realtime and renice options.
  • Renice the pulseeffects process directly.
  • Change the pulseaudio buffer.
  • Change the pulseaudio latency.
  • Unload any unneeded modules in pulseaudio.
  • Change the pulseaudio block size (both up and down).

Any suggestions for things to test?
Thanks.

Most helpful comment

Sorry for taking so long.
Seems like the 'speech-dispatcher' package was the problem.

Adding it to the blacklist (or in my case, removing the package) solved the problem.
Seems like it's installed by default on Fedora & Debian.
Weird that it is enabled though when running a different WM than Gnome, but oh well.

Thank you so much for the help.

All 27 comments

Specs are not the issue. I also have a Ryzen 3700X and 32 gb of RAM :). Although I do not believe that priorities are related to the problem I would avoid using a real time priority that is higher than the one used by Pulseaudio 5.

Kill the current PE instance pulseeffects -q and restart it in debug mode G_MESSAGES_DEBUG=pulseeffects pulseeffects. This 10 seconds periodicity in the lags maybe related to some kind of error. With luck we will see a hint in the messages printed by PE in the terminal.

Did you try other audio apps like mpv or vlc?

Ok. Good that the specs are enough :)
Priority has been changed to 5, and the issue persist.

I tried playing music in both mpv, cmus & firefox with the same result.
Here are the logs from when it played.
Does not seem like it can find anything useful to me :(

(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.541: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.541: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/input
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.541: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/output
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.541: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/autoload
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.565: application: PE version: 4.6.5
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.566: pulse_manager: context is connecting
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.566: pulse_manager: context is authorizing
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.566: pulse_manager: context is setting name
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: context is ready
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: connected to: unix:/run/user/1000/pulse/native
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: protocol version: 32
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: Pulseaudio version: 12.2
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: default pulseaudio source: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: default pulseaudio sink: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: loading Pulseeffects applications output sink...
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: default pulseaudio sink sampling rate: 44100 Hz
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.567: pulse_manager: default pulseaudio sink audio format: s32le

(pulseeffects:3): pulseeffects-WARNING **: 09:15:01.567: pulse_manager:  failed to get sink info: PulseEffects_apps

(pulseeffects:3): pulseeffects-WARNING **: 09:15:01.567: pulse_manager: Pulseaudio 12.2 does not support norewinds. Loading the sink the old way. Changing apps volume will cause cracklings
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.568: pulse_manager: loaded module-null-sink: sink_name=PulseEffects_apps sink_properties=device.description="PulseEffects(apps)"device.class="sound" channels=2 rate=44100
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.569: pulse_manager: loading Pulseeffects microphone output sink...
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.569: pulse_manager: default pulseaudio source sampling rate: 44100 Hz
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.569: pulse_manager: default pulseaudio source audio format: s16le

(pulseeffects:3): pulseeffects-WARNING **: 09:15:01.569: pulse_manager:  failed to get sink info: PulseEffects_mic

(pulseeffects:3): pulseeffects-WARNING **: 09:15:01.569: pulse_manager: Pulseaudio 12.2 does not support norewinds. Loading the sink the old way. Changing apps volume will cause cracklings
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.569: pulse_manager: loaded module-null-sink: sink_name=PulseEffects_mic sink_properties=device.description="PulseEffects(mic)"device.class="sound" channels=2 rate=44100
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.587: sie: using input device: PulseEffects_apps.monitor
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.587: sie: using output device: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.599: sie: limiter is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.601: sie: compressor is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.602: sie: filter is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.636: sie: equalizer is enabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.638: sie: reverb is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.639: sie: bass_enhancer is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.640: sie: exciter is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.642: sie: crossfeed is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.643: sie: maximizer is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.645: sie: multiband_compressor is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.646: sie: loudness is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.647: sie: gate is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.649: sie: pitch is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.652: sie: multiband_gate is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.653: sie: deesser is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.654: sie: stereo_tools is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.656: sie: convolver is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.657: sie: crystalizer is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.658: sie: autogain is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.660: sie: delay is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.670: soe: using output device: PulseEffects_mic
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.670: soe: using input device: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.671: soe: limiter is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.671: soe: compressor is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.671: soe: filter is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.676: soe: equalizer is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.676: soe: reverb is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.676: soe: gate is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.677: soe: deesser is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.678: soe: pitch is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.681: soe: webrtc is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.681: soe: multiband_compressor is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.682: soe: multiband_gate is already disabled
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.683: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.683: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/input
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.683: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/output
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.683: presets_manager: user presets directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/autoload
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.683: presets_manager: destroyed
(pulseeffects:3): pulseeffects-DEBUG: 09:15:01.864: convolver_ui: irs directory already exists: /home/user/.var/app/com.github.wwmm.pulseeffects/config/PulseEffects/irs

(pulseeffects:3): pulseeffects-WARNING **: 09:15:02.119: pulse_info: pulseaudio --dump-conf : execve failed: No such file or directory

(pulseeffects:3): pulseeffects-WARNING **: 09:15:02.121: pulse_info: pulseaudio --dump-resample-methods : execve failed: No such file or directory
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.265: sie: total latency: 0 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.265: soe: total latency: 0 ms

(pulseeffects:3): pulseeffects-WARNING **: 09:15:02.276: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory

(pulseeffects:3): pulseeffects-WARNING **: 09:15:02.276: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory

(pulseeffects:3): pulseeffects-WARNING **: 09:15:02.279: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.279: sie: sampling rate: 44100 Hz
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.310: peadapter: pulseaudio block size 441 frames
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.310: peadapter: we will read in chunks of 512 frames
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.311: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: sie: using output device: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: output device changed: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added sink: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added sink: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added sink: alsa_output.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added source: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo.monitor
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added source: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2.monitor
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added source: alsa_output.pci-0000_0f_00.4.analog-stereo.monitor
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: soe: using input device: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: input device changed: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.320: pulse_settings_ui: added source: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.321: sie: NULL -> READY -> PLAYING
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: READY -> PAUSED -> PLAYING
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: pulsesrc latency [us]: 10000
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: pulsesrc buffer [us]: 200000
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: pulsesink latency [us]: 10000
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.322: sie: pulsesink buffer [us]: 200000
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.323: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.323: sie: PAUSED -> PLAYING -> VOID_PENDING
(pulseeffects:3): pulseeffects-DEBUG: 09:15:02.323: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.013: sie: NULL -> VOID_PENDING
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.013: soe: NULL -> VOID_PENDING

(pulseeffects:3): pulseeffects-WARNING **: 09:17:04.018: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory

(pulseeffects:3): pulseeffects-WARNING **: 09:17:04.018: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.018: sie: NULL -> READY -> PLAYING
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.018: sie: READY -> PAUSED -> PLAYING

(pulseeffects:3): pulseeffects-WARNING **: 09:17:04.020: sie: rtkit: MakeThreadRealtime: GDBus.Error:org.freedesktop.DBus.Error.Failed: No such file or directory
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.020: sie: sampling rate: 44100 Hz
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.034: sie: pulsesrc latency [us]: 10000
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.034: sie: pulsesrc buffer [us]: 200000
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.034: sie: total latency: 0 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.055: peadapter: pulseaudio block size 441 frames
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.055: peadapter: we will read in chunks of 512 frames
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.057: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.058: sie: pulsesink latency [us]: 10000
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.058: sie: pulsesink buffer [us]: 200000
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.058: sie: total latency: 121 ms
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.058: sie: PAUSED -> PLAYING -> VOID_PENDING
(pulseeffects:3): pulseeffects-DEBUG: 09:17:04.058: sie: total latency: 121 ms

I did not pay attention you were using flatpak. The priority control does not work when PE is installed through flatpak. You can see more info about this in #445. So we can ignore the errors related to rtkit. In any case as I said before I do not believe priorities values are the source of your problem. Standard priorities are enough in fast machines.

Flatpak limitations are also the reason why you have warnings related to pulse_info. At this moment the sandboxed environment created by flatpak does not give access to Pulseaudio executable. We need this access just to show info about Pulseaudio config. Lack of this functionality won't cause the problem you are facing.

There are a few warnings related to pulse_manager but they are also expected. Only Pulseaudio 13(still to be released) will have the norewinds options. I am using Pulseaudio 12.2 too. So these warnings can also be ignored.

In the end I see nothing in your logs that could explain what is happening. Maybe we are facing a new flatpak issue that affects only a few users. You can see one of these in #501. One user reported that in his machine the flatpak package has issues while the native package works fine. This could be your case so if possible try to use a native package so we can know if this is the case. If the native package also has issues we will have to take a look at Pulseaudio logs as explained here https://github.com/wwmm/pulseeffects/wiki/Reporting-Bugs.

Ok. Unfortunately it looks like a native installation on Debian Testing (10) is not really possible as the dependencies are broken for it.

The following packages have unmet dependencies:
 pulseeffects : Depends: libboost-filesystem1.65.1 but it is not installable
                Depends: libboost-system1.65.1 but it is not installable
                Recommends: calf-plugins (>= 0.90.0) but it is not going to be installed
                Recommends: zam-plugins but it is not going to be installed
                Recommends: rubberband-ladspa but it is not going to be installed
                Recommends: mda-lv2 but it is not going to be installed
                Recommends: lsp-plugins-lv2 but it is not going to be installed or
                            lsp-plugins but it is not going to be installed
                Recommends: gstreamer1.0-convolver-pulseeffects but it is not going to be installed
                Recommends: gstreamer1.0-crystalizer-pulseeffects but it is not going to be installed
                Recommends: gstreamer1.0-autogain-pulseeffects but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Guess I'll just run without any equalizing.
Thanks for the help anyways! :)

As it is available in the Debian Testing repos, I was finally able to test the native version.
Unfortunately, the stutter and lag issues still persist. Although not as often.

Once again pulseeffects debug log does not show anything useful for this.
Any other things I should try?

Are you able to record a video with these lags and put on youtube? May if I see what is going on I can have an idea of what is happening.

There are cracklings like the one in #350 that will only be fixed when Pulseaudio 13 is released.

Sure!
Good to know about the cracks being fixed in a later release of pulse.
I do think this is unrelated though.

Hopefully you can hear the skipping and stutter in the video below:
https://youtu.be/bAdPMshBCFU

Thanks again for helping me out :)

They are very subtle but I was able to hear them. These ones are new to me. Usually when people have this kind of problem they are way easier to notice. I found the youtube link of the original video but for some reason I have no idea of those subtle stutters do not happen on my computer. I tried both with Firefox and Chrome. Nothing happens =/.

Although I have no clue yet about the source of your problem your htop output feels a little odd. Pulseaudio cpu usage seems way too high. Maybe it is because you were recording the video. Maybe not... But take a look at my htop output when I watch the original video on Firefox
Screenshot from 2019-08-31 11-36-02
We have the same cpu but somehow both Firefox, PulseEffects and Pulseaudio are using way more processing power on you computer. And I have more plugins enabled in PulseEffects. Really strange.

As far as I remember I did not change htop settings. So it should be measuring the cpu usage in its standard scale.

The pulseaudio cpu usage is high because of the recording process.
When playing the video by itself, the load is almost nothing and pulseaudio is stable around 2% cpu.

It really is a weird problem :(

EDIT: The low cpu usage quoted above is when pulseeffects is turned off.
It is around 20% when pulseeffects is enabled.

This should not happen. As you can see in my htop image above Pulseaudio is around 3% and PulseEffects around 10%. Did you change your latency to a very low value? At least in the logs you pasted above you were using the default value of 10000 us sie: pulsesrc latency [us]: 10000. The default value should not make Pulseaudio cpu usage increase like that. But with low values like 10 us or 100 us Pulseaudio demands more processing power.

Yeah that is a bit odd.
No, the value is still 10000.
Here is a new "dump" if that contributes any data.

(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.055: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.056: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/input
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.056: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/output
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.056: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/autoload
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.085: application: PE version: 4.6.6                
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.085: pulse_manager: context is connecting          
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: context is authorizing         
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: context is setting name        
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: context is ready               
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: connected to: /run/user/1000/pulse/native
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: protocol version: 33           
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: Pulseaudio version: 12.99.2
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: default pulseaudio source: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.086: pulse_manager: default pulseaudio sink: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.087: pulse_manager: loading Pulseeffects applications output sink...
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.087: pulse_manager: default pulseaudio sink sampling rate: 44100 Hz
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.087: pulse_manager: default pulseaudio sink audio format: s32le
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.087: pulse_manager:  failed to get sink info: PulseEffects_apps
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.089: pulse_manager: loaded module-null-sink: sink_name=PulseEffects_apps sink_properties=device.description="PulseEffects(apps)"device.class="sound" norew
inds=1                                                                                                
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.090: pulse_manager: loading Pulseeffects microphone output sink...
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.090: pulse_manager: default pulseaudio source sampling rate: 44100 Hz
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.090: pulse_manager: default pulseaudio source audio format: s16le
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.090: pulse_manager:  failed to get sink info: PulseEffects_mic
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.090: pulse_manager: loaded module-null-sink: sink_name=PulseEffects_mic sink_properties=device.description="PulseEffects(mic)"device.class="sound" norewin
ds=1                                                                                                  
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.112: sie: using input device: PulseEffects_apps.monitor
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.112: sie: using output device: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.124: sie: limiter is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.126: sie: compressor is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.127: sie: filter is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.162: sie: equalizer is enabled        
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.164: sie: reverb is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.165: sie: bass_enhancer is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.166: sie: exciter is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.168: sie: crossfeed is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.169: sie: maximizer is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.172: sie: multiband_compressor is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.172: sie: loudness is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.174: sie: gate is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.175: sie: pitch is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.178: sie: multiband_gate is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.179: sie: deesser is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.181: sie: stereo_tools is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.183: sie: convolver is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.184: sie: crystalizer is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.185: sie: autogain is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.187: sie: delay is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.197: soe: using output device: PulseEffects_mic
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.197: soe: using input device: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.197: soe: limiter is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.198: soe: compressor is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.198: soe: filter is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.204: soe: equalizer is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.204: soe: reverb is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.205: soe: gate is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.206: soe: deesser is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.207: soe: pitch is already disabled     
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.210: soe: webrtc is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.210: soe: multiband_compressor is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.211: soe: multiband_gate is already disabled
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.212: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.212: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/input
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.212: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/output
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.212: presets_manager: user presets directory already exists: /home/user/.config/PulseEffects/autoload
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.212: presets_manager: destroyed
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.389: convolver_ui: irs directory already exists: /home/user/.config/PulseEffects/irs
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.855: sie: total latency: 0 ms
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.855: soe: total latency: 0 ms
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.871: sie: rtkit: changed GstQueue:queue0 thread real-time priority value to 5
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.873: sie: rtkit: changed GstPulseSrc:source thread real-time priority value to 5
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.877: sie: rtkit: changed GstPulseSrc:source thread real-time priority value to 5
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:28.877: sie: sampling rate: 44100 Hz
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.324: peadapter: pulseaudio block size 441 frames
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.324: peadapter: we will read in chunks of 512 frames
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.336: sie: total latency: 141 ms
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added sink: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: sie: using output device: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: output device changed: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added sink: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added sink: alsa_output.pci-0000_0f_00.4.iec958-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added source: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2.monitor
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added source: alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_00000000-00.analog-stereo.monitor
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added source: alsa_output.pci-0000_0f_00.4.iec958-stereo.monitor
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: soe: using input device: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: input device changed: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.357: pulse_settings_ui: added source: alsa_input.pci-0000_0f_00.4.analog-stereo
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.358: sie: NULL -> READY -> PLAYING
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.358: sie: READY -> PAUSED -> PLAYING
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: pulsesrc latency [us]: 10000
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: pulsesrc buffer [us]: 200000             
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: total latency: 141 ms       
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: pulsesink latency [us]: 10000
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: pulsesink buffer [us]: 200000
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: total latency: 141 ms                                                                                                                           
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: PAUSED -> PLAYING -> VOID_PENDING
(pulseeffects:2934): pulseeffects-DEBUG: 17:04:30.359: sie: total latency: 141 ms  

Try the following test:

pulseeffects -q
pactl load-module module-null-sink sink_name="test"
gst-launch-1.0 pulsesrc device="test.monitor" ! queue ! pulsesink

Now open Pavucontrol and force Firefox to play the video using the null sink device created above as audio output. What happens to Pulseaudio cpu usage? Do the stutters still happen? Once the test is done you can unload the null sink by running pactl unload-module module-null-sink

In PulseEffects all audio processing is done using GStreamer in a way that is quite similar to the pipeline above.

Pulseaudio version: 12.99.2 It has been a while since I tested Pulseaudio development version. Maybe something changed in it that I am not aware of. I will try to compile Pulseaudio when I have time.

Never mind. You tried with 12.2 before so...

I tried that now, and cpu usage of pulseaudio is still around 2-3% with the null sink playing.
No stutters occur.

Thanks again for helping me with this. Very grateful :)

Then there is something happening in PulseEffects. The pulsesrc plugin uses latency = 10000 us by default. So it is not it. Buffer values should not cause this too =/. I took a look at PE sources and there are a few options we set in the pipeline above. When possible try the test with this longer version

gst-launch-1.0 pulsesrc device="test.monitor" provide-clock=0 slave-method=1 do-timestamp=1 ! queue silent=1 flush-on-eos=1 max-size-buffers=0 max-size-bytes=1 max-size-time=0 ! pulsesink provide-clock=1

What happens when you disable the equalizer plugin but still forces Firefox output to pass through PulseEffects? Same issues?

Try also with

gst-launch-1.0 pulsesrc device="test.monitor" ! queue ! peadapter ! pulsesink

peadapter is a plugin that I had to write to force buffer sizes with power of 2 values. Maybe in some cases it has side effects I am not aware of.

No stuttering occurs with either of the 'gst-launch' commands.
Also, when running firefox without equalizer but with pulseeffects running, the stuttering still occurs.

One thing I've noticed now by experimenting, is that the stuttering does not occur if pulse is killed and then started again.
The amount of playing stuff in pavucontrol is reduced by a lot in this scenario also.

Before and after restarting pulseaudio can be seen here: https://imgur.com/a/OPTHvuh

Strange. At first site I do not see how restarting Pulseaudio could make a difference to the stuttering. But it is a sign something may be wrong with Pulseaudio.

The reason why you have less entries is because your desktop probably did not restart its sound notification client after Pulseaudio was killed.

Maybe these system sound notifications are the cause of the stuttering. As PulseEffects is appling effects for all apps these notifications will be moved to our sink and when this happen Pulseaudio may have to do something to the sink and to the previously connected streams that is causing those subtle delays.

Which desktop are you using? It would be good to blacklist these notifications in PulseEffects. We already do this for some desktops.

In case you want to test if this blacklist can solve the problem take a look at the name with which these notifications are shown in PE Applications section and add them to the user blacklist
Screenshot from 2019-09-01 13-21-07

You have to restart PE or the desktop for this blacklist to take effect

Sorry for taking so long.
Seems like the 'speech-dispatcher' package was the problem.

Adding it to the blacklist (or in my case, removing the package) solved the problem.
Seems like it's installed by default on Fedora & Debian.
Weird that it is enabled though when running a different WM than Gnome, but oh well.

Thank you so much for the help.

Just to mention I had the same issue and it was also caused by speech-dispatcher & Orca.
Thanks R4WBIT.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

marioortizmanero picture marioortizmanero  路  5Comments

ErrantPixie picture ErrantPixie  路  5Comments

alexbramford picture alexbramford  路  4Comments

teneri66 picture teneri66  路  4Comments

BERNARDO31P picture BERNARDO31P  路  5Comments