[x3d-public] X3D Audio and Sound meeting minutes, 17 SEP 2020: channel splitting and selecting single channel

Don Brutzman brutzman at nps.edu
Thu Sep 17 10:54:12 PDT 2020


Participants: Efi Lakka, Thanos Malamos, Dick Puk, Don Brutzman.

1. Tutorial submitted for Web3D 2020 conference.

2. Paper nearly ready for Web3D 2020 conference, final editorial review needed by Dick and Don... we meet again Friday.

3. I fumbled with finishing our membership request in W3C Audio Working Group.  Incidentally they have been busy and issued an updated draft Candidate Recommendation... yesterday!  All comments are welcome, CR is last round before final status as W3C Recommendation.

[1] Web Audio API
     Editor’s Draft, 16 September 2020
     https://webaudio.github.io/web-audio-api

We continue working on remaining details for

[2] X3D 4 Sound Component
     https://www.web3d.org/x3dv4
     https://www.web3d.org/x3dv4-public-working-draft
     https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/sound.html

---

4. Tricky problem: channel subselection (single or multiple).  We talked about this a lot.

Having a field on ChannelSplitter to select a specific channel is appealing, but then may be difficult to reuse because changing values in an MFInt32 array typically requires a Script to accomplish.  We are being exceedingly careful to stay aligned as closely as possible with Web Audio API [1].

Possible new utility node to augment ChannelSplitter:  maybe a ChannelSelector node.

ChannelSelector : X3DSoundSourceNode {
   SFNode  [in]     source        [X3DSoundSource]
   SFInt32 [in out] channelNumber 0

Conceivably any source might be provided but typically this would be ChannelSplitter.

a. ChannelSplitter can provide access to multiple channels at once, might allow selection of several channels, and preserves correspondence to WebAudioApi.  Does that have essential completeness for our use cases?

b. ChannelSelector can be defined to only give a single channel always, making semantics clear and addressing of individual channels easy.

We discussed
- whether channel selection might be in Sound and SpatialSound nodes,
- noted that .wav and .midi can be stereo - hence Sound and SpatialSound nodes are also,
- keeping sound nodes separate from processing nodes,
- ChannelSplitter only accepts single multichannel input,
- ChannelMerger   only accepts multiple singlechannel inputs.

ChannelSplitter needs a selection field.  Key question, can:
- multiple indexes be used, providing a subset of several input channels, or
- only a single index for a single channel is used?

If there is no way to directly select a single channel from a ChannelSplitter node, then we need a mechanism to do that (such as ChannelSelector node).  We have not yet detected such a mechanism directly in Web Audio API.

Recommended next step: model prior incomplete X3D example using ChannelSelector node; and if subsequently we find a way to do it using WebAudioAPI nodes/fields then it will be easy to converge.

---

4. Next meeting in 13 days, Wednesday 30 September.

Goal dates, confirm at next meeting:

a.  7 OCT record paper presentation
b. 21 OCT record tutorial presentation
c.  1 NOV node signatures completed, in X3D Schema/X3DUOM tools, in X3D4 spec
d.  5 NOV examples updated (presented live during conference)

Web3D 2020 Conference: 9-13 NOV 2020.

* https://web3d.siggraph.org

We had a spirited discussion about how the spinning WWW-WWW cube for Web3D Conference logo is... silent!  We clearly need a Web3D Conference Audio Webmaster...  8)

Having fun with X3D Audio and Sound.  All feedback welcome.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list