Skip to the content.

Download Latest Windows Release

Source Code

screenshot

The Audio Spatialisation for Headphones Toolset is a set of tools for headphone correction and binaural synthesis of spatial audio systems on headphones.

Features


Windows Installation

  1. Download the latest release and run the installer or download the portable package and unzip to the location of your choice.
  2. When running the executable, if a Microsoft Defender Smartscreen warning is presented, click ‘More info’ and ‘Run anyway’. This warning may show on some releases due to the code signing certificate of the executable building reputation.
  3. (optional) If using Equalizer APO for audio processing, download Equalizer APO and follow the Equalizer APO installation tutorial.
  4. (optional) If using HeSuVi for audio processing, download HeSuVi and follow the installation and usage steps outlined in the HeSuVi Wiki.

Usage

Run the application as administrator to launch the GUI. It may take a few seconds for it to launch.

GUI Overview

Headphone Correction & Spatial Audio tab:

Acoustic Space Import Tool tab:

Room Target Tool tab:

Advanced Settings & Maintenance tab:

Headphone Correction

The supplied headphone correction filters can be used to equalise individual headphones to the diffuse-field target response and remove undesired spectral colouration introduced by the headphones. Filters can be applied directly in Equalizer APO via the Quick Configuration tab or exported as files via the Filter Export tab so they can be used in other audio software.

hpcf steps

Steps for selecting and applying/exporting a headphone correction filter:

  1. Choose a headphone database.
    • “ASH Filters” contains the main set of filters with a Brand / Headphone / Sample structure.
    • “Compilation” contains additional filters gathered from various measurement datasets with a Type / Headphone / Dataset structure.
  2. Select a brand or type to narrow down the headphone list.
  3. Select the specific headphone you want to use.
  4. Select a sample or dataset.
    • In the Filter and Dataset Export tab, all samples or datasets for that headphone will be exported.
  5. (Filter Export tab only) Choose which file types to include in the export:
    • FIR Filters
      • Minimum phase FIR filters in WAV format. Mono.
    • Stereo FIR Filters
      • Minimum phase FIR filters in WAV format. Stereo. Compatible with EasyEffects.
    • Graphic EQ Filters (127 bands)
      • For Equalizer APO and Wavelet.
    • Graphic EQ Filters (31 bands)
      • For 31-band graphic equalizers including Equalizer APO.
    • HeSuVi Filters
      • 127-band graphic EQ format for HeSuVi, saved into the HeSuVi\eq folder.
  6. Choose the sample rate for exported WAV files.
    • Options: 44.1 kHz, 48 kHz, 96 kHz.
    • Should match the sample rate of the playback device.
  7. Choose the bit depth for exported WAV files.
    • Options: 24 bit, 32 bit.
  8. Apply or export the selected filters.
    • “Quick Config - Equalizer APO” loads the filter into Equalizer APO.
    • “Filter Export” exports filter files to the output folder.
    • Default output location: C:\Program Files\EqualizerAPO\config\ASH-Outputs
    • This folder can be changed using the change directory option.

Binaural Room Simulation over Headphones

Binaural room simulation applies a customised acoustic environment to headphones. Filters can be applied directly in Equalizer APO via the Quick Configuration tab or exported as WAV/SOFA datasets via the Simulation Export tab so they can be used in other audio software.

brir steps

Steps for customising and applying/exporting a new simulation:

  1. Select Acoustic Space
    • Choose from various environments (audio labs, conference rooms, control rooms, seminar rooms, studios, etc.)
    • Results in recreations of real acoustic environments derived from real world measurements.
    • Details can be found in the reference tables tab.
  2. Select Gain for Direct Sound (dB)
    • Range: -10 dB to 10 dB.
    • Higher values decrease perceived distance; lower values increase it.
  3. Select Listener Type
    • Options:
      • Dummy Head / Head & Torso Simulator
      • Human Listener
      • User SOFA Input
      • Favourites
  4. Select Dataset
    • Lists public HRTF datasets if Listener Type is Dummy Head or Human Listener.
  5. Select Listener
    • Some options require an internet connection for automatic download.
    • User SOFA files must be placed in the user data folder (default: C:\Program Files\ASH Toolset_internal\data\user\SOFA).
    • Additional SOFA files can be found at the SOFA conventions repository.
    • Preferred listeners can be added to favourites. An averaged listener can also be generated from the favourites.
  6. Optional: Direction Misalignment Correction
    • Correct common orientation errors in SOFA datasets.
    • Use this if azimuth or elevation directions appear reversed, rotated, or start from the wrong reference.
    • Refer to the Reference Tables tab for more details.
  7. Select Room Target
    • Options: flat, ASH target, Harman target, etc.
    • Influences overall balance of low and high frequencies.
    • Flat is recommended if using other headphone correction sources (e.g., AutoEq).
  8. Select Headphone Compensation
    • Match the listener’s headphone type. High strength is default. Reduce to low strength or None if localisation or timbre is compromised.
      • In-Ear Headphones, high strength
      • In-Ear Headphones, low strength
      • Over-Ear/On-Ear Headphones, high strength
      • Over-Ear/On-Ear Headphones, low strength
      • None
  9. Optional: Low-frequency Integration Crossover Frequency
    • Range: 0 Hz to 150 Hz.
    • Auto Select chooses an optimal value for the selected acoustic space.
    • Tunes integration of cleaner low-frequency response with original room response. Higher values may result in a smoother bass response. Set to 0Hz to disable this feature.
  10. Select Low-frequency Response for Extension
    • Select from a set of generalised low frequency binaural responses sourced from a range of real world acoustic measurements.
    • Provides clean extension and/or replacement of low frequencies due to limited range and varying quality of original measurements.
    • Compare responses in the reference tables tab.
  11. Optional: Enable Additional EQ
    • Compensate Headphone Roll-off: adds ~4 dB at 20 Hz.
  12. Select Sample Rate
    • Options: 44.1 kHz, 48 kHz, 96 kHz.
    • Must match playback device.
  13. Select Bit Depth
    • Options: 24 bit, 32 bit.
  14. (Quick Config Tab Only) Apply Parameters
    • Click the apply button in the “Quick Config - Equalizer APO” tab to apply the simulation in Equalizer APO. Simulation Export tab:
  15. (Export Tab Only) Select Spatial Resolution
    • Low: Elevation -30 to 30° in 15° steps, Azimuth 0 to 360° in varying steps.
    • Medium: Elevation -45 to 45° in 15° steps, Azimuth 0 to 360°.
    • High: Elevation -50° (WAV) or -60° (SOFA) in 5° steps, Azimuth 0 to 360° in 5° steps.
  16. (Export Tab Only) Select which files to export
    • Direction-specific WAV BRIRs: one file per source direction, 2 channels.
    • True Stereo WAV BRIRs: one file, 4 channels (LL, LR, RL, RR). Compatible with EasyEffects.
    • HeSuVi WAV BRIRs: 14 channels, 24/32 bit, 44.1/48 kHz. Directions configurable in HeSuVi tab.
    • 16 Channel WAV BRIRs: FFMPEG-compatible, 16 channels, configurable in HeSuVi tab.
    • SOFA File: BRIR dataset in SOFA format. Convention selectable in Additional Settings.
  17. (Export Tab Only) Click the export button to export the binaural dataset to the output folder.

Using the Correction Filters and Binaural Simulations

The outputs can be used to create spatial surround sound on headphones by convolving an audio stream with a set of binaural impulse responses and a headphone correction filter. This requires IR Convolution software that supports stereo or true stereo processing such as Equalizer APO

Channel Configuration

The audio channels can be configured in the ‘E-APO Configuration’ and ‘Export Configuration’ tabs, located on the right side of the main tab.

Equalizer APO example

7.1 Surround Virtualisation

If your audio device does not support a 7.1 surround channel configuration, a virtual audio device such as VB-Audio Virtual Cable or Voicemeeter can be used for audio processing in place of your regular audio playback device. Equalizer APO can be installed on the virtual audio device which can be configured for 7.1 audio, and the output of the virtual audio device can be sent to your regular audio playback device.

Apply Filters and Simulations in HeSuVi

As an alternative to above method in Equalizer APO, the generated filters can be applied using HeSuVi.

HeSuVi HPCF example HeSuVi BRIR example

  1. If using HeSuVi for the first time, download HeSuVi and follow the installation and usage steps outlined in the HeSuVi Wiki.
  2. Open or restart HeSuVi
  3. The binaural room simulations can be selected in the Virtualisation tab. The simulation can be found under the Common HRIRs section at the top of the list.
  4. The headphone correction filters can be selected in the Equalizer tab. The filters can be found under _HpCFs at the bottom of the list.

Acoustic Space Import

This tab allows generating new acoustic spaces from reverberant impulse response (IR) files such as room impulse responses (RIRs). Imported spaces can be used in the binaural simulations.

Steps for importing and processing acoustic spaces:

  1. Set IR Folder
    • Click ‘Open Input Folder’ to go to the directory containing IR folders.
    • All IR files for one space must be in a single subfolder (e.g., Room A).
    • Supported file types: .wav, .sofa, .mat, .npy, .hdf5
    • Click ‘Refresh Folder List’ to update available folders.
    • Select a folder from the IR Folder List dropdown.
  2. Enter Metadata (Optional)
    • Name: Name of the acoustic space. If blank, folder name is used.
    • Description: Brief description of the space.
  3. Configure IR Processing Options
    • Reverb Tail Mode: Use short mode for spaces with fast decay (< 1.5s). Only enable long mode if IRs have long decay tails (>= 1.5 s) as this will increase processing time. Windowed mode can be used to shorten and fade out long decay trails.
    • Low-frequency Mode: Enable if IRs are low-frequency (subwoofer) measurements. This will make the result available under Low-frequency responses.
    • Binaural measurements: Enable if the IRs are binaural measurements such as dummy head measurements. This will bypass application of new HRTFs to the inputs.
    • Noise Reduction: Enable if IRs contain high noise floor.
    • Rise Time (ms): Duration of fade-in window applied to IR. Min: 1 ms, Max: 20 ms
    • Room Correction Factor: Select a value between 0 and 1 to control the strength of room correction.
    • Listener: Controls which listener will be used to apply binaural transformations. If set to ‘User Selection’, the current listener selection in the first tab will be used. Not applicable when binaural measurements option is enabled.
  4. Set Spatial Sampling
    • Desired Directions: Number of simulated source directions to generate.
      • Minimum: 2000, Maximum: 5000
      • Lower values reduce processing time but may also reduce quality.
    • Alignment Frequency (Hz): Cutoff frequency for time-domain alignment.
      • Minimum: 50, Maximum: 150
  5. (Optional) Configure Pitch Shifting for Dataset Expansion
    • Pitch Shift Range: Maximum pitch shift in semitones (default: 12.0)
    • Pitch Shift Compensation: Enable to correct frequency response of pitch-shifted IRs.
  6. Start Processing
    • Click ‘Start Processing’ to begin.
    • Processing time depends on dataset size and settings.

Room Target Generator

This tab can be used to create custom room target curves using low-shelf and high-shelf filters. These targets can be used later in the binaural simulations.

Enter Target Name (Optional)

Configure Low-Shelf Filter

Configure High-Shelf Filter

Generate the Room Target


File Naming and Structure

By default, outputs (excluding HeSuVi files) are saved within the ASH-Outputs folder inside the output directory.

Binaural Room Impulse Responses

Headphone Correction Filters


Supporting Information

Supported SOFA Conventions

Convention Version SOFAConventionsVersion Read Write
GeneralFIR 2.1 1 Yes No
GeneralFIR 1 1 Yes Yes
SimpleFreeFieldHRIR 2.1 1 Yes No
SimpleFreeFieldHRIR 1 1 Yes Yes
SimpleFreeFieldHRIR 0.6 0.4 Yes No
SimpleFreeFieldHRIR 0.5 0.3 Yes No
GeneralFIRE 1 1 Yes No
GeneralFIRE 0.6 0.1 Yes No
GeneralFIR-E 2.1 2 Yes No
FreeFieldHRIR 2.1 1 Yes No

Changelog

Version 4.1.0:

Version 4.0.0:

Version 3.7.0:

Version 3.6.3:

Version 3.6.2:

Version 3.6.1:

Version 3.6.0:

Version 3.5.0:

Version 3.4.0:

Version 3.3.1:

Version 3.3.0:

Version 3.2.0:

Version 3.1.2:

Version 3.1.1:

Version 3.1.0:

Version 3.0.4:

Version 3.0.3:

Version 3.0.2:

Version 3.0.1:

Version 3.0.0:

Version 2.4.0:

Version 2.3.0:

Version 2.2.0:

Version 2.1.0:

Version 2.0.0:

Version 1.2.0:

Version 1.1.0:

Version 1.0.0:


License

ASH-Toolset is distributed under the terms of the GNU Affero General Public License v3.0 (AGPL-3.0). A copy of this license is provided in the file LICENSE.

Contact

Shanon Pearce - srpearce55@gmail.com

Project Link: https://github.com/ShanonPearce/ASH-Toolset

Acknowledgments

This project makes use of various publicly available HRIR, RIR, and BRIR datasets. Refer to the sheets provided in the github docs folder for information on the raw datasets used in this project. Further information on the HRTF datasets can be found at the SOFA conventions repository.