Alsaequal scratches the itch

Thanks to Onyros for pointing out Alsaequal; my spontaneous desire to see an equalizer for the console seems to have been satisfied.

That’s running on Arch, just because there were already PKGBUILDs in AUR for it and its dependencies, and I wanted to get the chance to tinker with it before making the jump to Crux. If I get things working my way I’ll put Pkgfiles on here later.

Setting it up takes a quick configuration file that can (probably) be cut-and-pasted from the home page. Mine worked cleanly without any changes; depending on your card assignment, you might have to adjust a number or two.

Otherwise it seems to do what it claims to. The next step is to run it up against mocp and see if they play nice together. Pun intended. 😛

15 thoughts on “Alsaequal scratches the itch

  1. Gen2ly

    Yeah, I tried this too and like it. I had trouble playing multiple sounds at once though but it does it job nicely. Also doesn’t work with Amarok2 (No surprise). Doesn’t matter been using Goggle’smm for a while not and am happy with it.

    Reply
  2. Ian Daniher

    Thanks a ton!
    I’ve been looking for something exactly like this, a system-wide alsa equalizer.

    Reply
  3. Pingback: Three console audio mixers « Motho ke motho ka botho

  4. n2j3

    Any idea on how to make cmus use the equaliser “device”. i’m on ubuntu 9.10 server, it works fine with mpg123 but not in cmus. I’ve tried everything! help.

    Reply
  5. Pingback: An assortment of Crux ports « Motho ke motho ka botho

    1. mardinemu

      @n2j3 Open cmus, hit 7 (for settings), go down to “dsp.alsa.device”. It should be set to “default” or something. Change it to “equal” and that should do it.

      Reply
  6. jinnstar

    I know i’m a late comer but thanks to both of you for this, made my day.

    After setting everything up and setting the Alsa output device in ~/.moc/config to “equal” I have what I’ve wanted forever.

    Reply
      1. Ikem

        Now a sound proxy and I have the same functionality as with PulseAudio — without the overhead.

        Reply
  7. Fbx

    Hi,

    just for the records, I paste here my final .asoundrc, using
    dmix, alsaequal and 96k upsampling. It took me some time to get to
    this point, and enjoy Spotify like never before. alsaequal is just genius!
    This also contains the ‘Skype trick’, that fixes the ‘warped voice’ issue under Kubuntu 64.

    fbx

    # —— Let’s set the good converter as a default
    # —— Moreover, it seems that the rate_converter option inside the plugs does not work

    defaults.pcm.rate_converter “samplerate_best”

    # —— Let’s use dmix as our main playback device,
    # —— and make sure that it opens the device at 96k
    # —— This also sets the device at 96k, visible in /proc/asound/….

    pcm.dmixed {
    ipc_key 1025
    type dmix
    slave {
    pcm “hw:0,0”
    format S32_LE
    rate 96000
    }
    }

    # —— The Skype magic, to make it work under x86_64, avoid the ‘warped voice’ problem
    # —— Never understood why it does not work without this thing

    #one called “dsnooped” for capturing
    pcm.dsnooped {
    ipc_key 1027
    type dsnoop
    slave {
    pcm “hw:0,0”
    rate 96000
    }
    }

    #and this is the real magic
    pcm.asymed {
    type asym
    playback.pcm “dmixed”
    capture.pcm “dsnooped”
    }

    # Final pcm device, for aoss or for normal apps, like skype
    pcm.dsp0 {
    type plug
    slave.pcm “asymed”

    # A hint is required for listing the device in some GUIs, e.g. Phonon configuration (KDE).
    hint {
    show on
    description “My asymed plug device”
    }

    }

    ctl.mixer0 {
    type hw
    card 0
    }

    # ——— End of the Skype magic

    # ——– My audiophile equalizing section

    # a small intermediate plug that points to the dmixed one
    # Never understood why nothing works without this
    pcm.postequal {
    type plug
    slave.pcm “dmixed”

    }

    # to control the equalizer with alsamixer -D equal
    ctl.equal {
    type equal;
    }

    # a plug that equalizes
    pcm.equal {
    type equal
    slave.pcm “postequal”
    }

    # a plug that upsamples everything at 96k before equalizing
    # so that we make the equalizer work always at 96k, much better sounding
    pcm.upequal {
    type plug
    slave {
    pcm “equal”
    rate 96000
    }
    # Alsa chokes if this is uncommented… bug in alsa?
    # Anyway the good converter was set as default
    #rate_converter “samplerate_best”

    # A hint is required for listing the device in some GUIs, e.g. Phonon configuration (KDE).
    hint {
    show on
    description “My upsampling equalized plug device”
    }

    }

    # ——— And now the ALSA default devices. Spotify wants these, at
    # ——— the end we’ll have an upsampled, equalized Spotify listening experience
    # ——— Any other player will work through these as well

    pcm.!default {
    type plug;
    slave {
    pcm “equal”
    rate 96000
    }
    # Alsa chokes if this is uncommented… bug in alsa?
    # Anyway the good converter was set as default
    #rate_converter “samplerate_best”
    }

    ctl.!default {
    type hw
    card 0
    }

    Reply
  8. Chris Kempson

    I’ve set this up on a 500MHz laptop, no X with cmus used to play music. With this plugin enabled the sound skips constantly, when disabled everything is fine.

    I don’t suppose anyone here might have come across such a problem and have an idea of how to fix it?

    Reply

Leave a reply to Ikem Cancel reply