Latest LQ Deal: Linux Power User Bundle
Go Back > Blogs > Whaling the FOSS
User Name


The experiences of an Australian student who uses Linux.

Cover all topics from shell scripts to monopolies and reviews to political comments.
Rate this Entry

In praise of ALSA and alsaequal

Posted 08-14-2011 at 04:55 AM by William (Dthdealer)
Updated 08-14-2011 at 04:58 AM by William (Dthdealer)

After a long overdue apt-get upgrade, I am now the happy owner of one more volume slider in alsamixer: headphone.

On a related note, 'alsaequal', a graphic equaliser for ALSA is a really under appreciated tool. I have set it to my default alsa device through .asoundrc:

ctl.equal {
        type equal;

pcm.plugequal {
        type equal;
        # Modify the line below if you don't
        # want to use sound card 0.
        slave.pcm "plug:dmix";


# Comment out the 'default' version for 'optional' equal, visa versa

#pcm.equal {
pcm.!default {

        type plug;
        slave.pcm plugequal;
Equalisers allow you to manually change the volume of different pitch ranges of sound. Think of them as much more advanced version of the 'Bass' and 'Treble' knobs found on stereos. One of their uses is to help flatten the 'frequency response' of speakers.

A graph of a speaker's frequency response plots loudness ( in decibels ) against frequency ( or pitch ). A perfect speaker would have the same loudness across its whole pitch range when given the same input volume, but in real life that never happens. Take for example an approximation of the frequency response of my headphones:

Ignore the right half of my graph, which goes beyond the frequencies I tested. It is quite obvious my headphones have several pitches where they are quieter, and in general they get quieter as they play higher ( which I expected ). A massive spike exists at about 800 hertz, and this is to blame on my headphone's casing resonating at that frequency ( the whole unit buzzed ). The dip just after 5k is very audible - remember decibels are a logarithmic scale ( volume doubles about every 3 db ).

To do my test I used Audacity to generate a sine wave 'chirp' covering most of the audible human range. I then used a microphone to record what came out of my headphones as I played this chirp in Audacity ( microphones generally have a better frequency response than speakers, but not perfect ). I had to use Audacity's noise removal function on the recording, so its results are slightly skewed ( but better than without ). To get the graph I used the 'Frequency Range' option available in the 'Analysis' menu.

Are there any other semi-audiophiles out there using Linux? Has anyone played with alsaequal before? Please comment

Regards, William
Views 1729 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 11:45 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration