Skip to content

SDHaroldChoi/PRTF-VR

Repository files navigation

🔉 VR Environment for PRTF (Pinna-Related Transfer Function) testing

VR.HRTF.test.demo.video_SD.1.mp4

This repo currently support:

  • PRTF Testing with Quest3: PRTF testing for two modes (azimuth/elevation) with Meta Quest3 headset and controller.
  • PRTF Testing without Quest3: Simulation on unity with XR Device Simulator.

What is PRTF?

PRTF(Pinna-Related Transfer Function) is signal processing model which characterizes the changes an acoustic signal undergoes due to its interaction with the listener's pinna (outer ear). This repository utilizes a compact PRTF generated by PRTFNet (B.Y. Ko et al., 2023). If you're interested in learning more about PRTFNet, please refer to the original paper.

Prepare Environment (Recommendation)

  • Unity Hub>= 3.9.1
  • Matlab >= R2024b

Simulation

🌟 Currently we Support two modes:

  • Azimuth mode : Speakers are aligned from azimuth -90°C to 90°C at every 30°C (Elevation angle: 0°C)
  • Elevation mode : Speakers are aligned from elevation angle 0°C to 180°C at every 30°C (Azimuth: 0°C)

🌟 Simulation step

  1. Click play button on the unity project screen.
  2. Run the corresponding MATLAB code.
  3. Simulation (Please refer to the video above).
  4. Test result will be saved in SpeakerLogs_fin folder (Time, Trials, Selected Speaker, Correct Speaker, PRTF type, Result).

🌟 Simulation without Quest 3: image

Follow three steps:

  1. Click XR Device Simulator on the Hierarchy screen.
  2. Check the checkbox on the inspector screen.
  3. Click play button to execute

⚠️Please deactivate XR Device Simulator if you simulate with Quest 3⚠️

Playing around with the code

🌟 Change PRTF Sample

Directory_structure

Here we explain how to configure your custom PRTF Sample dataset. You should follow the folder structure above, and put the "Subject_Name" folder with the MATLAB script. If you want to modify folder structure, please modify MATLAB scripts.


🌟 Add Speakers

If you want to modify simulation environment, please modify GameManager.cs, and Speakers.cs.

Cite this Work

If you found this tool useful, please consider citing

@ARTICLE{10229140,
  author={Ko, Byeong-Yun and Lee, Gyeong-Tae and Nam, Hyeonuk and Park, Yong-Hwa},
  journal={IEEE Access}, 
  title={PRTFNet: HRTF Individualization for Accurate Spectral Cues Using a Compact PRTF}, 
  year={2023},
  volume={11},
  number={},
  pages={96119-96130},
  keywords={Location awareness;Head;Torso;Spatial audio;Transfer functions;Acoustic measurements;Image reconstruction;Spatial audio;Rendering (computer graphics);Root mean square;Head-related transfer functions;individualization;pinna-related transfer functions;spectral cues;spatial hearing},
  doi={10.1109/ACCESS.2023.3308143}
}

About

VR environment for PRTF(Pinna-Related Transfer Function) testing

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors