HeadMonster Virtual 3D Audio
University of Waterloo - Fall 2009 to Winter 2011
This was my Fourth Year Design Project in undergraduate engineering. My group created a system which captures where the user is in a physical space (in three dimensions), as well as where they are looking (their field of view). With this data, the system would then continuously generate a dynamic and interactive 3D virtual audio environment which would be played to the user over a pair of standard stereo headphones.
I was involved with the research, design and construction of both the Local Positioning System (LPS) to determine a user's physical location in a defined indoor space, as well as the Head Orientation System (HOS) which determines their field of view (the roll, pitch, and yaw of their head) shown in the pictures below. These component systems required thorough research of academic and industry whitepapers, the design and fabrication of PCBs and of the custom metal grid for the LPS sensors, and extensive testing and validation of the components and their integration into the overall system.
It was an immensely challenging project; however, we were fortunate to have an excellent balance of software and hardware development skills and some strong brains to build a solution. We were able to make this prototype work better than any of us expected (our guiding professors, while supportive, doubted we were would be able to pull off any individual components), with extremely precise physical measurements and eerily accurate spatial sound generation. I will always be immensely proud of this project and everything we accomplished, and will ache a little inside every time I see a new patent come out from a major company which covers parts of what we made.
Photos
Videos
Technologies & Skills Employed
- Arduino (AVR microcontroller) interfacing
- Interrupt handling
- Bluetooth communication
- I2C communication
- Accelerometer, gyroscope, and magnetometer sensor characterisation
- Power management (battery charging, voltage level monitoring)
- Ultrasonic pulse generation and transmission
- PCB layout and population
- Adjustable amplifiers
- Envelope detector design
- Analog comparators
- Mechanical design
More Information
The Head Orientation System uses an Arduino microcontroller to take readings from a digital accelerometer, gyroscope, and magnetometer, streaming this raw data over a Bluetooth connection to the primary computing device for processing. In addition to this, the Arduino generates 40kHz wave pulses of a specified duration which are amplified and transmitted through an ultrasonic transceiver. The Arduino also monitors battery voltage and will report a low battery condition before putting the device to sleep. The installed battery, which provides over 6 hours of continuous use, can be easily recharged through a standard USB connection built into the enclosure.
The Local Positioning System receives the ultrasonic pulses through a similar ultrasonic transceiver. These pulses are then amplified in two stages, once at the transceiver and again at the receiver microcontroller before being passed to an envelope detector and comparator. A 3x3 grid of these sensors was designed and fabricated so that the position of the ultrasonic transmitter could be detected in 3 dimensions within a tolerance of about 10 centimeters.
Project Abstract
Over the past two decades there has been considerable research into the production of three-dimensional (3D) sounds using stereo headphones. While much of this research is detailed with conclusive results, an application of the underlying theory into a tangible, accessible platform is yet to be realized. The proposed solution is a portable system that produces a virtual 3D audio experience. It combines positional and rotational information about the listener to create the illusion that sounds originate from various points in their physical environment. By interfacing sensors with a computing device, the system calculates the position of the user relative to virtual sound sources. The computing device then transforms preset audio signals to match the virtual environment and streams them to a mobile device which plays back the transformed sounds to a set of stereo headphones. The most common alternative to the proposed solution is a sound system with speakers situated around the user. By comparison, the proposed solution is more portable, more immersive, and less disruptive.
Awards & Recognition
- Best Seminar Presentation - UW E&CE Design Symposium - March 2011
Acknowledgements
- John G. Wilson Machine Ltd. for fabricating the portable sensor grid