Jump to content

Documentation:24-1001 Enhanced Auditory Simulation Improved Map

From UBC Wiki
Emerging Media Lab
About EML
A collaborative space for UBC faculty, students and staff for exploration of emerging technologies and development of innovative tools and solutions. This wiki is for public-facing documentation for our projects and procedures.
Subpages


Introduction

Despite advancements in hearing technology, individuals with hearing loss struggle with sound localization in day-to-day life. Research suggests, however, that the brain can adapt to localizing sound using only one ear, emphasizing the need for accessible training programs in both educational and clinical settings.

Enhanced Auditory Simulation Improved Mapping (EARSIM) is a VR prototype of one of these training programs, using Procedural Content Generation (PCG) and Head-Related Transfer Function (HRTF) Sound Design to enhance users' sound localization abilities. The game increases in difficulty by introducing environmental distractions and altering sound clarity. ​

This prototype was developed in collaboration with the UBC Faculty of Medicine and the BC Children’s Hospital Research Institute, serving as a proof of concept for a new approach to future spatial hearing training, both in clinical settings and as a portable tool that individuals can use at home.​

Background/Objective

EARSIM aims to enhance traditional in-clinic localization studies by integrating realistic environments and customizable testing conditions. Existing assessments are conducted in controlled indoor settings that do not fully replicate real-world auditory challenges. This project transforms the experience into an interactive, emerging media format while maintaining the core principles of traditional localization practices.

The current prototype is a functional virtual reality application developed for Meta Quest headsets. While it runs effectively, it currently requires higher-end hardware to achieve optimal performance and visual fidelity. In the future, the application has the potential to evolve into a downloadable game for broader audiences or be adapted into a clinic-centered program accessible through an existing therapeutic or training platform.

Format/Versioning

The current prototype is developed in Unreal Engine 5.4.4 and is compatible with Meta Quest 2 and 3, with optional headphone support for improved audio accuracy. Wireframes were designed using Figma, and additional design assets were created in Adobe Illustrator.

Primary Features

  • Realistic environments and animal avatars​
  • Adaptive gameplay mechanics and experience​
  • Performance tracking and immediate feedback

Environment Levels

The environment is built on a Procedural Content Generation (PCG) framework in Unreal Engine 5.4, enabling comprehensive customization to replicate real-world settings. Key environmental parameters, including vegetation density, weather conditions, and time of day, can be adjusted dynamically. The current prototype features three distinct environments, each offering a unique experience.​

Snow Environment


Animal Assets
Desert Environment

Design Overview

All design assets for EARSIM were designed using Figma and Adobe Illustrator. Wireframes and prototypes created in Figma focused on clarity and accessibility. Additional assets, including controller graphics, target animal icons, and the EARSIM logo, were created in Adobe Illustrator to support the visual design and consistency of the prototype.

Core UI/UX consideration include:

  • Start Menu: Includes an About page, Settings, and a step-by-step Tutorial designed to guide new users through the experience
  • Tutorial: Specifically designed for first-time users, this interactive walkthrough introduces basic controller functions and gameplay mechanics to ensure accessibility and ease of entry
  • Difficulty Settings: Allows for configurable and personalized training sessions. Users can adjust difficulty based on their skill level or specific training goals
  • Pause Menu: Accessible at any point during a session, the pause menu offers key accessibility options including: switching the pointing device, adjusting environmental noise levels, and modifying brightness for visual comfort
  • Progress Panel: A real-time dashboard displaying important session metrics such as: target type, number of hits and misses, time remaining, and score

Users interact by pointing and selecting the location of animal sound sources, receiving real-time feedback and scores based on accuracy. The gameplay follows a simple cycle where users listen to identify a sound, locate its source, and learn from feedback to refine their skills—repeating this process for a customizable number of attempts to support continuous improvement.

Difficulty Settings UI

Development Overview

EARSIM is built using Unreal Engine 5.4 with Meta Quest integration and is exported as a Windows PCVR package. The application uses procedural content generation (PCG) for dynamic environment creation, combined with a modular weather system, and features sound design utilizing the Resonance Audio spatialization plugin. We also used Unreal Engine's material graph system to create various game textures, as well as behavior trees and animation blueprints for animal behavior and movement. The logic for game progression is written with a blend of Blueprint and C++, while the rest of the functionalities are implemented using Blueprint.

User Research

A usability test was conducted with 12 participants to determine usability issues, identify missing key features, and confirm smooth user experience. The participants had varying in VR experience and hearing ability. The results from the survey provide valuable insights into both the application's performance and how it interacted with different user backgrounds. ​

The overall usability of the application received strong positive feedback, 7 out of 12 participants agreeing that navigation was straightforward and intuitive. The overall application was well-received, indicating that the design is clear and informative. This suggests that the application is generally user-friendly and capable of onboarding new users effectively. ​

While the majority of participants had normal hearing (10 out of 12), the few with limited hearing (2 participants) had more mixed responses, particularly regarding the effectiveness of the sound cues for localization and the sound environment. This could suggest that the application could benefit from incorporating additional visual or audio cues for users with hearing limitations, ensuring that sound localization is still an effective and engaging experience for them.

Future Consideration

Remapping Controls

As we progressed through the development of the application, we noticed that some users did not find the controls intuitive, especially for people who did not have VR or gaming experience.

One feedback we have received to make every control mapping only in one controller and mirrored. This means that both left, and right analog sticks should be able to rotate the player, and users should also be able to aim with both hands.

Adding Sound Source Targets

We were fortunate on having access on some animal meshes and animations, but it was one of the limiting factors of having a smaller sized team. A future consideration for this is to add more interactable actors, while also not being limited to animals.

Persistent User Data

For research and clinical applications, writing and saving the user data is a useful feature to have. At the moment, the data being stored is only persistent in one game instance. This means that exiting the application would remove all results from the trial data the user has done. Creating a file writing system would solve this problem, you would just need to integrate it from the game instance manager class, since it stores the needed data such as history of trials for a single launch.

Persistent Settings Data

Same as the persistent user data sub portion, writing and saving the settings data is a useful feature to have for research and clinical applications. As of the current state of the application, we do have cached settings data (see D.5.A., Data Caching), but it is only persistent for a single launch.

Clinicians, researchers, and people that will set up the difficulty defaults can calibrate the custom presets by opening the project file and setting the default data in the game instance blueprint class, but a more accessible way may be more usable for their purposes.

Mobile Packaging and Optimizations

Creating a shippable product within Oculus is possible, but when developing for this device, note that using Nanite, Lumen, and the deferred rendering pipeline would degrade the performance instantly. Make sure to develop in the forward rendering pipeline, while also using an optimized LOD system to have acceptable frame rates.

This will however, mean that you will not be able to use the weather system that was built for this application for the POC.

Widget Material

Widget stuttering has become a side effect when creating world widget actors, but it is easily fixable. The reason for this is we are currently using a translucent material to achieve the rounded corners of the UI design. Which means it is ran in an extra render pass.

Switching to an opaque material would be the easiest solution, but that means all the widgets should be revised to fit a square/rectangle shape.

WWise Integration

Wwise is a professional audio middleware widely used in game development to create and manage interactive, adaptive soundscapes. If the EARSIM project were to scale up—introducing more sound sources or more complex audio logic—it would be beneficial to consider integrating Wwise. It offers all the features currently supported by our Unreal Audio + Resonance Audio plugin setup, while also providing powerful tools such as real-time audio mixing and effects, interactive music systems, and advanced spatialization capabilities. Additionally, Wwise includes built-in profiling and debugging tools, enabling developers to monitor and optimize audio performance effectively.

Tutorial Onboarding

The current tutorial system provides a basic introduction to the game mechanics, but it can be further enhanced to improve onboarding and reduce cognitive load for users unfamiliar with virtual reality or spatial hearing concepts. A refined tutorial should be implemented by providing users with the ability to revisit or skip portions of the tutorial based on their familiarity with the platform enhances autonomy and streamlines the experience.

Auditory Prompts

To support users as they navigate the application, implementing subtle auditory prompts can enhance situational awareness and reinforce learning objectives. These prompts might include spatially localized cues that hint toward a target, short audio signals to confirm successful/unsuccessful actions.

Increased Environments

The current prototype provides only 3 different environments. To enhance diversity and maintain user engagement, future iterations could include additional environments such as urban, underwater, or cave environments, could offer a variety of acoustic opportunities and challenges.

Accessibility Features

The application should implement features such as adjustable text size and high-contrast visual modes to support users with visual impairments. Adaptable controls, such as one-handed operation modes and adjustable input sensitivity, would also significantly enhance usability for individuals with motor limitations or those new to VR. Currently, the control scheme requires the use of both hands, which has led to confusion among users who often struggle to remember which controller performs specific functions.

GitHub

To be updated. The team is currently working on uploading to GitHub, but we're facing challenges due to the large file size.

Setup Guide

To try out the project locally, please refer to the attached PDF document: EARSIM Set-Up Guide.pdf

This project requires a Meta Quest headset and a PC with a good graphics card to run. Don't worry if you don't have one — you can book a demo to try out the project at EML's demo space: https://eml.ubc.ca/visit-eml/

Poster

EARSIM Showcase Poster

Development Team

Principal Investigators

Dr. Douglas Sladen

Associate Professor

UBC Faculty of Medicine

University of British Columbia

Dr. Valter Ciocca

Professor

UBC Faculty of Medicine

University of British Columbia

Dr. Joanne Whitehead

Bioinformatician

BC Children's Hospital

Subject Matter Expert

Eli Hason

Sound Designer

Wabi Sabi Sound

Student Team

Sinnie Choi, Project Lead, UI/UX Designer (September 2024 - April 2025)

Work Learn at the Emerging Media Lab at UBC

Undergraduate in School of Architecture and Landscape Architecture

University of British Columbia

Eric Tang, Software Developer (September 2024 - April 2025)

Work Learn at the Emerging Media Lab at UBC

Undergraduate in Bachelor of Applied Sciences in Computer Engineering

University of British Columbia

James Edralin, Software Developer (September 2024 - April 2025)

Coop Software Developer at the Emerging Media Lab at UBC

Undergraduate in Bachelor of Science in Computer Science

University of British Columbia

Mark Hamon, Software Developer (January - April 2025)

Work Learn at the Emerging Media Lab at UBC

Undergraduate in Bachelor of Science in Physics

University of British Columbia

Julien Roy, Project Lead and Software Developer (September - December 2024)

Work Learn at the Emerging Media Lab at UBC

Undergraduate in Bachelor of Science in Computer Science

University of British Columbia

Assets Credit

Environment Assets

Standard License

In the original proof of concept application, we used several assets such as Quixel Megascans, most of which are in standard license. We cannot distribute this in the open-source repository, but we will credit the assets that we used with a short description where you can “reconnect” these assets back to your repository.

“Ancient Golem” (https://www.fab.com/listings/211cded8-631a-4d3f-ad1f-e94e09cfa8e6) by Stas Heivakh is licensed under Standard License. Used as an assembly asset for environments.

“Animal Variety Pack” (ANIMAL VARIETY PACK | Fab) by PROTOFACTOR INC is licensed under Standard License. Used for blueprints, skeletal meshes, and animations for target animals.

“Automotive Winter Scene” (Automotive Winter Scene | Fab) by Epic Games is licensed under Standard License. Bushes and Stone Walls are used as meshes for environments.

“City Park Environment Collection” (City Park Environment Collection | Fab) by SilverTm is licensed under Standard License. Used as assembly and mesh assets for environments.

“[VP] Temples of Cambodia – Ruins exterior and interior” ([VP] Temples of Cambodia - Ruins exterior and interior | Fab) by Scans Factory is licensed under Standard License. Trees are used as meshes for environments.

“Animal Skull” ([Animal Skull | https://quixel.com/megascans/details/animal-skull]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.[ED1]

“Bermuda Buttercup” ([Bermuda Buttercup | https://quixel.com/megascans/details/bermuda-buttercup]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Bigleaf Hydrangea” ([Bigleaf Hydrangea | https://quixel.com/megascans/details/bigleaf-hydrangea]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Big Bilberry” ([Big Bilberry | https://quixel.com/megascans/details/big-bilberry]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Cactus” ([Cactus | https://quixel.com/megascans/details/cactus]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Dead Leaves” ([Dead Leaves | https://quixel.com/megascans/details/dead-leaves]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Dead Tree” ([Dead Tree | https://quixel.com/megascans/details/dead-tree]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Cotton” ([Desert Cotton | https://quixel.com/megascans/details/desert-cotton]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Formation” ([Desert Western Formation | https://quixel.com/megascans/details/desert-western-formation]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Ledge Rock” ([Desert Western Ledge Rock | https://quixel.com/megascans/details/desert-western-ledge-rock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Wester Rock” ([Desert Wester Rock | https://quixel.com/megascans/details/desert-wester-rock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Scatter Rock” ([Desert Western Scatter Rock | https://quixel.com/megascans/details/desert-western-scatter-rock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Spire” ([Desert Western Spire | https://quixel.com/megascans/details/desert-western-spire]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Tree Log Dead” ([Desert Western Tree Log Dead | https://quixel.com/megascans/details/desert-western-tree-log-dead]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Desert Western Tree Trunk Juniper” ([Desert Western Tree Trunk Juniper | https://quixel.com/megascans/details/desert-western-tree-trunk-juniper]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Dune Sword” ([Dune Sword | https://quixel.com/megascans/details/dune-sword]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Elderberry” ([Elderberry | https://quixel.com/megascans/details/elderberry]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“English Ivy” ([English Ivy | https://quixel.com/megascans/details/english-ivy]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Greater Burdock” ([Greater Burdock | https://quixel.com/megascans/details/greater-burdock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Ice Cliff” ([Ice Cliff | https://quixel.com/megascans/details/ice-cliff]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Icelandic Weathered Lava Spire” ([Icelandic Weathered Lava Spire | https://quixel.com/megascans/details/icelandic-weathered-lava-spire]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Japanese Wooden Well Roof” ([Japanese Wooden Well Roof | https://quixel.com/megascans/details/japanese-wooden-well-roof]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Large Ice Cliff” ([Large Ice Cliff | https://quixel.com/megascans/details/large-ice-cliff]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Leptadenia” ([Leptadenia | https://quixel.com/megascans/details/leptadenia]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Old Gravestone” ([Old Gravestone | https://quixel.com/megascans/details/old-gravestone]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Periwinkle” ([Periwinkle | https://quixel.com/megascans/details/periwinkle]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Purple Shamrock” ([Purple Shamrock | https://quixel.com/megascans/details/purple-shamrock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Rhazya” ([Rhazya | https://quixel.com/megascans/details/rhazya]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Rocky Snow Pile” ([Rocky Snow Pile | https://quixel.com/megascans/details/rocky-snow-pile]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Rusty Wheel Hub” ([Rusty Wheel Hub | https://quixel.com/megascans/details/rusty-wheel-hub]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Small Tundra Rock” ([Small Tundra Rock | https://quixel.com/megascans/details/small-tundra-rock]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Snow Clump” ([Snow Clump | https://quixel.com/megascans/details/snow-clump]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Snowy Stump” ([Snowy Stump | https://quixel.com/megascans/details/snowy-stump]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Tundra Grass” ([Tundra Grass | https://quixel.com/megascans/details/tundra-grass]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“Violet Wood Sorrel” ([Violet Wood Sorrel | https://quixel.com/megascans/details/violet-wood-sorrel]) by Quixel Megascans is licensed under Standard License. Used as subtle ground cover in various landscapes.

“White Button Mushroom” ([White Button Mushroom | https://quixel.com/megascans/details/white-button-mushroom]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

“White Ornamental Kale” ([White Ornamental Kale | https://quixel.com/megascans/details/white-ornamental-kale]) by Quixel Megascans is licensed under Standard License. Used as meshes for environments.

Creative Commons

The following assets are mainly used for the open-source version. Note that some assets such as textures are licensed using Creative Commons CC0 license, which does not need attribution.

“Realistic Rocks Lowpoly” (Realistic Rocks Lowpoly | Fab) by Motionstudio Arts is licensed under Creative Commons Attribution (Deed - Attribution 4.0 International - Creative Commons)

“Collection of rocks” (Collection of rocks | Fab) by Elliptic Studio is licensed under Creative Commons Attribution (Deed - Attribution 4.0 International - Creative Commons)

“Trees Gen02 Volume 01” (Trees Gen02 Volume 01 | Fab) by Immersive-Games is licensed under Creative Commons Attribution (Deed - Attribution 4.0 International - Creative Commons)

“Smuggler’s Cove Asset Pack” (Smuggler's Cove Asset Pack | Fab) by Poly Haven is licensed under Creative Commons Attribution (Deed - Attribution 4.0 International - Creative Commons)

“Rocks and combined” (Rocks and combined | Fab) by raffyraffy is licensed under Creative Commons Attribution (Deed - Attribution 4.0 International - Creative Commons)

“Ultimate Animated Animal Pack” (Quaternius • Ultimate Animated Animal Pack) by Quaternius is licensed under Creative Commons Attribution (Deed - CC0 1.0 Universal - Creative Commons)

Audio Assets

The majority of sound files used in this project were generously provided by Eli Hason, our project’s sound design expert at Wabi Sabi Sound. These assets were used with permission for the purposes of this project. Additional sounds were sourced from online. Below is a list of the audio files used in the current build. All sounds were provided by Eli Hason unless otherwise noted.

Animal Audio

“Pig Grunt Squeal Long”. Used for pig audio cues.

“Wolf Howl Single”. Used for wolf audio cues.

“Med Fox”. (Fox - vocalizations - crying - close perspective 3 - 4.| Soundsnap) by Soundsnap is licensed under the Educational Subscription Plan. Used for fox audio cues.

Background Audio

“Forest Ambient”. Used for forest background noise.

“Weather Wind Beach”. Used for desert sandstorm.

“Wind Exterior Cold”. Used for snow mountain snowstorm.

“Brian Eno”. (1/1 Ambient 1 Music For Airports). Used for Main Menu background music.

License

MIT License

Copyright (c) 2023 University of British Columbia

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Last edit: May 18, 2023 by Daniel Lindenberger

Some rights reserved
Permission is granted to copy, distribute and/or modify this document according to the terms in Creative Commons License, Attribution-ShareAlike 4.0. The full text of this license may be found here: CC by-sa 4.0
Attribution-Share-a-like