[Solved] Equalizer

This process works perfectly for me also… thanks for the details that finally got it working after a few months of fiddling around with this!

One of my biggest frustrations was simply getting the install to work. I found that I had to update my /etc/sources.list file to look like this:

deb archive.raspbian.org/raspbian jessie main contrib non-free
deb-src archive.raspbian.org/raspbian jessie main contrib non-free
deb repo.volumio.org/apt/ jessie main contrib

then do:

apt-get update
apt-get install libasound2-plugin-equal

BTW, make sure to restart mpd after any changes to asound.conf or mpd.conf:

sudo service mpd restart (ignore the warning about “share” if you get it)

I now have 3 Volumio wireless renderers and a fourth Pi with an external hard drive running Raspian and smb hardwired to my router as NAS. Everything works like a charm, but the equalizer is the final piece that makes it all special!

Can anybody tell me about the performance impact of enabling alsaequal? I plan to create a streaming box with HiFiBerry DAC+ that should be able to handle 24/192 FLAC with enabled equalizer. Will this work or is the Raspberry PI too slow for this?

Hi Guys
Tanks a lot. It work perfectly!

Just a question… anyone knows how to change the frequency of each of the graphic bands?..could be even better if we chose the frequency and the Bandwith.
Thanks again

hope i get your answers soon


I do not believe there is an easy way to adjust the center frequencies. It is a basic EQ, but at least provides 10 octaves which is surprisingly useful. There are some nuances to using the EQ as explained here:


For instance, it is possible to control the comparative loudness of the left-right channels of a selected octave:

Q-W-E respectively increase volume for the left-combined-right channels in the selected octave
Z-X-C respectively decrease volume for the left-combined-right channels in the selected octave

These make more sense when you look at a qwerty keyboard and watch the mixer react to your keystrokes. Its very useful for me in one asymmetrical room layout I must work with.

Thanks to this post and some other custom script with presets for amixer. I managed to hack together some PHP, HTML, custom MPD.conf and Asound.conf and some sudo magic to build a web interface that integrates into Volumio to give you equalizer preset buttons from the index page.

If anybody is interested drop me a message and I will see if I can document a howto.

Update: You can get a quick and dirty howto on my blog at goo.gl/Wxz0vz

Be warned I am not a coder so there may be flaws in my code but its something I hacked together quickly and it works for me.

Well done !
Where does values used in different setting come from ? Homemade ?
Even if I wouldn’t have use the main page to display the eq it’s a good tweak :wink:
+1 for the Howto !!! :smiley:

I just found this today. Thanks for the huge contribution Vodor! I can’t wait to go back and digest all that you have done.

Hi vodor,
it is a very good job :slight_smile:. I’m looking for implementing more or less the same thing with pulseaudio instead of alsamixer. Have you already tried with pulseaudio? I know that there is a GUI written in python for pulseaudio and debian-like OS wiki.freedesktop.org/www/Softwa … Equalizer/.

This looks awesome. I wonder what are the chances of having this part of V-2?

I hope so. I have Pi 2 with a Pi-DAC + and after following all the steps in tom1502’s guide volumio simply refuses to play anything.

I installed Alsamixer in combination with a PI-DAC+. I get sound from the PI-DAC+. However, I get the following AlsaMixer interface. Looks like something fundamentally goes wrong.


Anyone some suggestions?



For what I can see in the manual of the PI-DAC + (iqaudio.com/downloads/IQaudIO.pdf search alsamixer), thats the screen you should get, I was able to control the volume that way. Use F6 to change between the sound cards, but the equalizer didn’t work when I tried, maybe because the pi-dac doen’t allow it?

Hi all,
Just a brief question about alsaeq performanpces. Do you think there is a waste of sound quality due to resampling by alsa(if there is) compared to directly feed the dac without any modification of source bit stream ?
Many thanks for your answers.


I somehow made it work in the end. Just use the line “pcm.!default {” instead of “pcm.equal {” in the asound.conf step. Thanks for the guide, now all I need is to learn how to equalize :wink:

Can’t change the volume, but I’ll use the amp for that…

Make sure you’ve chosen hardware volume control in the voluminous settings. If that is the case, switch to software, reboot and then back to hardware. That made it work for me

Gesendet von iPad mit Tapatalk

It doesn`t work. It also makes the equalizaion to stop working…

Can’t wait until there’s a plugin for this in Volumio.

Tried to follow your guide tom1502 but I can’t hear any difference to the sound while I’m changing the equalizer. I’ve probably not activated the equalizer as I’m supposed to.

One screenshot shows many bars to adjust (this is the startup view), however if I select my soundcard (Hifiberry AMP+) I only get two bars, as shown in the other screenshot. This seems odd.

I’ve edited all the files to use hw:1,0 because my output from aplay -l was

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_amp], device 0: HifiBerry AMP HiFi tas5713-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0


ctl.equal {
  type equal;

pcm.plugequal {
  type equal;
  slave.pcm "plughw:1,0";

pcm.!default {
  type plug;
  slave.pcm plugequal;

End of /etc/mpd.conf:

audio_output {
        type "alsa"
        name "Output"
        device "hw:1,0"
        mixer_control   "PCM"
        mixer_device "hw:1" 
        mixer_index "0"
        dop "no"

Can you see where I’m going wrong? :question: Thanks.

Hey sparky please double check your mpd.conf. The device must be the plugequal thing(am on the iPad right now and therefore cannot easily copy the lines…). I did not touch this for a while now, but as I remember, the logic is as follows:
MPD sends sound to plugequal which modifies and sends sound to the device (the AMP in our case).
Therefore you have to change the levels for the equalizer device… This should then work. From what I have understood from your files(while having the first coffee in the morning;-) ) is that you still let mpd send the sound directly to the amp which would bypass the equalizer.

Gesendet von iPad mit Tapatalk

Tom1502, thanks to your help I finally got the equalizer working! :smiley: Some changes to mpd.conf did the trick:

audio_output {
        type "alsa"
        name "equal"
        device "plug:plugequal"
        mixer_control "Master"
        mixer_device "hw:1"
        mixer_index "0"
        dop "no"

Glad that I was able to help!