Hello,
First,thank you for creating this great DIY vehicle infotainment software. I have tried to read through most of the topics that are similar to my problem in these threads and also scoured the internet but I was unable to find an exact duplicate. I'm giving up for now as I can't seem to figure out a solution. Please forgive me as I'm not great at all in using the terminal and I'm no programmer. It took me days just to figure out how to access and change the settings on both the RPI and in Hudiy. I did get some good information from another poster who also had IQAudio problems and I was at least able to change some settings on the $HOME/.hudiy/share/hudiy_startup.sh and also on the rapsberrypi config.txt by following some of your instructions. I changed the EC SINK= from Echo-Cancel Playback to hudiy_equalizer_sink as I wasn't getting any sound after start up until I checked the IQAudio from the volume bar on the desktop. After the changes sound comes out now after start up to the DAC, however the audio is terrible in mono and I still have to go to the volume bar on the desktop and select the IQAudio to change to stereo. How would I make the IQAudio permanently checked on the volume bar dropdown?
EC_SINK="hudiy_equalizer_sink"
EC_SOURCE="echo_cancel_source"
EQ_SINK="hudiy_equalizer_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 "$EC_SINK" || pactl load-module module-echo-cancel aec_method=webrtc aec_args=\"voice_detection=false\" source_name="$EC_SOURCE" sink_name="$EC_SINK"
pactl set-default-sink "$EQ_SINK"
pactl set-default-source "$EC_SOURCE"
$HOME/.hudiy/share/hudiy &
I've also attached the before and after pics of the qpwgraph.
Thanks
IQAudio DAC Starts Up in Mono
Re: IQAudio DAC Starts Up in Mono
Sorry, I forgot to include my raspberrypi config settings. Here they are:
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
dtparam=i2s=on
#dtparam=spi=on
# Enable audio (loads snd_bcm2835)
dtoverlay=iqaudio-dacplus=1
# Additional overlays and parameters are documented
# /boot/firmware/overlays/README
# Automatically load overlays for detected cameras
camera_auto_detect=1
# Automatically load overlays for detected DSI displays
display_auto_detect=1
# Automatically load initramfs files, if found
auto_initramfs=1
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d,noaudio
max_framebuffers=2
# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1
# Run in 64-bit mode
arm_64bit=1
# Disable compensation for displays with overscan
disable_overscan=1
# Run as fast as firmware / board allows
arm_boost=1
[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1
[cm5]
dtoverlay=dwc2,dr_mode=host
[all]
disable_splash=1
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
dtparam=i2s=on
#dtparam=spi=on
# Enable audio (loads snd_bcm2835)
dtoverlay=iqaudio-dacplus=1
# Additional overlays and parameters are documented
# /boot/firmware/overlays/README
# Automatically load overlays for detected cameras
camera_auto_detect=1
# Automatically load overlays for detected DSI displays
display_auto_detect=1
# Automatically load initramfs files, if found
auto_initramfs=1
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d,noaudio
max_framebuffers=2
# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1
# Run in 64-bit mode
arm_64bit=1
# Disable compensation for displays with overscan
disable_overscan=1
# Run as fast as firmware / board allows
arm_boost=1
[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1
[cm5]
dtoverlay=dwc2,dr_mode=host
[all]
disable_splash=1
Re: IQAudio DAC Starts Up in Mono
Hello,
Changing EC_SINK to 'hudiy_equalizer_sink' causes your PipeWire instance to create two identically named sinks (one via the echo-cancel module and the other via the ladspa module), which can lead to various issues.
If you are not using a microphone in your setup, please follow the instructions from this post: viewtopic.php?p=792#p792 to replace the contents of $HOME/.hudiy/share/hudiy_startup.sh file.
Changing EC_SINK to 'hudiy_equalizer_sink' causes your PipeWire instance to create two identically named sinks (one via the echo-cancel module and the other via the ladspa module), which can lead to various issues.
If you are not using a microphone in your setup, please follow the instructions from this post: viewtopic.php?p=792#p792 to replace the contents of $HOME/.hudiy/share/hudiy_startup.sh file.
Re: IQAudio DAC Starts Up in Mono
Hi,
Thanks for the quick reply. So I followed the above instructions and implemented the changes. I did it first with my original install and also after a fresh re-install without changing anything in the raspberrypi config.txt settings. Unfortunately, it became worse with the dummy source. The volume is a lot lower and the sound is still mono with some crackling and static now. Also, the IQAudio DAC on the dropdown from the volume bar is still not checked. When I check it and select the DAC, the sound becomes about 20 times better. It's a very big difference in audio quality change when the DAC is enabled. It's almost HD quality, the bass is deeper and fuller and the highs and vocals are way more defined and detailed. It seems like even with the many changes in settings that I've tried, the DAC still needs to be checked and enabled manually on the desktop. Below are the images with the dummy source before and after enabling the DAC.
Thanks
Thanks for the quick reply. So I followed the above instructions and implemented the changes. I did it first with my original install and also after a fresh re-install without changing anything in the raspberrypi config.txt settings. Unfortunately, it became worse with the dummy source. The volume is a lot lower and the sound is still mono with some crackling and static now. Also, the IQAudio DAC on the dropdown from the volume bar is still not checked. When I check it and select the DAC, the sound becomes about 20 times better. It's a very big difference in audio quality change when the DAC is enabled. It's almost HD quality, the bass is deeper and fuller and the highs and vocals are way more defined and detailed. It seems like even with the many changes in settings that I've tried, the DAC still needs to be checked and enabled manually on the desktop. Below are the images with the dummy source before and after enabling the DAC.
Thanks
Re: IQAudio DAC Starts Up in Mono
By default, PipeWire/WirePlumber sets the volume level of audio devices to 40%. From qpwgraph, it is visible that the sink-input and all sinks are in stereo mode.
The screenshot with selected IQaudiODAC shows that sink-inputs are being routed by PipeWire directly to the device sink (bypassing ladspa-module with equalizer). This might be a compatibility issue in PipeWire between your DAC and the ladspa-module.
The screenshot with selected IQaudiODAC shows that sink-inputs are being routed by PipeWire directly to the device sink (bypassing ladspa-module with equalizer). This might be a compatibility issue in PipeWire between your DAC and the ladspa-module.
Re: IQAudio DAC Starts Up in Mono
Ok. I don't fully grasp the full definition of the ladspa-module but if I'm understanding this correctly the ladspa-module with equalizer which is integrated in hudiy is not playing nice with the IQAudiODAC in Pipewire. I definitely think that is the case too as I did an experiment with GQRX SDR software and the results are quite different.
My current set up is RPI 5 4GB, RPI Display 2, RPI SSD kit, IQAudiODAC+(which is now Raspberry Pi DAC+) and an RTL-SDR V4. With GQRX, the audio and FM reception is stellar. With the couple of radio stations in my area that have a very strong signal, I'm able to pick up HD quality stereo sound and I think it sounds better than some of the newer stock radios in some vehicles. All I did in the raspberry pi /boot/firmware/confg.txt was change to:
#dtparam=audio=on
and add:
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d,noaudio
max_framebuffers=2
With those settings changed, the IQAudiODAC selection on the volume bar stays permanently checked even after multiple reboots. So this also supports the assumption that the ladspa-module with equalizer in Hudiy in Pipewire has some sort of conflict with the DAC.
Unfortunately, the GQRX interface is not ideal in a vehicle setting as everything is too small especially with the RPI Display 2 and my sister who isn't tech savvy won't know how to operate it. The Hudiy interface is perfect but with the current audio problem situation it's not feasable. Hopefully, that will get resolved in the future. I'm going to try to purchase a USB sound card and report my findings. I also hope that this post helps someone out with the same set up and maybe find a fix too.
Thanks for all the help.
My current set up is RPI 5 4GB, RPI Display 2, RPI SSD kit, IQAudiODAC+(which is now Raspberry Pi DAC+) and an RTL-SDR V4. With GQRX, the audio and FM reception is stellar. With the couple of radio stations in my area that have a very strong signal, I'm able to pick up HD quality stereo sound and I think it sounds better than some of the newer stock radios in some vehicles. All I did in the raspberry pi /boot/firmware/confg.txt was change to:
#dtparam=audio=on
and add:
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d,noaudio
max_framebuffers=2
With those settings changed, the IQAudiODAC selection on the volume bar stays permanently checked even after multiple reboots. So this also supports the assumption that the ladspa-module with equalizer in Hudiy in Pipewire has some sort of conflict with the DAC.
Unfortunately, the GQRX interface is not ideal in a vehicle setting as everything is too small especially with the RPI Display 2 and my sister who isn't tech savvy won't know how to operate it. The Hudiy interface is perfect but with the current audio problem situation it's not feasable. Hopefully, that will get resolved in the future. I'm going to try to purchase a USB sound card and report my findings. I also hope that this post helps someone out with the same set up and maybe find a fix too.
Thanks for all the help.
Re: IQAudio DAC Starts Up in Mono
Hudiy does not have strong dependencies on the equalizer. You can fully disable it by setting equalizer.enabled to false (https://github.com/wiboma/hudiy/blob/ma ... #equalizer) in main_configuration.json and removing the command loading the ladspa-module with equalizer plugin from hudiy_startup.sh.
noaudio in vc4-kms overlay disables audio routing through the HDMI ports. What is the behavior of your system and Hudiy with this setting?
You can also check the doc for ladspa-module https://docs.pipewire.org/page_pulse_mo ... _sink.html. It contains various parameters that can be helpful in configuring your DAC.
PipeWire also has the Wiki page about troubleshooting https://gitlab.freedesktop.org/pipewire ... leshooting
noaudio in vc4-kms overlay disables audio routing through the HDMI ports. What is the behavior of your system and Hudiy with this setting?
You can also check the doc for ladspa-module https://docs.pipewire.org/page_pulse_mo ... _sink.html. It contains various parameters that can be helpful in configuring your DAC.
PipeWire also has the Wiki page about troubleshooting https://gitlab.freedesktop.org/pipewire ... leshooting
Re: IQAudio DAC Starts Up in Mono
Hello,
Ok, I tried your suggestions and finally! The DAC is automatically enabled on start up and stays permanently checked on the drop down menu from the volume bar. So I changed to false on the equalizer setting on the main_configuration.json and then I removed the top line that loads the ladspa-module in hudiy_startup.sh. Many thanks again.
However in all honesty, it's still not green grass and roses as the audio quality with the FM radio is just OK. There is also a tendency that picks up a totally different radio station in the higher frequencies than what is specified, some kind of crossing in radio waves or something. I did not have that problem in GQRX. I need to read up some more on the read.me on how to fine tune the gain and all other SDR related stuff.
Also, to answer your question with the adding of noaudio in vc4-kms overlay, in my experience all it did was get rid of the HDMI selection in the drop down menu on the volume bar. Everything else seems to work fine as I have it configured that way again presently.
Other than my FM radio issues, all other functions in Hudiy work great. I haven't tried to install my carplay dongle yet but I got it to work in the past with KonstaKang Lineage OS in my PI5 so I don't think it will be a problem. Most other people will focus more on the other features of Hudiy on their projects but I really need good FM radio reception in our car as we drive long distances and listen to local news and music a lot. Hopefully I get better results after playing around with more settings.
Cheers and once again, thank you for all your help.
Ok, I tried your suggestions and finally! The DAC is automatically enabled on start up and stays permanently checked on the drop down menu from the volume bar. So I changed to false on the equalizer setting on the main_configuration.json and then I removed the top line that loads the ladspa-module in hudiy_startup.sh. Many thanks again.
However in all honesty, it's still not green grass and roses as the audio quality with the FM radio is just OK. There is also a tendency that picks up a totally different radio station in the higher frequencies than what is specified, some kind of crossing in radio waves or something. I did not have that problem in GQRX. I need to read up some more on the read.me on how to fine tune the gain and all other SDR related stuff.
Also, to answer your question with the adding of noaudio in vc4-kms overlay, in my experience all it did was get rid of the HDMI selection in the drop down menu on the volume bar. Everything else seems to work fine as I have it configured that way again presently.
Other than my FM radio issues, all other functions in Hudiy work great. I haven't tried to install my carplay dongle yet but I got it to work in the past with KonstaKang Lineage OS in my PI5 so I don't think it will be a problem. Most other people will focus more on the other features of Hudiy on their projects but I really need good FM radio reception in our car as we drive long distances and listen to local news and music a lot. Hopefully I get better results after playing around with more settings.
Cheers and once again, thank you for all your help.
Re: IQAudio DAC Starts Up in Mono
Thanks for the feedback. Regarding RTL-SDR, you can check this topic which describes gain level settings of the dongle viewtopic.php?p=986#p986. It might be helpful to get better reception.
Docs for FM radio configuration are available on our GitHub at: https://github.com/wiboma/hudiy/blob/ma ... md#fmradio
Docs for FM radio configuration are available on our GitHub at: https://github.com/wiboma/hudiy/blob/ma ... md#fmradio