A Web Audio API library for ambisonic decoding and binaural spatial audio rendering on the web.
Omnitone is a JavaScript library that provides ambisonic decoding and binaural rendering for spatial audio on the web. It processes multi-channel audio streams to create immersive 3D sound experiences that can be integrated with WebVR, 360° video, and interactive web applications. The library is built on the Web Audio API and follows the Google spatial media specification.
Web developers and audio engineers building immersive audio experiences for VR, 360° video, gaming, or interactive media on the web. It's particularly useful for those working with Web Audio API who need spatial audio capabilities.
Developers choose Omnitone because it's a robust, performance-optimized implementation that leverages native Web Audio API features. It supports both first-order and high-order ambisonics, integrates easily with existing web audio workflows, and powers Google's Resonance Audio SDK for web.
Spatial Audio Rendering on the web.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages GainNode and Convolver from Web Audio API for optimized, low-latency processing, as highlighted in the README for robust performance.
Supports HTMLMediaElement and AudioBufferSourceNode, allowing easy connection to audio/video tags or custom buffers for diverse media sources.
Handles up to 3rd order ambisonics (16 channels) beyond first-order, enabling detailed spatial audio rendering for advanced use cases.
Built on Google spatial media spec and Web Audio API, ensuring compatibility with modern web workflows and tools like Three.js.
The README explicitly states that decoding compressed multichannel audio with over 3 channels is not fully supported on most mobile browsers, hindering cross-platform deployment.
Requires understanding of ambisonic formats, rotation matrices, and Web Audio API concepts, which can be overwhelming for developers new to 3D audio.
Lacks pre-built GUI controls or visual editors for rotation or rendering modes, forcing custom implementation for user interactions.