announce: X3D4 Sound Component and W3C Audio API

Summary: X3D4 specification includes full functionality of W3C Audio API.

From: Efi Lakka, Thanos Malamos, Dick Puk and Don Brutzman, X3D Working Group


1. *X3D4 Architecture Specification*.

The Web3D Consortium is proud to announce that much work is resulting in release of the Extensible 3D (X3D) version 4 Committee Draft to ISO.

Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models on the Web. X3D® version 4 (X3D4) is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that provides close support for the HTML5 Recommendation. This effort is driven by the X3D Graphics Working Group with contributions from other working groups and daily community outreach.

[1a] What is X3D

[1b] X3D4 Overview


2. *X3D4 Sound and Audio Support*.

We believe that integrating W3C Web Audio functionality with X3D unlocks a wide range of spatial applications that are tightly integrated with composition of multiple 3D models.

[2] X3D4 Sound Component

16.2 Concepts
16.2.1 Audio and sound spatial architecture

The Sound component provides a rich set of spatialized audio capabilities in a comprehensive architecture suitable for 3D models and virtual environments.

a. /Signal sources for sound/. In addition to playing inputs from prerecorded sound files, capabilities are provided for computational audio generation, microphones, and virtual listening points.
b. /Virtual locations for sound generation/. The Sound and SpatialSound nodes define location, direction, and characteristics of expected sound production in virtual 3D space.
c. /Propagation/. Attenuation model may be further modified by AcousticProperties of reflection, refraction and absorption based on surrounding geometry.
d. /Reception points/. Avatar-centered listening points and recordable listening points, each with arbitrary location and direction, can receive acoustic results modified by corresponding with left-right pan and spatialization.

The original sound model in X3D dates back to the Virtual Reality Modeling Language (VRML97) standard, enabling stereo spatialization of sound input signals with computationally simple linear-attenuation dropoff.

The updated X3D4 Sound Component enables construction of sophisticated audio chains in concert with scalable, fully immersive 3D models.  The following figure illustrates the diversity of capabilities that are addressed.

[3] X3D4 Architecture, Sound Component, Figure 16.2 — Sound propagation phenomena

The upgraded X3D Sound Component takes full advantage of excellent progress by the World Wide Web Consortium (W3C) Web Audio Working Group to fully integrate all capabilities in the Web Audio API for processing and synthesizing audio in web applications.  The X3D4 Specification also includes support for MIDI 2 for sound sources.

[3] Web Audio API
     W3C Candidate Recommendation Snapshot, 14 January 2021

[5a] MIDI 2.0, MIDI Association, 2020.

[5b] Web Midi API, W3C Editor's Draft 08 October 2020

Use cases of interest can explore how to take full advantage of
- interactive user audio while navigating in 3D,
- platform-independent content for Web browser and standalone applications,
- recreating high-fidelity audio for actual and imagined locations,
- emerging work: high-fidelity acoustics, material properties, etc.

This effort has already succeeded with initial implementation, where the majority of Web Audio API capabilities are working satisfactorily.  Integration issues can be complex, so technical questions and clarifications will be further explored in the Web Audio Working Group.

[6] W3C Web Audio Working Group

Node-by-node implementation of W3C Audio classes as native X3D elements allows full animation powers of X3D and HTML5 to be utilized in a declarative way.  X3D models are consistently expressible in multiple file formats (XML, ClassicVRML, JSON, Turtle) and multiple programming languages (JavaScript, Java and Python).

Initial example X3D scenes are available that illustrate how to generate and propagate audio as spatial sound.

[7] Spatial Sound in X3DOM with Web Audio API, Multimedia Content Laboratory, Hellenic Mediterranean University

[8] X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Audio Spatial Sound

Recent published work describes design principles, correlation with W3C Web Audio API.

[9] Web3D 2020 Conference paper: Extending X3D Realism with Audio Graphs, Acoustic Properties and 3D Spatial Sound
     Papers Session 4: 12 November 2020

[10] Web3D 2020 Conference Tutorial #5, X3D4 Sound and Audio
Implementation work is primarily demonstrated by modifications to X3DOM, an X3D engine for HTML5 written in open-source JavaScript.  Further work to demonstrate multiple interoperable implementations is also planned for X_ITE.  Standalone (HTML-independent) work is also planned for Castle Game Engine, FreeWrl and other X3D engines.  This diversity of implementations is possible because of good (and growing) support for W3C Audio API across multiple programming languages.  X3D implementation and evaluation efforts continue.

[11] X3DOM (pronounced "x-freedom") instant 3D the HTML way!

[12] X3DOM source

"X3DOM is a framework for integrating and manipulating (X)3D scenes as HTML5 DOM elements, which are rendered via WebGL without additional plugins. The open-source system allows defining 3D scene description and runtime behavior declaratively, without any low-level JavaScript or GLSL coding."

Example implementation additions for W3C Web Audio will soon be added to this source tree and remain available on request from Efi Lakka <>.


3. *Future Work*

Our primary questions regarding Web Audio API:

a.  X3D Working Group is keen to fully understand important W3C Audio API issues like
    - multichannel output,
    - stream handling,
    - metadata conventions,
    - Semantic Web connections.

b. It is not yet fully clear how to use stream identifiers, in accordance with

[13] W3C Media Capture and Streams, W3C Candidate Recommendation Draft 19 January 2021

c. X3D is an interchange format, suitable for Web publication from many model sources.  Toolchains are part of our interest.

[14] X3D Resources: Conversions and Translation Tools

d. Our biggest area of work is to adapt ray-tracing (or related) techniques for acoustic properties associated with reflection, absorption, etc.  This is a new capability for X3D, but some results have been reported in published literature.  Further, acoustic phenomenology adapts reasonably well-known techniques in computer graphics that are computationally similar to visual rendering.

e. Further future work is likely to pursue XR model parameters for per-user interaural distance and head-related transfer function (HRTF) customization.  Important user-specific safety, security and privacy issues pertain.


4. Participation

Primary X3D development occurs on the x3d-public mailing list.  All reactions and insights are welcome.

[15] mailing list

We look forward to regular presence in W3C Audio Working Group to ensure that X3D4 co-evolves correctly and consistently.

Have fun with X3D4 Sound and Audio!  8)

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics

Received on Wednesday, 20 January 2021 22:09:34 UTC