Menu

Help

Jaakko Pasanen Matt Gore
There is a newer version of this page. You can find it here.

How Is Headphone Surround Virtualization Even Possible?

Humans, like many other animals, possess two ears. If you would be deaf on one ear, then it would be almost impossible to draw a distinction between different sound locations. With two ears however, the brain can reproduce every two dimensional position around your head by analyzing differences in volume, frequency and time. Furthermore, the outer structure of your ears channel sounds coming from above and below, resulting in an almost perfect 3D audio perception.
This also means that sound in any environment could be captured the way two ears would hear it – i.e. creating a binaural recording – by either putting tiny microphones in someone's ears or by using synthetic ears with mics. Now, two speakers near the ears of a listener (let's call them headphones) would be enough to create the perception of being at said place with "ears". However, for example in a computer game one could walk and turn freely around making pre-recordings with that much spacial information unpractical.
Therefore, we only want to capture the ears' response to differently placed impulses. We call the Dirac delta function an impulse, that is an audio file with a single one beside only zeros in the sampled world of a computer. Playing it at a specific position in space around the "head with microphones" allows us to get the desired head-related impulse response (HRIR). By then convolving the response with audio makes it sound like this audio would be coming from the direction we played the initial impulse. Several HRIR can obviously be created for every position at which we want to have our virtualized speakers.
The only difference to the headphone surround you find on many sound cards is that it is probably not going to use such convolution. Instead they might apply functions that try to imitate impulse responses of average ears together with added environmental effects. Still, those virtualizations can be treated like speakers placed around ears. Running impulses through them will now lead to responses of those surround methods which can then be used with the convolver of Equalizer APO to make your Windows audio sound like being processed with one of the headphone surround virtualizations. So Equalizer APO does the actual processing, whereas HeSuVi provides the necessary HRIR files and controls Equalizer APO via its graphical user interface.


Installation

  1. Download and install Equalizer APO. A configurator will open at the end of the installation and you are asked to select devices for which the APO is to be set up. Tick the box in front of your default device (see the Status column for that) and finalize the installation – but do not reboot.
  2. Download and install HeSuVi. Unpack it into Equalizer APO's config folder. The HeSuVi installer will automatically point to the correct folder if you didn't change Equalizer APO's install folder.
  3. HeSuVi should open and you can click on Restart Audio in the bottom left if you didn't reboot in step one.
  4. Click the Open Windows Sound Panel button next. Select your default device there, click the Properties button in the bottom right corner and change the sampling rate to 48000 Hz from the Default Format dropdown under Advanced. Save with OK.
  5. Configure your playback device to surround sound by clicking on Configure in the lower left corner of the Sound Panel window. Select 7.1 Surround (or anything above 3 channels) and follow through with the configuration untill the window closes.

If you have 7.1 Surround in the speaker configuration (5.1 Surround should also be enough), then you are done here and can continue with the Usage of the Graphical User Interface part! However, if you can't setup surround, then your sound card won't support it. Practically all music, online videos and even many games are only in stereo so you'll get full benefits of HeSuVi with these. You just need to untic Automatically Deactivate Virtualization on Stereo Device in HeSuVi. There is also an option to upmix stereo to 7.1 surround with Matrix Upmix Stereo Content. If you want to have full 7.1 surround sound experience without having a sound card which supports it, go read the next section below.

VoiceMeeter Workaround for Surround Sound

Only take these steps if your sound card doesn't support 7.1.

  1. Download and install Voicemeeter. Don't reboot.
  2. Open Virtual IO Control Panel from your start menu and set internal sampling rate to 48000 Hz from OptionsInternal Sampling Rate: 48000Hz. Don't reboot.
  3. Open Voicemeeter from start menu and set preferred main sample rate to 48000Hz in MenuSystem settings / OptionsPreferred Main SampleRate.
  4. Hook volume controls to Voicemeeter from MenuHook Volume Keys (for Level Output A1) and set Voicemeeter to start with Windows from MenuSystem Tray (Run at Startup)
  5. Select you speakers as Voicemeeter's output device by clicking A1 button in HARDWARE OUT section and selecting WDM: Speakers (Sound card).
  6. Set Voicemeeter Input as your default device in Windows Sound Panel.
  7. Open Voicemeeter Input Properties in Windows Sound Panel and set Voicemeeter sampling rate to 48000 Hz from the Default Format dropdown under Advanced tab. Save with OK.
  8. Configure Voicemeeter to use surround speaker setup by clicking Configure in Windows Sound Panel and selecting 7.1 Surround, follow through the configuration and select all available options as full-range speakers.
  9. Open Properties of you Speakers in the Windows Sound Panel and select both checkboxes in Exclusive Mode under Advanced tab.
  10. Open Equalizer APO's Configurator.exe, select Output A1 and remove the check mark you made earlier (from your speakers). Don't reboot.
  11. Restart Windows Audio by clicking Restart Audio in HeSuVi.

If you encounter any problems like lot's of distortion / static / crackling, look here.


Usage of the Graphical User Interface

The default settings should already affect the audio output. Further adjustments can now be made.

Virtualization

Choose your favorite virtualization, categorized in two lists. See the description box to their right for details.

Speaker Position Adjustment

Adjust the position of the virtual speakers. The first slider moves the front speakers either more to the center or to the side, the second moves the sides more to the front or to the back and the last one is for the rear speakers. The Reset button alligns them all back to zero.

Volume Adjustment

Change the volume of the virtual speakers. The button 100 resets all to 100% volume.

Buttons

In the bottom left are several self-explaining buttons.

Include Custom Equalizer APO Configuration

If you want to use more of Equalizer APO's functions beforehand and afterwards HeSuVi, you can enter the name of your text files there or navigate to them (...).

Equalizer

This graphic equalizer is meant to be used to equalize (hence the name) your headphones to a flat frequency response which is important for a correct sound localization! The equlization is done after the surround simulation, this means that it cannot be used to make any subjective alterations to the source audio!

You find more information on the wiki page about using the equalizer correctly and profiles for a small collection of headphones on the forum.

The ON/OFF button de-/activates the EQ, - removes one band, + adds one, Flatten and Invert do what they promise. Copy will paste the paramters for the command line/shortcut usage of HeSuVi to the clipboard. After bands have been created, their frequency and gain can be adjusted. The gain of frequencies between two bands is interpolated logarithmically. The last slider will also apply its volume to all frequencies above and the first one to all below (until 20 Hz, deeper ones will be filtered to protect your headphones from damage).

Global Volume

Change the volume of your headphone's left and right earcups or exchange the L/R channels. One slider can be decreased more than the other one to move the balance but both should be at least decreased by the volume of the loudest peak gain in your equalizer setup above.

Settings

  • Deactivate Everything: It will really deactivate everything; virtualization, equalizer, volume, custom configs, everything!
  • Deactivate Virtualization: This only deactivates the stuff in the Virtualization box and the two last settings of this box.
  • Automatically Deactivate Virtualization on Stereo Device: The virtualization will be disabled when your playback device is set to stereo in Windows.
  • Matrix Upmix Stereo Content: 7.1 sound is created from stereo.
  • Store final sound in side and rear channels as well: By default, the L and R channels will output the binaural mix and all other channels are silent. This is the way it should be, however, playing 7.1 content at extreme volumes might cause Windows to apply its clipping protection. Checking this option should allow for (minimally) more volume by storing the binaural info in more channels and letting Windows downmix them to stereo (but I don't know if that works with every sound card/Windows version).

Profile Manager

Here one can 'Save' all options after entering a name for the file. They can then be later Loaded or Deleted. Because they are stored as Windows shortcuts in a folder called profile inside HeSuVi's path, those can be used to quickly change settings without needing to open the HeSuVi GUI.


Usage of the Command Line

The profile manager uses Windows shortcuts with parameters to change the settings. This means that the command line or custom shortcuts can be used as well. The following parameters can be used in any order and omitted individually.

  • open: Open the GUI. By default, the GUI will only open if no parameters are used. Examples: -o | -open
  • virtualization: (De-)activate and select a virtualization. Use the name of the HRIR you want (including .wav) and add / at the beginning to deactivate the virtualization. Both can be omitted. Examples: -v | -virtualization /atmos.wav | -v more\ari159.wav
  • deactivateeverything: Use 1 to deactivate everything, use 0 to not deactivate everything. Examples: -d 1 | -deactivateeverything 0
  • autodeactivatevirtualization: Use 1 to autodeactivate virtualization, use 0 to not autodeactivate virtualization. Examples: -a 1 | -autodeactivatevirtualization 0
  • spreadtoall: Use 1 to store the final sound in the side and rear channels as well, use 0 to not do that. Examples: -s 1 | -spreadtoall 0
  • prelude: Include a custom Equalizer APO configuration beforehands. Examples: -r "myConfig.txt" | -prelude ""
  • postlude: Include a custom Equalizer APO configuration afterwards. Examples: -t "C:\folder\anotherConfig.txt" | -postlude ""
  • position: Make speaker position adjustments for the front, side and rear channels. Use ; in front of each. Examples: -p ;25;-12;3 | -position ;-1;0;23
  • matrixupmix: Use 1 to matrix upmix stereo content, use 0 to not matrix upmix stereo content. Examples: -m 1 | -matrixupmix 0
  • globalvolume: Change the global volume of the left and right channels. The values will be negated. Use ; between them. Examples: -g 50;120 | -globalvolume 0;0
  • exchangechannels: Use 1 to exchange headphones left/right channels, use 0 to not do that. Examples: -x 1 | -exchangechannels 0
  • virtualizationvolume: Change the virtualization volume for master, center, front, side and rear. Use ; between them. Examples: -i 150;0;99;1;23 | -virtualizationvolume 100;100;100;100;100
  • equalizer: (De-)activate and use the equalizer. Bands are seperated by a semicolon plus space, a band consists of frequency space gain[dB], add / at the beginning to deactivate the EQ. Examples: -e "33 9; 44 -6.4; 67 4; 98 0; 396 -2.3; 792 4.8" | -equalizer "/123 4.5; 6789 0"

Troubleshooting

Sound Card Problems

Side and Rear Speakers Are Coming from the Front (and too Silent)

Some cards (Realtek and maybe more) seem to make their own (bad) downmix when using the front panel jack. Here you will have to select "disable front panel detection" in your driver to get real 7.1 again.
If you don't have this option or the problem even occurs when directly connecting to your sound card, open Equalizer APO's Configurator. Select your output, click on the troubleshooting options and untick the second/bottom Use Original APO. Don't restart your PC, but instead restart Windows Audio by clicking Restart Audio in HeSuVi.

Everything Sounds Mono

Make sure to select the correct sampling rate everywhere (that's 48 kHz in almost any cases). If your device doesn't support the rate, then you could resample the HRIRs you want to use. Alternatively, here is a collection of the common virtualizations resampled to 44100 Hz.

VoiceMeeter Problems

Crackling/Distortion/Static

Equalizer APO and VoiceMeeter don't seem to like each on some systems, especially when using a low buffer size. This happens randomly on Windows startup and can happen also after installing and configuring Voicemeeter for HeSuVi.
Distortion can be fixed by opening Equalizer APO's Configurator and switching between Output A1 and Speakers as many times as is necessary (without rebooting PC). Sometimes there is distortion present even when selecting Speakers in the Configurator, when this happens restart Voicemeeter's audio engine from VoicemeeterMenuRestart Audio Engine and continue switching back and forth Output A1 and Speakers in Configurator. If this doesn't fix your problem check the discussion thread and tell about your problem.

Some Youtube Videos Are Mute in Chrome

This can be fixed temporarily by configuring Voicemeeter Input as stereo. More permanent fix is to open chrome://flags/#try-supported-channel-layouts and enabling that option.

My Problems Are Not Listed Here!

For issues with Equalizer APO you could check the troubleshooting options over there otherwise please use the HeSuVi forum.


How-To Record Impulse Responses Digitally

HeSuVi already has a wide variety of impulse responses from different headphone surround virtualization software and sound card solutions to choose one that fits your ears and liking best. But you can also record your own impulse responses.


Updating & Uninstalling

The "installation" of HeSuVi is just an unpacking operation and no files or registry keys will be written outside Equalizer APO\config\HeSuVi except changes and backups of the config.txt in the folder above. New versions can thus be unpacked above an existing installation (only any running HeSuVi.exe should be closed) and your settings will be remembered. For an uninstallation you can just delete the HeSuVi folder and reuse your backuped config_<Year><Month><Day>.txt.