sprite

Xonar drivers disable SpeakerCompensation tweak testing

What it does (updated 03 Aug 2017)

This tweak disables the SpeakerCompensation driver setting, this setting is enabled by default and not accessible through Asus/C-media Panel. The purpose of SpeakerCompensation was unknown but from what I was able to deduce, when enabled, SpeakerCompensation is altering the sound output by modifying the amplitude of sound frequencies. By disabling it, early indications show that the sound output may be closer to the source file. Disabling SpeakerCompensation also results in a lower DPC latency. There may be other benefits or drawbacks that are yet to be discovered.

I invite you to test this tweak and submit your findings and impressions. I'm interested in hearing if you find the sound quality to be better after disabling "SpeakerCompensation" and if you consider that this tweak should be applied by default with UNi Xonar drivers.

Tweak works for the all the UNi Xonar supported cards:

  • Asus Xonar: DG, DGX, DG SI, DS, DSX, D1, D2, DX, D2X, HDAV, HDAV Slim, ST, STX, STX II, Xense.
  • Other C-Media CMI8788 audio chip based cards: Auzentech X-Meridian & X-Meridian 2G; HT Omega Claro Plus, 2, Halo, eClaro; Razer Barracuda AC-1.

Page updates

  • 16 Oct 2017: Updated "Audio frequency analysis". Added "Possible performance problems" section.

How to apply the tweak

For easy switching between enabled and disabled, it's recommended that you use UNi Xonar v1.80 or older drivers.

  • Download and extract this file.
  • Run "disable SpeakerCompensation.exe".
  • For v1.80 and older drivers: Close any application that uses the soundcard and run "restart card.exe". You would hear the card popping if the restart went through, if you didn't hear that then restart the PC.
  • For v1.81 drivers: Restart the PC. Do not run "restart card.exe" as it will result in a blue screen.
How to restore to the default behavior
  • Run "restore SpeakerCompensation.exe".
  • For v1.80 and older drivers: Close any application that uses the soundcard and run "restart card.exe". You would hear the card popping if the restart went through, if you didn't hear that then restart the PC.
  • For v1.81 drivers: Restart the PC. Do not run "restart card.exe" as it will result in a blue screen.

Audio frequency analysis (updated 16 Oct 2017)

On my Xonar DX card using a short loop cable I've recorded the playback of various melodies with SpeakerCompensation enabled and disabled. For each recording I've generated a FFT analysis spectrum and compared it to those of the original files. I've observed that when SpeakerCompensation is enabled it significantly decreases the amplitude of the frequencies that are above 21200 Hz and slightly alters other frequencies.

For an easier comparison I've made a audio file with the right channel from original file and the right channel from each recording. I've aligned each track(channel) of the resulted files so that they where exactly the same and then generated the FFT analysis spectrum of a specific segment. You can check some of the resulted FFT analysis spectrums done with Adobe Audition below. Images will be resized for screens below 1920x1080px so you might want to save and view them locally.

Beside the obvious amplitude decrease of the frequencies that are above 21200 Hz, when comparing the FFT spectrums it looks like sometimes the recording with SpeakerCompensation disabled is more in line with the original file, and sometimes the recording with SpeakerCompensation enabled seem to be.

Some of these difference could be recording artifacts. These recordings where restricted to my Xonar DX card's playback and recording capabilities so better audio cards could produce more accurate recordings. Different audio tracks or segments could show different results. I may do other FFT spectrums of different audio files later, the process of doing these FFT spectrums is very time consuming.

On the topic of of the frequencies above 21200 Hz (21.2 kHz), I've read that commonly stated range of human hearing is 20 Hz to 20 kHz, but not all of us can hear up to 20 kHz and that some can hear above 20 kHz . So if frequencies above 20 kHz can't be heard then why bother decreasing them? Is there any benefit of doing this? Maybe someone from the community can help here.

Audio quality (Work in progress)

The majority of the people that provided feedback so far, reported that the tweak improves the sound quality with the sound being richer, more clearer and detailed. Not everyone will notice a improvement in sound quality. The combination of ones hearing capabilities (check these tests), type of music they listen to and speakers/headphones performance are the determining factors in whether you can hear an improvement with this tweak or not.

Other people's input is welcomed. Please check the feedback guidelines.

Right Mark Audio Analyzer (RMAA) tests

RMAA tests that I've done on my Xonar DX with a audio loop cable didn't show any consistent differences between “SpeakerCompensation” being disabled and enabled.

Possible performance problems

There is a small possibility that on some systems the performance is affected by applying this tweak. Only 2 people reported such behavior.

I’ve ran multiple game tests on my PC and there where no FPS difference, no FPS drops or freezes between having SpeakerCompensation disabled and enabled. On Windows 7 with UNi Xonar v1.80a I’ve tested Dota 2 and Mafia 2, on Windows 10 with UNi Xonar v1.80b I’ve tested Hitman 2016 (DX11 and DX12) and Prey 2017.

At the moment we don't know what causes the performance issues, but probably these are caused either by some specific audio settings or in conjunction with specific hardware. Anyone having performance problems when SpeakerCompensation is disabled please tell me the following information which audio driver version you have installed, panel configuration, number of speakers/channels, analog or digital(S/PDIF) output, card sample rate, CPU, videocard, OS.

DPC Latency results

DPC latency tests showed a 10-25% lower DPC latency that's been generated by the use of the Xonar sound card when SpeakerCompensation was disabled. Results vary depending on other soundcard settings that are used and OS being tested.  Some tests I ran:

  • Windows 7, measured with DPC Latency Checker, network disabled, UNi Xonar v1.80b Low DPC Latency, Aimp audio player, avg. DPC latency results - DPC Latency in idle(10us):
speakercompensation2.0 analog5.1 analog7.1 analog7.1 analog with ASUSAudioCenter
disabled203641115
enabled254557134

 

  • Windows 10, measured with LatencyMon, UNi Xonar v1.80b Low DPC Latency, 2.0 analog output, Aimp audio player, 2 min audio playing, results for STXII.sys:
speakercompensationDPC countHighest execution(ms)Total execution(ms)
disabled599970.0660981034
enabled650870.0737671154

Feedback guidelines

When submitting feedback please include the following: audio card, audio driver version, Windows version, settings used (analog or digital output, number of channels, any other relevant settings that where enabled), speakers and amp or headphones model, music format (lossy or lossless).

With "SpeakerCompensation" disabled I am also interested in knowing up to which frequency you can hear (see tests here).

 

Donation notice
Was this helpful? Please consider supporting us by making a donation.
AdSense

186 Comments

  1. George02 Apr 2018 @ 12:25

    Is there a way to verify the current status of the setting?

    Reply

    • Evgenim02 Apr 2018 @ 15:20

      You can check in registry.
      I have here:
      [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0000\Settings]
      "SpeakerCompensation"=hex:00,00,00,00
      and here:
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0000\Settings]
      "SpeakerCompensation"=hex:00,00,00,00

      Reply

      • George02 Apr 2018 @ 17:53

        Thanks. I was hoping for a simpler/quicker way but this will do fine.

        I only have that “SpeakerCompensation” value in: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0014\Settings

        (0014 instead of 0000 and not in ControlSet001)

        Reply

        • CarvedInside03 Apr 2018 @ 00:57

          "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\" is where current settings are stored. I generally recommend following the FAQ Q&A 5.1 guide to find where the Xonar settings are stored. If you have the SpeakerCompensation key it means the setting is disabled. If you do not have the key it means the setting is enabled.

          Currently, checking the registry is the only way to check.

          Reply

          • Gabor27 Jul 2018 @ 12:59

            I do it by installing, but there is no key found in the registry ?!

            Reply

            • Jim M.27 Jul 2018 @ 22:28

              I found it in the key list headed by BassBasedBLevel and it was set to 0 after I ran the disable exe. I then ran the restore exe and the key was not there. I am running Windows 7 Ultimate 64. Did you use the find as instructed in the FAQ using that key?

              Reply

            • CarvedInside28 Jul 2018 @ 00:51

              Make sure you are looking under CurrentControlSet registry key.
              If you have the Registry Editor open when you run the files, press F5 to refresh the Registry Editor information.
              Check that your security suite is not blocking the execution of the file.
              Try running the file as an administrator (right click and select "Run as Administrator").
              Let us know if you manage to apply the tweak.

              Reply

              • Gabor28 Jul 2018 @ 11:33

                I copied manually. This is "SpeakerCompensation" = hex: 00,00,00,00 Here is the [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class \ {4d36e96c-e325-11ce-bfc1-08002be10318} \ 0000 \ Settings] good?

                Reply

                • CarvedInside30 Jul 2018 @ 00:14

                  It looks good.
                  Another thing to check for is to see if you don't have another registry key after 0000 which has the Xonar settings while still being under CurrentControlSet. Keep searching BassBasedBLevel after the first result under 0000\Settings. If you find another one under CurrentControlSet let me know so I can guide you in finding which one is actually in use.

                  Reply

                  • Gabor30 Jul 2018 @ 14:45

                    BassBasedBLevel does not have this.
                    BassBasedBLevel 0008 in

                    Reply

                    • CarvedInside01 Aug 2018 @ 03:22

                      Your comment is incomplete. If you found BassBasedBLevel in 0008 registry key as well, then create the SpeakerCompensation registry entry there too.
                      I usually does not happen to be multiple registry key for Xonar settings, one of them is probably from some previous Xonar drivers.
                      If you want to find which path is the one in use, look for the OutputFormat registry entry value in both registry key paths. Then change the sample rate in the Asus, C-media or XonarSwitch panel and see in which path the OutputFormat changed. You can then delete the other registry key path. Don't forget to revert back the sample rate setting.

                  • Gabor01 Aug 2018 @ 09:30

                    I now notice that in the 0008 registry key you have SpeakerCompensation 00,00,00,00, can I delete it in the 0000 registry key?

                    Reply

                    • CarvedInside02 Aug 2018 @ 01:40

                      As I've suggested above, see which registry key is the one that's being used. Then you can delete the whole registry key (000x) that's not being used.

  2. doublebstyle19 Jun 2018 @ 21:49

    It is great. I was just about the change my DS. I have always noticed the problem especially with headphones and now it is gone. Thanks for the mod.

    Reply

    • CarvedInside20 Jun 2018 @ 01:22

      Can you please elaborate on what the problem was?

      Reply

      • doublebstyle21 Jun 2018 @ 00:50

        I am not an expert but now low and highs are more natural, clear and balanced. My main problem was volume fluctuation on some frequencies before using this mod. It is hard to explain but it was like a kind of SVN but a bit different. It feels like driver was playing volume all the time for low and highs which makes you lose a lot of details and unbalanced sound like “frequency volume fluctuation”.(due to this problem and low output I even tried use my 15 year old Audigy 2ZS on w10 x64 machine it was worked fine at first but than I realize some static sound only in gaming so I had to revert back to DS) . After this mod I realize that now output is balanced. I still couldn’t find a solution for output volume and I don’t think it is enough even for 30 ohm headphones with Spotify. If you have some advice or other mods in order to increase volume a little bit I will be appreciated.

        Reply

        • CarvedInside22 Jun 2018 @ 03:15

          Thanks for info.

          For the low volume problem you could try raise the Left and Right volume sliders that are available:
          - under Mixer tab in Asus Audio Center
          - if you press the volume button under Output Device panel on the bottom left corner in C-media Panel
          Be careful raising them to high as this seems to degrade the sound quality.

          Reply

        • Christo27 Jun 2020 @ 23:46

          DoubleStyle - for Spotify "Volume normalization" settings. I've noticed that it messes up low frequencies.

          I think this is a more likely culprit for what you are noticing. This mod is more arround very slight adjustments in the high.... and I have no idea why they would even add that. So bizarre.

          Reply

  3. Matt Gore24 Jun 2018 @ 03:29

    Does SpeakerCompensation have an effect on ASIO output?

    Reply

    • CarvedInside25 Jun 2018 @ 19:07

      Don't think so, but I am not 100% sure.

      Reply

    • Bill Gates14 Sep 2018 @ 17:15

      it is hearable on every output, which means, asus does not have bit-exact playback at all. Something always filtering the sound and degrade it. We must find all of these malignant settings.

      Reply

  4. riki23 Apr 2020 @ 23:35

    doesn't asio bypass all windows layers and communicate directly with the sound card? that means that there will no meddling in the sound when asio is used for playback.

    Reply

    • riki25 Apr 2020 @ 22:41

      Apparently the xonar asio bypasses the windows sound mixer but not the windows sound system. Or at least it uses the registry settings when communicating with the sound card, and that speakercompensation probably acts as a switch for a lousy low pass filter in the sound processor. No need for restart the difference is audible immediately after applying the fix. More highs, the middles become pronounced, and it's less bassy but the bass is now defined. Lot better sound image.
      Conclusion, the Xonar sound cards are utter shit. Thank you for making them better.

      Reply

      • CarvedInside26 Apr 2020 @ 00:29

        This is a driver setting, the driver settings in the registry are only loaded when you restart the driver. In case of this specific setting, I am pretty confident that for DirectSound you need to restart the driver to load the new setting. Maybe in case of ASIO playback, the driver reinitialized some of the settings from the registry but I not sure of this behavior.

        Reply

        • riki26 Apr 2020 @ 06:29

          Weird thing is with direct sound i don't notice much improvement. Although there will always be difference in the sound between asio, ds and wasapi.
          with asio after this tweak there are noticeable differences. but why would it use those registry settings as asio is a separate driver from the wdm one.
          do you remember what output you used when you were doing the spectrum analysis?

          Reply

          • CarvedInside27 Apr 2020 @ 07:19

            I moved your comment from a new comment to a reply to the original discussion. Please use the REPLY button on the left of the comment you are replying to.

            This is a driver setting, not an ASIO specific setting. After doing some RMAA tests, looking at frequency analysis of the same recordings but with ASIO playback, I am not confident that this tweak works for ASIO output.
            Most likely I did those frequency analysises with WASAPI non-exclusive. If not, then I used DirectSound. I certainly did not use ASIO output.

            Reply

            • riki17 May 2020 @ 23:10

              Did some reading and asio is just a protocol, it all goes through the sound card drivers, just bypasses everything windows. So it does affect the sound and it's more pleasant to listen to. So thanks again

              Reply

  5. Felicity10 Sep 2020 @ 09:39

    Decided to finally reinstall everything now that my dt770 pros really deserved more care & was experimenting with the 7.1 upmix/8ch emulation and wow I can't believe I missed this tweak! I've got rather bad ears (thanks air force...) so every bit helps, honestly. I don't know how much it's really helping because audio especially I'm very prone to getting used to anything but it feels a lot more natural for sure. I kept fiddling constantly but I think it is fine now. This is great.

    On xonarDGX/win10/dt770 msi z370 8700k etc, certainly sounds better now than earlier whether I'm watching stream or trying some hard bass stuff.

    May just be from the full reinstall I did if I mucked up some stuff but hey placebo is placebo if so.

    Reply

  6. lichten10 Sep 2021 @ 05:20

    Wow, this thing somehow significantly improved the sound on my Xonar D1/Win10/WASAPIexclusive

    Reply

  7. DDRRE22 Jun 2022 @ 21:07

    I've been playing around with this setting on ASIO, I think it sounds better (more "controlled", I guess, but not necessarily restrained) with it ENABLED actually.
    Running a Dirac LIve-calibrated 7.1 setup with an Onkyo Integra TX-NR5000E.

    Reply

    • DDRRE22 Jun 2022 @ 21:18

      I actually take that back. It's a difficult distinction to make, but I think I need to better tune the higher frequencies in my room with the setting disabled. With 8 speakers it isn't easy

      Reply

  8. code4food08 Apr 2023 @ 16:21

    I installed Windows 11 a couple days ago but only reapplied this tweak today. Almost forgot what a difference it makes in clarity with ASIO. Highs are more detailed, bass is better defined, and basically every track sounds better.

    Reply

  9. AirenElias04 Nov 2023 @ 23:05

    I was using my Xonar DG for 10 years not knowing it could sound like this! I feel my sound became so much clearer after i've installed your mod, no joke.
    It removed this weird mushy feeling in the moments of silence and made everything sound much more crispy.

    Reply

Legend:AdminAuthorFeaturedLinkedOff-topic

Leave a new commentReply to comment

Comment received.
Your comment may be held for moderation. If it does not show up immediately, please be patient. Comments have to comply with these rules:
  • English language only
  • Don't post insults or threats
  • Try to keep the discussion constructive and informative
  • Don't post questions without doing a search beforehand
  • For replies to individuals regarding the SAME discussion, use Reply to write to that individual. For a NEW issue write a new comment.
  • Make your comment easly readable. Write the product names how they are originally written or at least capitalize their first letter. Write "i" as "I". Add a space after end of a sentence and beginning of another (e.g. ".I" -> ". I").

We've noticed that you're using an AdBlocker

It's not just you, over 66% of our site's visitors are blocking the ads.

Please disable adblock for this website and refresh this page if you:
find the content useful
want us to create more useful content and software
want tech support through the comment section

The ads are placed so that there is minimal interference with page reading. There are no pop-up, pop-under or sticky ads.

Alternatively, you can support us by making a donation.

Close