alsaequal icon indicating copy to clipboard operation
alsaequal copied to clipboard

EQ on HDMI output

Open jacobweldon opened this issue 1 year ago • 2 comments

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!

jacobweldon avatar Jun 13 '23 15:06 jacobweldon