After 2.4 update
-
k.s.deviate
- Posts: 39
- Joined: Mon Nov 24, 2025 7:32 pm
Re: After 2.4 update
Now i understand why qpwgraphs flow looks the way it does after boot. Its the correct way.. I get audio now for some reason, it is crackly and a little quieter than expected but it seems to work. idk why now and not before.
Any ideas into the crackling at volume change? it seems to be the most audible while AA is open.
Any ideas into the crackling at volume change? it seems to be the most audible while AA is open.
Re: After 2.4 update
We tried to reproduce your setup. We connected headphones instead of a Bluetooth amplifier, but it should work the same way from PipeWire's perspective. Everything worked out of the box and we didn't observe any audio glitches. The routing generated by PipeWire looks identical.
pactl list sinks
pactl list sources
pactl list sinks
Code: Select all
Sink #55
State: SUSPENDED
Name: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo
Description: Audio Adapter (Unitek Y-247A) Analog Stereo
Driver: PipeWire
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 26214 / 40% / -23.88 dB, front-right: 26214 / 40% / -23.88 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "USB Audio Device"
alsa.class = "generic"
alsa.components = "USB0d8c:0014"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
api.alsa.card.name = "USB Audio Device"
api.alsa.path = "front:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "sound"
device.icon_name = "audio-card-analog"
device.id = "48"
device.profile.description = "Analog Stereo"
device.profile.name = "analog-stereo"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Audio Adapter (Unitek Y-247A)"
node.name = "alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo"
node.nick = "USB Audio Device"
node.pause-on-idle = "false"
object.path = "alsa:acp:Device:3:playback"
port.group = "playback"
priority.driver = "1009"
priority.session = "1009"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "55"
object.serial = "55"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.split-enable = "true"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "usb"
device.bus-id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
device.enum.api = "udev"
device.name = "alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.nick = "USB Audio Device"
device.plugged.usec = "6662726"
device.product.id = "0x0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.subsystem = "sound"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card0"
device.vendor.id = "0x0d8c"
device.vendor.name = "C-Media Electronics, Inc."
spa.object.id = "2"
device.string = "0"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
Active Port: analog-output-speaker
Formats:
pcm
Sink #85
State: RUNNING
Name: bluez_output.74_45_CE_FF_FF_FF.1
Description: WH-CH510
Driver: PipeWire
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 42315 / 65% / -11.40 dB, front-right: 42315 / 65% / -11.40 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: bluez_output.74_45_CE_FF_FF_FF.1.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
api.bluez5.address = "74:45:CE:FF:FF:FF"
api.bluez5.codec = "sbc"
api.bluez5.profile = "a2dp-sink"
api.bluez5.transport = ""
bluez5.loopback = "false"
card.profile.device = "1"
device.id = "79"
device.routes = "1"
factory.name = "api.bluez5.a2dp.sink"
device.description = "WH-CH510"
node.name = "bluez_output.74_45_CE_FF_FF_FF.1"
node.pause-on-idle = "false"
priority.driver = "1010"
priority.session = "1010"
spa.object.id = "1"
factory.id = "12"
clock.quantum-limit = "8192"
device.api = "bluez5"
media.class = "Audio/Sink"
media.name = "WH-CH510"
node.driver = "true"
port.group = "stream.0"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "80"
object.serial = "85"
client.id = "47"
node.driver-id = "56"
api.bluez5.class = "0x240404"
api.bluez5.connection = "connected"
api.bluez5.device = ""
api.bluez5.icon = "audio-headset"
api.bluez5.path = "/org/bluez/hci0/dev_74_45_CE_FF_FF_FF"
bluez5.auto-connect = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]"
bluez5.profile = "off"
device.alias = "WH-CH510"
device.bus = "bluetooth"
device.form_factor = "headset"
device.icon_name = "audio-headset-bluetooth"
device.name = "bluez_card.74_45_CE_FF_FF_FF"
device.product.id = "0x223b"
device.string = "74:45:CE:FF:FF:FF"
device.vendor.id = "bluetooth:005d"
Ports:
headset-output: Headset (type: Headset, priority: 0, available)
Active Port: headset-output
Formats:
pcm
Sink #97
State: RUNNING
Name: hudiy_equalizer_sink
Description: hudiy_equalizer_sink Sink
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 536870916
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: hudiy_equalizer_sink.monitor
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "hudiy_equalizer_sink"
media.class = "Audio/Sink"
device.class = "filter"
audio.channels = "2"
audio.position = "[ FL, FR ]"
node.group = "ladspa-sink-536870916"
pulse.module.id = "536870916"
device.description = "hudiy_equalizer_sink Sink"
node.link-group = "filter-chain-1281-13"
node.virtual = "true"
resample.prefill = "true"
resample.disable = "true"
media.name = "hudiy_equalizer_sink Sink input"
stream.is-live = "true"
node.want-driver = "true"
node.autoconnect = "true"
port.group = "stream.0"
adapt.follower.spa-node = ""
object.register = "false"
factory.id = "7"
clock.quantum-limit = "8192"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
client.id = "89"
object.id = "90"
object.serial = "97"
node.driver-id = "56"
Formats:
pcm
Sink #112
State: RUNNING
Name: echo_cancel_sink
Description: Echo-Cancel Sink
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 536870917
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: echo_cancel_sink.monitor
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "echo_cancel_sink"
pulse.module.id = "536870917"
device.description = "Echo-Cancel Sink"
media.class = "Audio/Sink"
node.group = "echo-cancel-1281-14"
node.link-group = "echo-cancel-1281-14"
node.virtual = "true"
audio.channels = "2"
audio.position = "[ FL, FR ]"
resample.prefill = "true"
node.latency = "480/48000"
media.name = "Echo-Cancel Sink"
stream.is-live = "true"
node.want-driver = "true"
port.group = "stream.0"
adapt.follower.spa-node = ""
object.register = "false"
factory.id = "7"
clock.quantum-limit = "8192"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
client.id = "100"
object.id = "103"
object.serial = "112"
node.driver-id = "56"
Formats:
pcm
Code: Select all
Source #55
State: SUSPENDED
Name: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo.monitor
Description: Monitor of Audio Adapter (Unitek Y-247A) Analog Stereo
Driver: PipeWire
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "USB Audio Device"
alsa.class = "generic"
alsa.components = "USB0d8c:0014"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
api.alsa.card.name = "USB Audio Device"
api.alsa.path = "front:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "monitor"
device.icon_name = "audio-card-analog"
device.id = "48"
device.profile.description = "Analog Stereo"
device.profile.name = "analog-stereo"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Audio Adapter (Unitek Y-247A)"
node.name = "alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.analog-stereo"
node.nick = "USB Audio Device"
node.pause-on-idle = "false"
object.path = "alsa:acp:Device:3:playback"
port.group = "playback"
priority.driver = "1009"
priority.session = "1009"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "55"
object.serial = "55"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.split-enable = "true"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "usb"
device.bus-id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
device.enum.api = "udev"
device.name = "alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.nick = "USB Audio Device"
device.plugged.usec = "6662726"
device.product.id = "0x0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.subsystem = "sound"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card0"
device.vendor.id = "0x0d8c"
device.vendor.name = "C-Media Electronics, Inc."
spa.object.id = "2"
device.string = "0"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability unknown)
Active Port: analog-output-speaker
Formats:
pcm
Source #56
State: RUNNING
Name: alsa_input.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.mono-fallback
Description: Audio Adapter (Unitek Y-247A) Mono
Driver: PipeWire
Sample Specification: s16le 1ch 48000Hz
Channel Map: mono
Owner Module: 4294967295
Mute: no
Volume: mono: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 27111 / 41% / -23.00 dB
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "USB Audio Device"
alsa.class = "generic"
alsa.components = "USB0d8c:0014"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "C-Media Electronics Inc. USB Audio Device at usb-0000:01:00.0-1.3, full speed"
api.alsa.card.name = "USB Audio Device"
api.alsa.path = "hw:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "capture"
audio.channels = "1"
audio.position = "MONO"
card.profile.device = "2"
device.api = "alsa"
device.class = "sound"
device.icon_name = "audio-card-analog"
device.id = "48"
device.profile.description = "Mono"
device.profile.name = "mono-fallback"
device.routes = "1"
factory.name = "api.alsa.pcm.source"
media.class = "Audio/Source"
device.description = "Audio Adapter (Unitek Y-247A)"
node.name = "alsa_input.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.mono-fallback"
node.nick = "USB Audio Device"
node.pause-on-idle = "false"
object.path = "alsa:acp:Device:2:capture"
port.group = "capture"
priority.driver = "2000"
priority.session = "2000"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "56"
object.serial = "56"
node.max-latency = "16384/48000"
api.alsa.period-size = "128"
api.alsa.period-num = "256"
api.alsa.headroom = "128"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.split-enable = "true"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "usb"
device.bus-id = "usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
device.enum.api = "udev"
device.name = "alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00"
device.nick = "USB Audio Device"
device.plugged.usec = "6662726"
device.product.id = "0x0014"
device.product.name = "Audio Adapter (Unitek Y-247A)"
device.serial = "C-Media_Electronics_Inc._USB_Audio_Device"
device.subsystem = "sound"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card0"
device.vendor.id = "0x0d8c"
device.vendor.name = "C-Media Electronics, Inc."
spa.object.id = "2"
device.string = "0"
Ports:
analog-input-mic: Microphone (type: Mic, priority: 8700, availability unknown)
Active Port: analog-input-mic
Formats:
pcm
Source #85
State: RUNNING
Name: bluez_output.74_45_CE_FF_FF_FF.1.monitor
Description: Monitor of WH-CH510
Driver: PipeWire
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: bluez_output.74_45_CE_FF_FF_FF.1
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
api.bluez5.address = "74:45:CE:FF:FF:FF"
api.bluez5.codec = "sbc"
api.bluez5.profile = "a2dp-sink"
api.bluez5.transport = ""
bluez5.loopback = "false"
card.profile.device = "1"
device.id = "79"
device.routes = "1"
factory.name = "api.bluez5.a2dp.sink"
device.description = "WH-CH510"
node.name = "bluez_output.74_45_CE_FF_FF_FF.1"
node.pause-on-idle = "false"
priority.driver = "1010"
priority.session = "1010"
spa.object.id = "1"
factory.id = "12"
clock.quantum-limit = "8192"
device.api = "bluez5"
media.class = "Audio/Sink"
media.name = "WH-CH510"
node.driver = "true"
port.group = "stream.0"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "80"
object.serial = "85"
client.id = "47"
node.driver-id = "56"
api.bluez5.class = "0x240404"
api.bluez5.connection = "connected"
api.bluez5.device = ""
api.bluez5.icon = "audio-headset"
api.bluez5.path = "/org/bluez/hci0/dev_74_45_CE_FF_FF_FF"
bluez5.auto-connect = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]"
bluez5.profile = "off"
device.alias = "WH-CH510"
device.bus = "bluetooth"
device.form_factor = "headset"
device.icon_name = "audio-headset-bluetooth"
device.name = "bluez_card.74_45_CE_FF_FF_FF"
device.product.id = "0x223b"
device.string = "74:45:CE:FF:FF:FF"
device.vendor.id = "bluetooth:005d"
device.class = "monitor"
Ports:
headset-output: Headset (type: Headset, priority: 0, available)
Active Port: headset-output
Formats:
pcm
Source #97
State: RUNNING
Name: hudiy_equalizer_sink.monitor
Description: Monitor of hudiy_equalizer_sink Sink
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 536870916
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: hudiy_equalizer_sink
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "hudiy_equalizer_sink"
media.class = "Audio/Sink"
device.class = "monitor"
audio.channels = "2"
audio.position = "[ FL, FR ]"
node.group = "ladspa-sink-536870916"
pulse.module.id = "536870916"
device.description = "hudiy_equalizer_sink Sink"
node.link-group = "filter-chain-1281-13"
node.virtual = "true"
resample.prefill = "true"
resample.disable = "true"
media.name = "hudiy_equalizer_sink Sink input"
stream.is-live = "true"
node.want-driver = "true"
node.autoconnect = "true"
port.group = "stream.0"
adapt.follower.spa-node = ""
object.register = "false"
factory.id = "7"
clock.quantum-limit = "8192"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
client.id = "89"
object.id = "90"
object.serial = "97"
node.driver-id = "56"
Formats:
pcm
Source #111
State: IDLE
Name: echo_cancel_source
Description: Echo-Cancel Source
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 536870917
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "echo_cancel_source"
pulse.module.id = "536870917"
device.description = "Echo-Cancel Source"
media.class = "Audio/Source"
node.group = "echo-cancel-1281-14"
node.link-group = "echo-cancel-1281-14"
node.virtual = "true"
audio.channels = "2"
audio.position = "[ FL, FR ]"
resample.prefill = "true"
node.latency = "480/48000"
media.name = "Echo-Cancel Source"
stream.is-live = "true"
node.want-driver = "true"
port.group = "stream.0"
adapt.follower.spa-node = ""
object.register = "false"
factory.id = "7"
clock.quantum-limit = "8192"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
client.id = "100"
object.id = "102"
object.serial = "111"
node.driver-id = "56"
Formats:
pcm
Source #112
State: RUNNING
Name: echo_cancel_sink.monitor
Description: Monitor of Echo-Cancel Sink
Driver: PipeWire
Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 536870917
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: echo_cancel_sink
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "echo_cancel_sink"
pulse.module.id = "536870917"
device.description = "Echo-Cancel Sink"
media.class = "Audio/Sink"
node.group = "echo-cancel-1281-14"
node.link-group = "echo-cancel-1281-14"
node.virtual = "true"
audio.channels = "2"
audio.position = "[ FL, FR ]"
resample.prefill = "true"
node.latency = "480/48000"
media.name = "Echo-Cancel Sink"
stream.is-live = "true"
node.want-driver = "true"
port.group = "stream.0"
adapt.follower.spa-node = ""
object.register = "false"
factory.id = "7"
clock.quantum-limit = "8192"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
client.id = "100"
object.id = "103"
object.serial = "112"
node.driver-id = "56"
device.class = "monitor"
Formats:
pcm
-
k.s.deviate
- Posts: 39
- Joined: Mon Nov 24, 2025 7:32 pm
Re: After 2.4 update
Could it be that I dont have a defined source? I see you have the qtm-pulse stream.. set as input to the hudiy_equalizer_sink.hudiy wrote: Sun Jan 25, 2026 5:48 pm We tried to reproduce your setup. We connected headphones instead of a Bluetooth amplifier, but it should work the same way from PipeWire's perspective. Everything worked out of the box and we didn't observe any audio glitches. The routing generated by PipeWire looks identical.
20260125_18h32m14s_grim.png
Re: After 2.4 update
QtmPulseStream on the screenshot is just a sink input (in this case from Android Auto). Sink inputs appear automatically once you start playback in any app (Hudiy, web browser, vlc, etc).
We also checked the PipeWire GitLab and found several issues regarding Bluetooth devices where volume control doesn't work. It’s possible your amplifier is one of those devices:
https://gitlab.freedesktop.org/pipewire ... ssues/3786
https://gitlab.freedesktop.org/pipewire ... ssues/4793
https://gitlab.freedesktop.org/pipewire ... ssues/3225
You can try to add your device to the /usr/share/spa-0.2/bluez5/bluez-hardware.conf and check if that helps.
We also checked the PipeWire GitLab and found several issues regarding Bluetooth devices where volume control doesn't work. It’s possible your amplifier is one of those devices:
https://gitlab.freedesktop.org/pipewire ... ssues/3786
https://gitlab.freedesktop.org/pipewire ... ssues/4793
https://gitlab.freedesktop.org/pipewire ... ssues/3225
You can try to add your device to the /usr/share/spa-0.2/bluez5/bluez-hardware.conf and check if that helps.
Code: Select all
{ address = "~^e9:a7:26:", no-features = [ hw-volume ]}, # DSP audio5.0 V1
-
k.s.deviate
- Posts: 39
- Joined: Mon Nov 24, 2025 7:32 pm
Re: After 2.4 update
I had a feeling I might be experiencing interference with bluetooth. I put a usb bluetooth adapter and swapped over to it and, everything works as expected. I had read somewhere that usb 3.0 devices interfere with bluetooth on the pi4, I'm using a usb 3.0 drive to boot from.
Would adding my device to ~/bluez-hardware.conf be advantageous?
Would adding my device to ~/bluez-hardware.conf be advantageous?
Re: After 2.4 update
If it is not the issue with volume control then you shouldn't modify bluez-hardware.conf.
If your setup works stable with external Bluetooth adapter it might indicate some incompatibility between your amplifier and built-in BRCM chip.
Kernel communicates with built-in Bluetooth chip via PL011 UART which seems to be unrelated to the USB.
If your setup works stable with external Bluetooth adapter it might indicate some incompatibility between your amplifier and built-in BRCM chip.
Kernel communicates with built-in Bluetooth chip via PL011 UART which seems to be unrelated to the USB.
-
k.s.deviate
- Posts: 39
- Joined: Mon Nov 24, 2025 7:32 pm
Re: After 2.4 update
From initial search, but there are documented accounts.
The Raspberry Pi 4 is widely known to experience radio frequency (RF) interference between its USB 3.0 ports and wireless signals, specifically Bluetooth and 2.4 GHz Wi-Fi. This interference occurs because the high-speed data transmission on USB 3.0 generates noise in the 2.4 GHz spectrum, which is the exact frequency used by Bluetooth.
Common Symptoms
Reduced Range: Bluetooth devices (keyboards, controllers, sensors) only work when within 1–2 meters of the Pi.
Connection Instability: Frequent disconnects, "stuttering" inputs, or failure to pair even if the device is detected.
Total Failure: In some cases, high-speed SSD activity on a USB 3.0 port can completely "jam" the Bluetooth controller.
The Raspberry Pi 4 is widely known to experience radio frequency (RF) interference between its USB 3.0 ports and wireless signals, specifically Bluetooth and 2.4 GHz Wi-Fi. This interference occurs because the high-speed data transmission on USB 3.0 generates noise in the 2.4 GHz spectrum, which is the exact frequency used by Bluetooth.
Common Symptoms
Reduced Range: Bluetooth devices (keyboards, controllers, sensors) only work when within 1–2 meters of the Pi.
Connection Instability: Frequent disconnects, "stuttering" inputs, or failure to pair even if the device is detected.
Total Failure: In some cases, high-speed SSD activity on a USB 3.0 port can completely "jam" the Bluetooth controller.
Re: After 2.4 update
We did some googling, and there are indeed a lot of reports that USB 3.0 causes interference with Bluetooth and 2.4GHz WiFi on Pi4. Thanks for pointing it out. Apparently, the problem doesn't occur when devices are connected to USB 2.0 ports.
-
k.s.deviate
- Posts: 39
- Joined: Mon Nov 24, 2025 7:32 pm
Re: After 2.4 update
Some weird behavior, audio still wont automatically play through the bluetooth dsp. A few days ago i could get audio to work by selecting the dsp in the audio dropdown and then going into Hudiy. This is qpwgraph after selecting it https://imgur.com/sVEixzk and here is a video and a few pictures showing what qpwgraph looks like immediately after exiting Hudiy.
https://imgur.com/SeZscUk https://imgur.com/B8bxgiU https://imgur.com/FV2T0Rz
https://imgur.com/5JgQQvu
However, now, (I changed nothing) I still have to select the dsp from the dropdown but qpwgraph looks like this https://imgur.com/vvHOFVj and it looks like this after exiting Hudiy https://imgur.com/cGkRdHA
https://imgur.com/SeZscUk https://imgur.com/B8bxgiU https://imgur.com/FV2T0Rz
https://imgur.com/5JgQQvu
However, now, (I changed nothing) I still have to select the dsp from the dropdown but qpwgraph looks like this https://imgur.com/vvHOFVj and it looks like this after exiting Hudiy https://imgur.com/cGkRdHA
Re: After 2.4 update
Does your amplifier always connect to Bluetooth before Hudiy starts? Looking at qpwgraph, it seems like sometimes the echo cancel and equalizer load before the amplifier connects, causing WirePlumber to create different routing.
You could try adding a wait for a specific sink before Hudiy starts. Alternatively, you can specify a specific master for the echo-cancel module:
hudiy_startup.sh
Also remove the wireplumber cache:
You could try adding a wait for a specific sink before Hudiy starts. Alternatively, you can specify a specific master for the echo-cancel module:
hudiy_startup.sh
Code: Select all
#!/bin/bash
EC_SINK="echo_cancel_sink"
EC_SOURCE="echo_cancel_source"
EQ_SINK="hudiy_equalizer_sink"
AMP_SINK="bluez_output.E9_A7_26_03_1E_82.1"
sink_exists() { pactl list short sinks 2>/dev/null | awk '{print $2}' | grep -Fxq "$1"; }
until pactl info >/dev/null 2>&1; do sleep 0.1; done
while ! sink_exists "$AMP_SINK"; do
sleep 1
done
sink_exists "$EQ_SINK" || pactl load-module module-ladspa-sink sink_name="$EQ_SINK" master="$EC_SINK" plugin=hudiy_equalizer label=hudiy_equalizer control=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
sink_exists "$EC_SINK" || pactl load-module module-echo-cancel aec_method=webrtc aec_args=\"voice_detection=false\" source_name="$EC_SOURCE" sink_name="$EC_SINK" sink_master="$AMP_SINK"
pactl set-default-sink "$EQ_SINK"
pactl set-default-source "$EC_SOURCE"
$HOME/.hudiy/share/hudiy &Code: Select all
cd $HOME/.local/state/wireplumber
rm -rf *