With this prototype player and headphones, have an immersive and interactive auditory experience.
It demonstrates horizontal-only First Order Ambisonics, as an introduction.
All content is copyrighted, and comes from the Ambisonia collection.
Ambisonics is a 3D extension of stereo, a full-sphere surround sound technique; in addition to the horizontal plane, it covers sound sources above and below the listener. Unlike other multichannel surround formats, its transmission channels contain a speaker-independent representation of a sound field called B-format, which is then decoded to the listener's setup.
Channels are labelled W for sound pressure (also known as omnidirectional), then X for the front-back sound gradient, Y for left-right, and Z for up-down, each like a figure-8/bi-directional microphone. This is called First Order Ambisonics, or FOA. All or less channels can be used; WXYZ for full sphere surround, WXY for horizontal-only surround and W for mono. WXY is enough to provide a surround experience because we're better at localizing sounds at ear level. (more on Wikipedia)
The 3-channel files were created from B-format files with 3 or more channels; HOA channels and the FOA vertical channel were simply removed.
The streams are played using a standard HTML5 audio element, for simplicity and future compatibility.
The stream is passed in a series of two controllable ambisonics processors: one for the horizontal sound field rotation and one for the forward dominance.
Each channel is then convolved with binaural "kernels", and the results are mixed together as a standard stereo stream.
Marc Lavallée 2015-2020 (info@ambisonic.xyz)
All horizontal-only Ambisonics files were converted from the collection of Ambisonia.com.
(authors can request to remove files).
Ambisonics transformations use some Faust code from the Ambisonic Decoder Toolbox
by Aaron Heller,
compiled to Web Assembly.
Collection of binaural kernels are from the Ambisonic Toolkit
and the IEM Plug-in Suite.
Inspired by the AmbiExplorer Android application
of Hector Centeno,
by the experiments of Daryl Pierce,
and the EleVR blog.
Thanks to Bo-Erik Sandholm (OHTI) for ideas, tests and support.