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).

 

173 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

  3. Matt Gore24 Jun 2018 @ 03:29

    Does SpeakerCompensation have an effect on ASIO output?

    Reply

AdminAuthorFeaturedBuried

Leave a Comment

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

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 to support us creating more 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