This repository includes the code for a hybrid structural HRTF model combining measured, synthesised, and selected components [1]. In particular, its three components are:
The model, implemented in MATLAB/Python, directly outputs a SOFA file.
To get a local copy up and running follow these simple steps.
To run this project you'll need a copy of Python 3.x (3.7 or later recommended) and MATLAB. If you want to use the generated SOFA file with Steam Audio, it is recommended to use MATLAB 2016. See this issue for more details.
Make sure to download and install the following MATLAB toolboxes:
Furthermore, you'll need a copy of the HUTUBS [4] dataset, which can be found here (file HRIRs.zip
).
Finally, it is recommended to install the necessary Python dependencies within a virtualenv
or using conda
.
In the latter case, make sure to install pip
within your Conda environment first.
git clone git@github.com:miccio-dk/itsadive_hybrid_structural_model.git
cd ./itsadive_hybrid_structural_model/python
pip install -r requirements.txt
In order to generate an individualized HRTF set from user's data, follow these steps.
edge()
function; the areas of interest are the contour of the concha (cymba and cavum), the ear canal, the tragus, and the inner and outer edges of the helix.From within the python/
directory, run the following command:
python ear_to_prtf.py configs/edges_median.json /path/to/pinna_contours.png --nfft 512 --output_path /path/to/prtf.mat
For more info regarding further arguments and options:
python ear_to_prtf.py --help
Open MATLAB and call generateHrtfSet()
with the following arguments:
Distributed under the MIT License. See LICENSE
for more information.
If you use this code in a scientific publication, please reference the following works [1,2]:
@inproceedings{micciniHybridApproachStructural2021,
title = {A hybrid approach to structural modeling of individualized {HRTFs}},
booktitle = {2021 {IEEE} {Conference} on {Virtual} {Reality} and {3D} {User} {Interfaces} {Abstracts} and {Workshops} ({VRW} 2021)},
author = {Miccini, R. and Spagnol, S.},
month = mar,
year = {2021}
}
@misc{spagnolVikingHRTFDataset2020,
title = {The {Viking} {HRTF} dataset v2},
url = {https://zenodo.org/record/4160401},
publisher = {Zenodo},
author = {Spagnol, Simone and Miccini, Riccardo and Unnthorsson, Runar},
month = oct,
year = {2020},
doi = {10.5281/zenodo.4160401},
note = {type: dataset},
}
Simone Spagnol - @itsadive - ssp (@) create.aau.dk
Project Link: https://itsadive.create.aau.dk
[1] R. Miccini and S. Spagnol (2021). A hybrid approach to structural modeling of individualized HRTFs. In: Proceedings of the 2021 IEEE Conference on Virtual Reality and 3D User Interfaces Workshops (VRW 2021), Lisbon, Portugal, March 2021.
[2] S. Spagnol, R. Miccini, and R. Unnthórsson (2020). The Viking HRTF dataset v2. DOI: 10.5281/zenodo.4160401
[3] R. Miccini and S. Spagnol (2020). HRTF individualization using deep learning. In: Proceedings of the 2020 IEEE Conference on Virtual Reality and 3D User Interfaces Workshops (VRW 2020), pages 390-395, Atlanta, GA, USA, March 2020.
[4] F. Brinkmann, M. Dinakaran, R. Pelzer, J.J. Wohlgemuth, F. Seipl, and Stefan Weinzierl (2019). The HUTUBS HRTF database. DOI: 10.14279/depositonce-8487
[5] S. Spagnol (2020). HRTF selection by anthropometric regression for improving horizontal localization accuracy. IEEE Signal Processing Letters 27, pages 590-594, April 2020.