Skip to content

KevinSum/Spatialiser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This is little hobby project where a binaural HRTF spatialisation algorithm is implemented in JUCE. The spatialisation algorithm is taken from the 3D Tune-In Toolkit.

Demo video

Algorithm

The spatialisation algorithm involves extracting the HRIR data from a SOFA. For any chosen azimuth/elevation angle, barycentric interpolation is used on the three closest HRIRs to generate the HRIR for that position. We then perform overlapping FFT convolution with this HRIR.

The interaural time differences (ITDs) are generated by time-stretching the input audio signal to produce the time difference between the left signal and the right signal.

JUCE Project Setup

Projucer Exporter Settings

  • Add "${LIBSOFA}", "libcurl_imp_x64.lib", "libhdf5_hl_x64.lib", "libhdf5_x64.lib", "netcdf_x64.lib" and "zlib_x64.lib" to External Libraries to Link
  • Add "../../Libraries/libsofa/lib" and "../../Libraries/libsofa/dependencies/lib/win" to Extra Library Search Paths
  • For Debug config, set LIBSOFA = libsofa_debug_x64.lib in Preprocessor Definitions and set Runtime Library setting to "Use static runtime"
  • For Release config, set LIBSOFA = libsofa_x64.lib in Preprocessor Definitions

Improvements that could be made

  • Better ITD onset detection algorithm

About

A little HRTF binauralisation JUCE program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published