Closed RX14 closed 3 years ago
I've been having this issue for a while as well. I've seen latency as high as 18s in a couple of minutes, the delay seems to keep going up. I am mainly testing on the discord mic-test page but have seen this take effect on Google Meet, Element and Discord on Firefox. This only occurs when I have the "Noise Reduction" plugin on. Just that plugin is enough to cause the problem. I was using the Noise Reduction plugin fine on PulseAudio but with PipeWire it has this behaviour (and often sounds stuttery but that is probably a different issue?) (I also get no output with WebRTC but I don't use that anyways so haven't investigated much, most other filters seem to work fine).
The delay does seem to only creep up when something is recording from the PulseEffects Soruce.
Here is a log where the delay got up to ~10s.
%G_MESSAGES_DEBUG=pulseeffects pulseeffects
(process:8426): pulseeffects-DEBUG: 08:41:23.460: main: locale directory: /nix/store/yji11cp6jz35fs17r7iahgbjvcqmlp95-pulseeffects-5.0.0/share/locale (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/etc/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/etc/profiles/per-user/kevincox/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/home/kevincox/.nix-profile/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/nix/store/ad7x5jmbcfi9l85cl64c68y5kz2fz0x6-gnome-settings-daemon-3.38.1/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/nix/var/nix/profiles/default/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system input presets directory: "/run/current-system/sw/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/etc/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/etc/profiles/per-user/kevincox/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/home/kevincox/.nix-profile/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/nix/store/ad7x5jmbcfi9l85cl64c68y5kz2fz0x6-gnome-settings-daemon-3.38.1/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/nix/var/nix/profiles/default/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: system output presets directory: "/run/current-system/sw/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/input (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/output (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.529: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/autoload (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.531: application: PE version: 5.0.0 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.531: pipe_manager: compiled with pipewire: 0.3.24 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.531: pipe_manager: linked to pipewire: 0.3.24 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: core version: 0.3.24 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: core name: pipewire-0 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: found metadata: default (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: found metadata: route-settings (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Audio/Source 52 alsa_input.usb-0d8c_C-Media_USB_Audio_Device-00.multichannel-input was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Audio/Sink 53 alsa_output.pci-0000_00_1b.0.analog-stereo was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Stream/Output/Audio 109 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Stream/Input/Audio 128 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Audio/Sink 65 pulseeffects_sink was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: Audio/Duplex 127 pulseeffects_source was added (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.534: pipe_manager: connected to the core (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: new metadata property: 0, default.audio.sink, Spa:String:JSON, { "name": "alsa_output.pci-0000_00_1b.0.analog-stereo" } (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.535: stoul (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: new metadata property: 0, default.audio.source, Spa:String:JSON, { "name": "alsa_input.usb-0d8c_C-Media_USB_Audio_Device-00.multichannel-input" } (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.535: stoul (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: new metadata property: 0, default.video.source, Spa:String:JSON, { "name": "v4l2_input.pci-0000_00_14.0-usb-0_2_1.0.3" } (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.535: stoul (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: new metadata property: 0, default.configured.audio.source, Spa:String:JSON, { "name": "alsa_input.usb-0d8c_C-Media_USB_Audio_Device-00.multichannel-input" } (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.535: stoul (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: Firefox port 93 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 55 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: Firefox port 129 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 57 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.535: pipe_manager: alsa_input.usb-0d8c_C-Media_USB_Audio_Device-00.multichannel-input port 54 is connected to Firefox port 78 (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.536: pipe_manager: Remote error on id:40 (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.536: pipe_manager: Remote error message:enum params id:2 (Spa:Enum:ParamId:Props) failed (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.536: pipe_manager: Remote error on id:41 (pulseeffects:8426): pulseeffects-WARNING **: 08:41:23.536: pipe_manager: Remote error message:enum params id:2 (Spa:Enum:ParamId:Props) failed (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.565: soe: using input device: 65 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.565: soe: using output device: 0 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.571: soe: limiter is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.575: soe: compressor is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.577: soe: filter is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.636: soe: equalizer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.639: soe: reverb is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.641: soe: bass_enhancer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.643: soe: exciter is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.645: soe: crossfeed is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.652: soe: maximizer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.657: soe: multiband_compressor is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.660: soe: loudness is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.662: soe: gate is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.664: soe: pitch is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.669: soe: multiband_gate is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.672: soe: deesser is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.674: soe: stereo_tools is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.679: soe: convolver is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.681: soe: crystalizer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.682: soe: autogain is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.685: soe: delay is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.687: soe: rnnoise is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.693: sie: using input device: 0 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.693: sie: using output device: 127 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.693: sie: limiter is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.694: sie: compressor is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.695: sie: filter is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.701: sie: equalizer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.702: sie: reverb is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.702: sie: gate is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.703: sie: deesser is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.704: sie: pitch is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.709: sie: webrtc is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.711: sie: multiband_compressor is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.712: sie: multiband_gate is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.712: sie: stereo_tools is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.713: sie: maximizer is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.713: sie: rnnoise is enabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/etc/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/etc/profiles/per-user/kevincox/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/home/kevincox/.nix-profile/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/nix/store/ad7x5jmbcfi9l85cl64c68y5kz2fz0x6-gnome-settings-daemon-3.38.1/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/nix/var/nix/profiles/default/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system input presets directory: "/run/current-system/sw/etc/xdg/PulseEffects/input"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/etc/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/etc/profiles/per-user/kevincox/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/home/kevincox/.nix-profile/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/nix/store/ad7x5jmbcfi9l85cl64c68y5kz2fz0x6-gnome-settings-daemon-3.38.1/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/nix/var/nix/profiles/default/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: system output presets directory: "/run/current-system/sw/etc/xdg/PulseEffects/output"; (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/input (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/output (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: user presets directory already exists: /home/kevincox/.config/PulseEffects/autoload (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.715: presets_manager: destroyed pulseeffects-INFO: 08:41:23.716: application: disabling global bypass (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.716: soe: bypass is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:23.716: sie: bypass is already disabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:24.368: convolver_ui: irs directory already exists: /home/kevincox/.config/PulseEffects/irs (pulseeffects:8426): pulseeffects-DEBUG: 08:41:24.388: rnnoise_ui: model directory already exists: /home/kevincox/.config/PulseEffects/rnnoise (pulseeffects:8426): pulseeffects-DEBUG: 08:41:24.986: rnnoise_ui: model directory already exists: /home/kevincox/.config/PulseEffects/rnnoise (pulseeffects:8426): pulseeffects-DEBUG: 08:41:25.047: sie: spectrum enabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:25.048: soe: spectrum enabled (pulseeffects:8426): pulseeffects-DEBUG: 08:41:25.859: pipe_manager: new metadata property: 128, target.node, Spa:Id, 127 (pulseeffects:8426): pulseeffects-DEBUG: 08:41:53.342: pipe_manager: Stream/Output/Audio Firefox was removed (pulseeffects:8426): pulseeffects-DEBUG: 08:41:53.342: pipe_manager: Stream/Input/Audio Firefox was removed (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.648: pipe_manager: Stream/Output/Audio 103 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.651: pipe_manager: Firefox port 66 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 55 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.651: pipe_manager: Firefox port 126 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 57 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.825: pipe_manager: Stream/Output/Audio Firefox was removed (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.827: pipe_manager: Stream/Output/Audio 128 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.829: pipe_manager: Firefox port 109 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 55 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:20.830: pipe_manager: Firefox port 78 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 57 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.809: pipe_manager: Stream/Output/Audio Firefox was removed (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.813: pipe_manager: Stream/Output/Audio 103 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.813: pipe_manager: Stream/Input/Audio 66 Firefox was added (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.817: pipe_manager: Firefox port 115 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 55 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.817: pipe_manager: Firefox port 61 is connected to alsa_output.pci-0000_00_1b.0.analog-stereo port 57 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.819: pipe_manager: pulseeffects_source port 114 is connected to Firefox port 78 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.819: pipe_manager: pulseeffects_source port 112 is connected to Firefox port 100 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.852: sie: rtkit: changed GstQueue:queue1 thread real-time priority value to 4 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.855: sie: rtkit: changed GstPipeWireSrc:source thread real-time priority value to 4 (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.862: sie: sampling rate: 48000 Hz (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.871: peadapter: input block size 1024 frames (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.871: peadapter: we will read in chunks of 480 frames (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.873: sie: total latency: 30 ms (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.879: sie: NULL -> READY -> PLAYING (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.880: sie: READY -> PAUSED -> PLAYING (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.881: sie: PAUSED -> PLAYING -> VOID_PENDING (pulseeffects:8426): pulseeffects-DEBUG: 08:42:21.881: sie: total latency: 30 ms (pulseeffects:8426): pulseeffects-DEBUG: 08:44:49.199: pipe_manager: Stream/Output/Audio Firefox was removed (pulseeffects:8426): pulseeffects-DEBUG: 08:44:49.199: pipe_manager: Stream/Input/Audio Firefox was removed
Let me know if there is anything I can do to help. I can pretty easily try arbitrary commits and patches and it is very easy for me to reproduce the issue.
This only occurs when I have the "Noise Reduction" plugin on.
@kevincox update PulseEffects to the latest release. Version 5.0.0
has many bugs that have already been fixed.
Wow, feels like 5.0.0 came out yesterday 😅. I tested on 5.0.2 and after a couple of minutes I can't notice any delay 🙌. The cracking is also gone. I'll report back if I see this happening again.
After disabling realtime It is also working well on 5.0.3.
For me the issue is still present on 5.0.3. Even without any effects enabled, the latency usually becomes noticeable after a few minutes. (For example, the indicator in pavucontrol for pulseeffects clearly lags behind that for the raw mic input.)
G_MESSAGES_DEBUG=pulseeffects pulseeffects
As the pipeline is totally different in EasyEffects 6.0.0 it will be better to open a new issue If this is still a problem.
I'm using
pulseeffects-git
from AUR right now (on Arch) with pipewire and pipewire-pulse. I'm using it to filter my microphone input into discord with rnnoise and an equaliser. The latency for this pipeline from input speech to the speech displaying on the spectrogram and being output to discord is quite high (between the spectrogram and discord is low). On first startup, the latency is high, but can be rescued by turning off and on the recording pipeline. Once the pipeline is restarted, the latency is initially low but drifts higher over time, up to around a second, unusable for voice chat. I didn't observe this behaviour on the pulseaudio version.The "reporting bugs" instructions are still for pulse, so I'm not sure what more information to provide.