Spatial audio, when done right, is amazing and best through a pair of headphones. We only have two ears, but somehow we manage to hear things in 3D up, down, left, right and back and front. With the advent of the Web Audio API, spatial audio is possible and Songbird makes it easy.
How we tell the elevation of a sound source - the different paths change the frequencies we hear.
"For a virtual scene to be truly immersive, stunning visuals need to be accompanied by true spatial audio to create a realistic and believable experience. Spatial audio tools allow developers to include sounds that can come from any direction, and that are associated in 3D space with audio sources, thus completely enveloping the user in 360-degree sound.
Spatial audio helps draw the user into a scene and creates the illusion of entering an entirely new world."
SongBird uses the Omnitone implementation of an ambisonic decoder to create spatial audio in two stereo channels. You can take any number of mono audio sources and place them in 3D space. When you run the program the sound sources create a stereo 3D effect that gives the impression to the listener that the sound sources are where you placed them.
You can already do some of this using the audio API standard PannerNode, but Songbird takes things further. It allows you to adjust the quality of localisation and it is computationally more efficient. It also adds room modelling. You can set the size of the room and the materials that is is constructed from. This alters the reverberation time depending on the location of the sounce source and the listener.
Songbird really does make it easy to get started:
var audioContext = new AudioContext(); var songbird = new Songbird(audioContext); songbird.output.connect(audioContext.destination);
var audioElement = document.createElement('audio'); audioElement.src = 'resources/SpeechSample.wav'; var audioElementSource =
audioContext.createMediaElementSource(audioElement); var source = songbird.createSource(); audioElementSource.connect(source.input);
source.setPosition(-0.707, -0.707, 0);
You can also have a listen to the demos on the SongBird site. I don't think they are as impressive as, say, the early demos of DirectSound, but that could be partly choice of source material.
Of course, spatial sound really comes into its own in immersive AR and VR and Songbird is also very similar to the spatial audio available in Google's Daydream VR efforts.
The code is open source and available on GitHub.
When it first appeared on the scene, Github was one of a kind and a true visionary amongst its rivals still using Subversion, Bazaar or Mercurial as their source control system.
After an outcry from its existing customers when it announced a new a subscription service for its range of desktop developer tools, JetBrains has now settled on a pricing model that includes a Perpetual Fallback Licence. Is this enough?
- PowerShell Replaces Command Prompt
- Revealing the Who and Why of Node.js Use
- Uber Drivers Gaming the Algorithm
- Competitive Self-Play Trains AI Well
- Microsoft Showcases Key Value Store
- Top 10 From Around The Web: More Angular Resources
- Google Invests $22 Million In A Fork Of Firefox OS
- Microsoft Open Sources PowerShell And It Runs On Linux
- SQL Server Development Edition For Free
- Go 1.7 Goes Faster and in More Directions
- Help Choose Next EE4J Name
- Microsoft's Astoria Android Emulation Might Not Happen
- Algorithms & Data Structures MicroMasters