alsaequal
alsaequal copied to clipboard
EQ on HDMI output
I am looking to understand the equalizer plug-in. I am trying to implement a system-wide EQ on my raspberry pi 4 B. For the EQ, I am using alsamixer -D equal
. This EQ has worked previously on streaming audio out of the headphone jack, but I am looking for a way to run this EQ on the HDMI audio output.
Here is my current /etc/asound.conf file.
ctl.equal { type equal; } pcm.plugequal { type equal; slave.pcm hdmi } pcm_slave.format_adj { pcm hdmi format IEC958_SUBFRAME_LE rate 44100 } pcm.equal { type plug; slave format_adj }
When running command aplay Organ.wav
, I get audio, but it is not running through the EQ.
When running command aplay -D equal Organ.wav
, I get the following error:
"Playing WAVE 'Organ.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo ALSA lib pcm_params.c:2226:(snd1_pcm_hw_refine_slave) Slave PCM not usable aplay: set_params:1314: Broken configuration for this PCM: no configurations available".
I am a bit confused on data types here. It looks like the wave file is S16_LE, I read somewhere that alsaequal only supports FLOAT, and I believe HDMI audio works through IEC958_SUBFRAME_LE.
My real end-goal is to get the equalizer working on audio coming from a web browser and out through the HDMI port, but I saw this path as a means of hopefully getting there.
Please let me know any advice you might have! Thanks!