Page 1 of 1

Bluetooth Audio

Posted: Fri Aug 08, 2025 6:16 pm
by Twardowsky29
Okay, so I've got another problem, I can't get my RPI to play music through Bluetooth. I'm connecting to my Bluetooth headset in the hudiy menu and it connects, the song is playing on screen the and my phone but there's no sound at all. Any thoughts?

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 6:25 pm
by hudiy
Hudiy utilizes PipeWire for audio handling. Bluetooth is also managed through PipeWire and its BlueZ plugin.

Additionally, Hudiy includes an Equalizer plugin, which is loaded into PipeWire and exposes its own virtual sink.

Could you let us know what sound card you're using and whether it’s been correctly detected by PipeWire?
You can check that with the following commands:

Code: Select all

pactl list cards
pactl list sinks
Also, please make sure the volume on your phone is turned up - many phones default to minimum volume when connecting to a new Bluetooth device.

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 6:33 pm
by Twardowsky29
Okay, so im actually not using any external card. Just the RPI build-in bluetooth module. Is there like a document somewhere that specifies what I need and what I don't need, I feel kinda bad asking questions that seem obvious to you all. I attached the cmd log after those commands.

Maybe you can recommend a card to use for bluetooth and also maybe you can guide me on how to push sound through the audio Jack for future endeavors? :)

Code: Select all

Card #63
        Name: alsa_card.platform-fe00b840.mailbox
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "bcm2835 Headphones"
                api.alsa.card.name = "bcm2835 Headphones"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                device.api = "alsa"
                device.bus_path = "platform-fe00b840.mailbox"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fe00b840.mailbox"
                device.nick = "bcm2835 Headphones"
                device.plugged.usec = "4265086"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835-aud                                                                                                                                                             io/sound/card0"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "63"
                object.serial = "63"
                object.path = "alsa:acp:Headphones"
                alsa.card = "0"
                alsa.card_name = "bcm2835 Headphones"
                alsa.long_card_name = "bcm2835 Headphones"
                alsa.mixer_name = "Broadcom Mixer"
                alsa.id = "Headphones"
                device.string = "0"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, pri                                                                                                                                                             ority: 5100, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, availab                                                                                                                                                             le: yes)
        Active Profile: output:stereo-fallback
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, late                                                                                                                                                             ncy offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "analog"
                                card.profile.port = "0"
                        Part of profile(s): output:stereo-fallback

Card #64
        Name: alsa_card.platform-fef00700.hdmi
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "vc4-hdmi-0"
                api.alsa.card.name = "vc4-hdmi-0"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                device.api = "alsa"
                device.bus_path = "platform-fef00700.hdmi"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fef00700.hdmi"
                device.nick = "vc4-hdmi-0"
                device.plugged.usec = "4274340"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fef00700.hdmi/sound/card1"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "64"
                object.serial = "64"
                object.path = "alsa:acp:vc4hdmi0"
                alsa.card = "1"
                alsa.card_name = "vc4-hdmi-0"
                alsa.long_card_name = "vc4-hdmi-0"
                alsa.driver_name = "vc4"
                alsa.id = "vc4hdmi0"
                device.string = "1"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sour                                                                                                                                                             ces: 0, priority: 5900, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, availab                                                                                                                                                             le: yes)
        Active Profile: output:hdmi-stereo
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, l                                                                                                                                                             atency offset: 0 usec, availability group: Legacy 1, available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                                device.product.name = "HDMI"
                                iec958.codecs.detected = "[\"PCM\"]"
                        Part of profile(s): output:hdmi-stereo

Card #65
        Name: alsa_card.platform-fef05700.hdmi
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "2"
                api.alsa.card.longname = "vc4-hdmi-1"
                api.alsa.card.name = "vc4-hdmi-1"
                api.alsa.path = "hw:2"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio2"
                device.api = "alsa"
                device.bus_path = "platform-fef05700.hdmi"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fef05700.hdmi"
                device.nick = "vc4-hdmi-1"
                device.plugged.usec = "4312880"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fef05700.hdmi/sound/card2"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "65"
                object.serial = "65"
                object.path = "alsa:acp:vc4hdmi1"
                alsa.card = "2"
                alsa.card_name = "vc4-hdmi-1"
                alsa.long_card_name = "vc4-hdmi-1"
                alsa.driver_name = "vc4"
                alsa.id = "vc4hdmi1"
                device.string = "2"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, availab                                                                                                                                                             le: yes)
        Active Profile: off

Card #111
        Name: bluez_card.B4_0B_1D_0A_BC_30
        Driver: module-bluez5-device.c
        Owner Module: n/a
        Properties:
                api.bluez5.address = "B4:0B:1D:0A:BC:30"
                api.bluez5.class = "0x5a020c"
                api.bluez5.connection = "disconnected"
                api.bluez5.device = ""
                api.bluez5.icon = "phone"
                api.bluez5.path = "/org/bluez/hci0/dev_B4_0B_1D_0A_BC_30"
                bluez5.auto-connect = "[ hfp_hf hsp_hs a2dp_sink ]"
                bluez5.profile = "off"
                device.alias = "Antoni's S22"
                device.api = "bluez5"
                device.bus = "bluetooth"
                device.description = "Antoni's S22"
                device.form_factor = "phone"
                device.icon_name = "audio-card-bluetooth"
                device.name = "bluez_card.B4_0B_1D_0A_BC_30"
                device.product.id = "0x0100"
                device.string = "B4:0B:1D:0A:BC:30"
                device.vendor.id = "bluetooth:0075"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "108"
                object.serial = "111"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                audio-gateway: Audio Gateway (A2DP Source & HSP/HFP AG) (sinks:                                                                                                                                                              0, sources: 0, priority: 256, available: yes)
        Active Profile: audio-gateway
pi@raspberrypi:~ $ pactl list sinks
Sink #36
        State: SUSPENDED
        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: 32768 /  50% / -18.06 dB,   front-right: 32768 /  50% / -18.06 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-777-12"
                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 = "34"
                object.id = "36"
                object.serial = "36"
                node.driver-id = "85"
        Formats:
                pcm

Sink #40
        State: SUSPENDED
        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-777-13"
                node.link-group = "echo-cancel-777-13"
                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 = "35"
                object.id = "40"
                object.serial = "40"
                node.driver-id = "85"
        Formats:
                pcm

Sink #84
        State: SUSPENDED
        Name: alsa_output.platform-fe00b840.mailbox.stereo-fallback
        Description: Built-in Audio 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: 56210 /  86% / -4.00 dB
        Monitor Source: alsa_output.platform-fe00b840.mailbox.stereo-fallback.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 = "bcm2835 Headphones"
                alsa.class = "generic"
                alsa.device = "0"
                alsa.id = "bcm2835 Headphones"
                alsa.long_card_name = "bcm2835 Headphones"
                alsa.mixer_name = "Broadcom Mixer"
                alsa.name = "bcm2835 Headphones"
                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 = "bcm2835 Headphones"
                api.alsa.card.name = "bcm2835 Headphones"
                api.alsa.path = "hw:0"
                api.alsa.pcm.card = "0"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "1"
                device.api = "alsa"
                device.class = "sound"
                device.id = "63"
                device.profile.description = "Stereo"
                device.profile.name = "stereo-fallback"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Built-in Audio"
                node.name = "alsa_output.platform-fe00b840.mailbox.stereo-fallback"
                node.nick = "bcm2835 Headphones"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:Headphones:1:playback"
                port.group = "playback"
                priority.driver = "1000"
                priority.session = "1000"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "43"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "84"
                object.serial = "84"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                device.bus_path = "platform-fe00b840.mailbox"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fe00b840.mailbox"
                device.nick = "bcm2835 Headphones"
                device.plugged.usec = "4265086"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835-audio/sound/card0"
                device.string = "0"
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, availability unknown)
        Active Port: analog-output
        Formats:
                pcm

Sink #85
        State: SUSPENDED
        Name: alsa_output.platform-fef00700.hdmi.hdmi-stereo
        Description: Built-in Audio Digital Stereo (HDMI)
        Driver: PipeWire
        Sample Specification: s32le 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.platform-fef00700.hdmi.hdmi-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
        Properties:
                alsa.card = "1"
                alsa.card_name = "vc4-hdmi-0"
                alsa.class = "generic"
                alsa.device = "0"
                alsa.driver_name = "vc4"
                alsa.id = "MAI PCM i2s-hifi-0"
                alsa.long_card_name = "vc4-hdmi-0"
                alsa.name = "MAI PCM i2s-hifi-0"
                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 = "vc4-hdmi-0"
                api.alsa.card.name = "vc4-hdmi-0"
                api.alsa.path = "hdmi:1"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "1"
                device.api = "alsa"
                device.class = "sound"
                device.id = "64"
                device.profile.description = "Digital Stereo (HDMI)"
                device.profile.name = "hdmi-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                iec958.codecs = "[\"PCM\"]"
                media.class = "Audio/Sink"
                device.description = "Built-in Audio"
                node.name = "alsa_output.platform-fef00700.hdmi.hdmi-stereo"
                node.nick = "MAI PCM i2s-hifi-0"
                node.pause-on-idle = "false"
                object.path = "alsa:acp:vc4hdmi0:1:playback"
                port.group = "playback"
                priority.driver = "1000"
                priority.session = "1000"
                factory.id = "19"
                clock.quantum-limit = "8192"
                client.id = "43"
                node.driver = "true"
                node.loop.name = "data-loop.0"
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "85"
                object.serial = "85"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                device.bus_path = "platform-fef00700.hdmi"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fef00700.hdmi"
                device.nick = "vc4-hdmi-0"
                device.plugged.usec = "4274340"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fef00700.hdmi/sound/card1"
                device.string = "1"
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, availability group: Legacy 1, available)
        Active Port: hdmi-output-0
        Formats:
                pcm

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 6:48 pm
by hudiy
The audio jack on the Raspberry Pi 4B should work out of the box.
In your case, the audio is most likely being routed through HDMI, which is why there's no sound from the audio jack.

To disable HDMI audio, follow the instructions in the Raspberry Pi documentation: https://www.raspberrypi.com/documentati ... hdmi-audio

You’ll need to modify the following line in /boot/firmware/config.txt:

Code: Select all

dtoverlay=vc4-kms-v3d
to

Code: Select all

dtoverlay=vc4-kms-v3d,noaudio
Hudiy itself doesn’t have any special audio requirements - it works with whatever is configured at the system level and is compatible with the PipeWire. However, we generally don’t recommend using the audio jack on the Raspberry Pi 4B, as it’s not a true DAC - it’s a basic PWM output with very poor sound quality and slow timing.

No worries at all - we’re here to help!

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 7:06 pm
by Twardowsky29
Okay, disabled the HDMI, disabled the audio jack, how can I push my audio through bluetooth now?

Code: Select all

 pactl list cards
Card #63
        Name: alsa_card.platform-fe00b840.mailbox
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "bcm2835 Headphones"
                api.alsa.card.name = "bcm2835 Headphones"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                device.api = "alsa"
                device.bus_path = "platform-fe00b840.mailbox"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog"
                device.name = "alsa_card.platform-fe00b840.mailbox"
                device.nick = "bcm2835 Headphones"
                device.plugged.usec = "4225892"
                device.subsystem = "sound"
                sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835-audio/sound/card0"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "63"
                object.serial = "63"
                object.path = "alsa:acp:Headphones"
                alsa.card = "0"
                alsa.card_name = "bcm2835 Headphones"
                alsa.long_card_name = "bcm2835 Headphones"
                alsa.mixer_name = "Broadcom Mixer"
                alsa.id = "Headphones"
                device.string = "0"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, available: yes)
        Active Profile: off
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "analog"
                                card.profile.port = "0"
                        Part of profile(s): output:stereo-fallback

Card #95
        Name: bluez_card.B4_0B_1D_0A_BC_30
        Driver: module-bluez5-device.c
        Owner Module: n/a
        Properties:
                api.bluez5.address = "B4:0B:1D:0A:BC:30"
                api.bluez5.class = "0x5a020c"
                api.bluez5.connection = "disconnected"
                api.bluez5.device = ""
                api.bluez5.icon = "phone"
                api.bluez5.path = "/org/bluez/hci0/dev_B4_0B_1D_0A_BC_30"
                bluez5.auto-connect = "[ hfp_hf hsp_hs a2dp_sink ]"
                bluez5.profile = "off"
                device.alias = "Antoni's S22"
                device.api = "bluez5"
                device.bus = "bluetooth"
                device.description = "Antoni's S22"
                device.form_factor = "phone"
                device.icon_name = "audio-card-bluetooth"
                device.name = "bluez_card.B4_0B_1D_0A_BC_30"
                device.product.id = "0x0100"
                device.string = "B4:0B:1D:0A:BC:30"
                device.vendor.id = "bluetooth:0075"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "43"
                object.id = "92"
                object.serial = "95"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                audio-gateway: Audio Gateway (A2DP Source & HSP/HFP AG) (sinks: 0, sources: 0, priority: 256, available: yes)
        Active Profile: audio-gateway
pi@raspberrypi:~ $ pactl list sinks
Sink #36
        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: 42598 /  65% / -11.23 dB,   front-right: 42598 /  65% / -11.23 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-766-12"
                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 = "34"
                object.id = "36"
                object.serial = "36"
                node.driver-id = "30"
        Formats:
                pcm

Sink #40
        State: IDLE
        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-766-13"
                node.link-group = "echo-cancel-766-13"
                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 = "35"
                object.id = "40"
                object.serial = "40"
                node.driver-id = "30"
        Formats:
                pcm

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 7:16 pm
by hudiy
Could you describe the configuration you're trying to set up?

If you're planning to receive audio over Bluetooth (e.g. from a phone) and send it out over Bluetooth (e.g. to a Bluetooth speaker) using the same Raspberry Pi, it’s likely that a single Bluetooth module won’t be sufficient.
Bluetooth has very limited bandwidth when it comes to A2DP and can typically only handle one active audio stream at a time.

We're also not sure whether this kind of setup is fully supported by PipeWire and BlueZ - it would likely require additional configuration and some experimentation to see if it’s even possible.

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 7:33 pm
by Twardowsky29
Okay, so I now have the HUDIY RPI that's connected to a screen (Volvo RTI). I also have a bluetooth car adapter that's connected to my radio (for audio and calls). Now what I want to do is connect that radio bluetooth adapter to the HUDIY and then connect my phone to HUDIY for AndroidAuto and all that good stuff.
Hope it makes it clearer. :)

Re: Bluetooth Audio

Posted: Fri Aug 08, 2025 7:50 pm
by hudiy
This setup looks like some kind of Bluetooth passthrough or Bluetooth audio relay.
As far as we know, a single Bluetooth module won't provide enough bandwidth for this configuration.
You would need two separate Bluetooth adapters (e.g. the built-in module on the Raspberry Pi plus an external USB dongle).

In that case, PipeWire would also need to be correctly configured with HFP Sink/Source and A2DP Sink/Source roles - but unfortunately, we haven’t tested PipeWire in this type of setup, so we can’t confirm if it works reliably.

Even the PipeWire documentation doesn’t mention this use case:
https://docs.pipewire.org/page_config.html
https://docs.pipewire.org/page_man_pipewire_conf_5.html

Probably the simplest and most reliable solution would be to output audio from the Raspberry Pi through a USB sound card, and then connect a Bluetooth audio transmitter (e.g. jack-to-Bluetooth adapter) to that sound card.
You could then pair that adapter with your car audio system.

Re: Bluetooth Audio

Posted: Sun Jan 18, 2026 2:36 am
by wkl3968
I need some advice. Let's say I connect my phone to a hires or LDAC audio receiver via Bluetooth. Can I channel all the audio, phone using this method, can the Android Auto and Carplay still works?