12

I’m wondering if there’s a way to get rid of audio distortion at high volume levels on headphones. When I dual booted Linux with Windows I’d usually just boot into Windows before booting back into Linux to fix my issues and not get any distortion at higher levels on headphones.

Now I just have a machine with Linux on it and can’t seem to stop the sound from distorting at higher levels whenever I plug in headphones since I’ve messed with the alsa mixer pcm volume, changed the headphone volume in alsamixer, and also tried different headphones.

Even when I get distortion to stop by adjusting the headphone, master, or pcm volumes, the sound tends to be somewhat weak even when I turn my headphones all the way up. I’m also wondering if I need to wait for a firmware/kernel update since I’m using relatively new hardware, with a Realtek ALC 295 sound-card, or just change out the card even though I’m not sure if I should do this yet if there’s simpler ways to fix the issue.

Thanks!

  • 1
    Every single speaker in the world will distort if the volume is too high for it. It doesn't matter if you tried 200 different models since they all have their physical limit. I can imagine it being possible to tweak the sounds a bit to reduce the distortion, but that would typically reduce the volume (as you noticed) and/or impact the sound quality. – Julie Pelletier Feb 26 '17 at 5:58
  • 1
    The sound properties on some distros allow the user to set the volume above 100%. I'm running Xubuntu which will set output volume up to 11.00dB, which is 153%, and then the media player can also go to 11.00dB. I don't know if this is what's going on for you, but these settings are bound to cause distortion. – Stephen C Feb 26 '17 at 6:10
  • 1
    Make sure all hardware mixers (amplifiers) have reasonable levels. If you have one mixer at a high amplification, and the next one in the chain at a very low amplification, you'll get weak results. If you amplify digitally beyong the maximal values, you'll get clipping. A usually working way is to set all hardware mixers at 100%, and then use a single mixer (master) to turn it down a bit – dirkt Feb 26 '17 at 10:47
  • 2
    Last comment works like a charm so far. Thanks so much!!! – user18817545 Feb 27 '17 at 2:38
14

Turning all hardware mixers up worked.

Edit: Actually just found another, slightly hacky, work around to this issue after it came back a few boots later by using an ladpsa amplifier and compressor in Arch. Something similar to this could probably work in other distros too.

  1. Install ladspa plugins:

pacman -S ladspa-plugins

  1. Create an .asoundrc file in the home folder:

  2. Paste this code into the .asoundrc file:

    pcm.pulse {
        type pulse
    }

ctl.pulse { type pulse } pcm.default pcm.pulse ctl.default ctl.pulse
  1. paste these commands into /etc/pulse/default.pa:

load-module module-ladspa-sink sink_name=ladspa_output.fastLookaheadLimiter label=fastLookaheadLimiter plugin=fast_lookahead_limiter_1913 control=20,0,0.3 load-module module-ladspa-sink sink_name=ladspa_output.dysonCompress label=dysonCompress plugin=dyson_compress_1403 master=ladspa_output.fastLookaheadLimiter control=0,0.5,0.5,0.99 set-default-sink ladspa_output.dysonCompress

  1. Remove pulseaudio-alsa since it conflicts with ladpsa-plugins

  2. Reboot!

  3. Turn volume down

Edit 2: Just added some slightly tuned default.pa settings to help eliminate distorted frequencies. It's not perfect but worked fairly well on my hardware:

load-module module-ladspa-sink sink_name=ladspa_output.fastLookaheadLimiter label=fastLookaheadLimiter plugin=fast_lookahead_limiter_1913 control=5,0,0.8 load-module module-ladspa-sink sink_name=ladspa_output.dysonCompress label=dysonCompress plugin=dyson_compress_1403 master=ladspa_output.fastLookaheadLimitercontrol=-14,1,0.5,0.99 set-default-sink ladspa_output.dysonCompress

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.