Google Upgrades VR Experience For Cardboard Adding Spatial Audio Support To SDK

When it comes to virtual reality technologies, the consensus is that seeing is believing. However, VR isn't just about treating your eyeballs to a plethora of realistic visuals, it's about bombarding the senses as a whole for a truly immersive experience. With that goal in mind, Google today announced the addition of spatial audio support to its Cardboard SDKs for Unity and Android.

What spatial audio does is allow users to hear where sounds are coming from. It goes beyond simple left and right side audio and attempts to let developers produce sounds the say humans actually hear it, including above, below, in front of, and behind them. In this case, all that's required is a set of headphones (and of course Google Cardboard and a smartphone).

Google Cardboard

"The SDK combines the physiology of a listener’s head with the positions of virtual sound sources to determine what users hear. For example: sounds that come from the right will reach a user’s left ear with a slight delay, and with fewer high frequency elements (which are normally dampened by the skull)," Google explains.

In addition, the SDK allows developers to "specify the size and material" of their virtual environment, "both of which contribute to the quality of a given sound. So you can make a conversation in a tight spaceship sound very different than one in a large, underground (and still virtual) cave."

Spatial Audio

The best part about this is it doesn't require heavy computations. According to Google, adding spatial audio to Cardboard apps has very little impact on the primary CPU. That's because the SDK is optimized for mobile CPUs and computes audio in real-time on a separate thread, and also because developers have control over the fidelity -- they can allocate more processing power to certain sounds and de-emphasize others.

Unity developers can get started with a comprehensive set of components for creating sounds on Android, iOS, Windows, and OS X. For native Android developers, they can use a simple Java API (check out the documentation for more info).