NOTE: it is much better to use the latest releases of Mesh2HRTF and follow the LATEST Tutorial - This snapshot is available mostly for historic reference. |
---|
How to create professional quality individual HRTF using only free software, a computer and a smartphone.
------------------------------------------------------------ | Part of the the Complete Beginner’s tutorial for Mesh2HRTF v2022-06 - No longer updated!!! | ------------------------------------------------------------ |
---|---|---|
Start here. | See the latest releases and tutorials here: GitHub-Mesh2HRTF! | Next >>> Installation of Mesh2HRTF |
The Tutorial Introduction:
This tutorial contains a complete beginner’s workflow from nothing to an accurately simulated individual HRTF (Head Related Transfer Function). The result is - industry standard “HRIR.sofa” and "HRTF.sofa" files that can be used for example to:
Listen to accurate immersive/surround sound over headphones that also supports full 3D head-tracking - yaw, pitch, and roll. (Mesh2HRTF provides far more accurate and reliable results than consumer-level virtual immersive/surround products.)
Get key information for the optimal headphone target curve for a specific person.
Simulate any number of sound locations (virtual speakers) for computer gaming, music listening, movie watching, virtual reality (VR), AR, ambisonics (HOA), music/sound production, audio research, critical listening, binaural monitoring, and more.
For researchers and expert users there is also the main Mesh2HRTF Tutorial. In contrast, this tutorial does not assume any prior knowledge and provides just one example workflow how Mesh2HRTF can be used to simulate HRTF. Mesh2HRTF can simulate not only HRTFs and when Mesh2HRTF is used for audio research, some of the statements in this beginner's tutorial may not apply at all.
A simulation computer (Linux, Mac or Windows) with at least 16GB of RAM. Recommended 32GB or even more system memory (RAM).
Accurate 3D mesh of individual’s ears and head shape. Such 3D scan can be acquired by:
Using FaceID camera and ~10 USD app on most recent Apple iPhone models (process is described in detail in this tutorial).
Using a dedicated 3D scanner (note, that not all professional 3D scanners are suitable for this application and even the best 3D scanners can produce poor results if operator is not careful at the task).
Any other method that gives sufficient quality 3D details of the ear shape. (more details in the tutorial)
Free, open-source Mesh2HRTF software package that contains:
standalone solver “NumCalc” which actually calculates HRTF from the given 3D mesh,
Extra modules for other open-source software that is necessary for Mesh2HRTF (for Blender and Python, plus some optional modules for other software).
Some additional free or open-source software for cleaning-up 3D Mesh and testing/listening to the resulting SOFA file .
These instructions are primarily focused on Windows (but should work great for Linux / Mac as well), but the preffered platforms of the Mesh2HRTF project team are Linux and Mac. Therefore use of Mesh2HRTF on Linux or Mac is encouraged and you can find all necessary instructions for Linux / Mac in this Wiki.
The written tutorial may contain improvements and corrections that are not reflected in the videos.
Each step of the workflow can be performed on different computers and different operating systems. Only the simulation step requires large amounts of RAM.
The main calculations can take many hours or even days – depending on how high resolution of simulation is used. But it is possible to interrupt simulations and resume them at any point (to free up computer when needed). Also it is possible to distribute each simulation over at least 2 computers to reduce simulation time (with any operating system combinations.
This tutorial uses only open-source or free software with exception of 3D scanning part – there you may need to buy one phone app or find another 3D scanning solution.
This list provides a very high-level change log - relevant only for users who have previously followed this tutorial and want to see what has changed since.
How to install Mesh2HRTF. Link
How to 3D scan the ears and head for Mesh2HRTF. Link
How to process the raw scanned data into a complete 3D model for Mesh2HRTF. Link
How to re-mesh (grade) the 3D data for the simulation. Link
How to generate the simulation input data and choose the right settings. Link
How to run the simulation (which can load one or more computers for many hours). Link
How to run post-processing to generate the HRTF and HRIR .sofa files out of the raw simulation results. Link
After this step you will have your individual HRTF.
These tutorials explain how to test .sofa HRIR files and listen to the results in some basic scenarios.
Short primer on the possibilities and limitations of individual HRTFs. Link
How to quickly listen to some audio using individual HRTF .sofa file. (To-Do)
Video priority - depends on requests.
[Application_notes_2_Quick_Listening_test] Not done!
How to route a media player on a PC to listen to music using individual HRTF .sofa file with optional headtracking. Using VSTHost & Sparta binauralizer. (To-Do)
Video priority - depends on requests.
[Application_notes_3_Music_Listening] Not done!
How to set up Reaper DAW to hear all audio through individual HRTF .sofa file with optional headtracking. Using IEM & Sparta plugins in Reaper.(To-Do)
Video priority - depends on requests.
[Application_notes_4_DAW_setup] Not done!
How to get in-game 7.1 surround sound over headphones using individual HRTF (To-Do)
Video priority - depends on requests.
[Application_notes_5_basic_Gaming_sound] Not done!
How to fine-tune and equalize individual HRTFs for the best results. (To-Do)
Tip - check the Genelec Aural ID user manual for one manual method to equalize the HRTF.
NOTE -Mesh2HRTF outputs flat HRTFs - the expected frequency response from headphones at the in-ear microphone position is completely flat. Therefore additional headphone equalization is required - preferably headphone specific EQ or at least generic inverse "diffuse field" equalization.
[Application_notes_6_Equalization] Not done!
Next tutorial step >>> Installation of Mesh2HRTF
Wiki: Application_notes_1_General_HRTF_usage_advice
Wiki: Basic_3D_Mesh_cleanup_and_merging
Wiki: Basic_3D_optimization_and_ReMeshing
Wiki: Basic_HRTF_NumCalc_Simulation
Wiki: Basic_HRTF_post_processing
Wiki: Basic_HRTF_tutorial
Wiki: Basic_Project_export
Wiki: Basic_tutorial_3d_scanning
Wiki: Home
Wiki: Installation_2