Page 2 of 3

Re: PI5 Audio

Posted: Sat Nov 15, 2025 5:15 pm
by hudiy
State: RUNNING
Name: alsa_output.platform-107c706400.hdmi.hdmi-stereo
That means the audio from virtual sinks (equalizer, echo-cancel) reaches the sink of physical device but for some reason it is not audible when PipeWire uses virtual sink modules (equalizer, echo-cancel).

Is audio audible when in qpwgraph you disconnect hudiy_equalizer_sink from Echo-Cancel Sink and connect it (hudiy_equalizer_sink) to Audio Digital Stereo?

Re: PI5 Audio

Posted: Sat Nov 15, 2025 5:44 pm
by Olli
I've now tried it again with a Bluetooth speaker. Unfortunately, with the same result. The sound works on the OS interface, but nothing works on the Hudy interface.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 8:29 pm
by Olli
With these two variants, there is absolutely no sound.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 8:31 pm
by Olli
Here we have sound on the OS surface.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 8:34 pm
by Olli
Anything that goes through the echo-cancel playback will not produce any sound.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 8:45 pm
by hudiy
Thanks for testing. Most likely, the echo-cancel module is taking its input from one of the sink.monitor sources and treating the entire audio output as echo, effectively cutting it out.

Could you please run the following commands and check if the sound appears?

Code: Select all

cd $HOME/.local/state/wireplumber
rm -rf *
sudo reboot

Re: PI5 Audio

Posted: Sat Nov 15, 2025 9:06 pm
by Olli
Following these commands, storage music can play on my Bluetooth speakers. This also works on the Hudiy interface.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 9:10 pm
by Olli
After a restart without the commands, it doesn't work again.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 9:29 pm
by hudiy
Could you please replace the content of $HOME/.hudiy/share/hudiy_startup.sh file to

Code: Select all

#!/bin/bash

EC_SINK="echo_cancel_sink"
EC_SOURCE="echo_cancel_source"
EQ_SINK="hudiy_equalizer_sink"
DUMMY_SINK="dummy_sink"

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

# Gives PipeWire and WirePlumber additional time to detect all audio devices
sleep 1

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 "$DUMMY_SINK" || pactl load-module module-null-sink sink_name="$DUMMY_SINK"
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" source_master="${DUMMY_SINK}.monitor"

pactl set-default-sink "$EQ_SINK"
pactl set-default-source "$EC_SOURCE"

$HOME/.hudiy/share/hudiy &
then reboot the Raspberry Pi (sudo reboot) and check if that works?

The modified script creates a dummy sink which (monitor) is used as the source for echo-cancel so that the module doesn't take audio from the real sinks that actually play sound.

Re: PI5 Audio

Posted: Sat Nov 15, 2025 10:10 pm
by Olli
Great... now music can be played on the Hudy interface even after multiple restarts.