[x3d-public] X3D minutes1 May 2020: X3D4 Audio and Sound Component

John Carlson yottzumm at gmail.com
Sat May 2 12:15:42 PDT 2020


Don,

I was able to get into Mantis, just not to your page (the items assigned to
you).  Instead I got all my issues that weren't assigned, "Unassigned."

I don't see ROUTE in the interface hierarchy?  Perhaps this is the
confusion, that we don't have something like X3DROUTE in the interfaces?
Or were you pointing at a type of Grouping as a way to do connections?

On Sat, May 2, 2020 at 2:05 PM Don Brutzman <brutzman at nps.edu> wrote:

> Friday 1 May 2020, 0800-0930 pacific, X3D Working Group continues its
> regular weekly efforts on building X3D4 specification.
>
> Attendees: Efi Lakka, Athanasios Malamos, John Carlson, Doug Sanden, Anita
> Havele, Vince Marchetti, Dick Puk, Don Brutzman.
>
> Thanks Efi and Thanos for joining us during a holiday, much appreciated as
> we press ahead with X3D4.
>
> [1.1] X3D Graphics Working Group
>        https://www.web3d.org/working-groups/x3d
>
> Confirmed that no member-only information is present in these minutes.
> Noted that the information here:
> - helps members pay full attention to the detailed improvement of X3D4,
> - helps community understand and trust the diligence of the process, and
> - helps everyone understand that Web3D Consortium offers serious member
> value!
>    https://www.web3d.org/join
>
> Zoom room coordinates are now linked via the Web3D Calendar. Note that all
> Web3D zoom conference lines are now protected by password.
>
> [1.2] Web3D Teleconference Information
>        https://www.web3d.org/member/teleconference-information
>
> [1.3] Web3D Calendar
>        https://www.web3d.org/calendar/month
>
> https://www.web3d.org/calendar/x3d-graphics-working-group/2019-09-13t150000-2019-09-13t163000-2019-09-20t150000-2019-09
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - -
>
> 2. *Mantis Issue Tracker*
>
> Feedback on Mantis issues remains welcome. Dick and I continue to make
> progress with 6 more editorial changes resolved this week.
>
> [2.0] Mantis: View Issues
>        https://www.web3d.org/member-only/mantis/view_all_bug_page.php
>
> Troubleshooting access problems:
>
> a. There is a double (maybe triple?) login process.  We need a help page
> page documenting this.
>
> b. Doug is able to login as member but does not get the MEMBER menu that
> includes the MANTIS ISSUE TRACKER link.
>
> c. John is able to login as member, and then get to MANTIS ISSUE TRACKER
> link, but not all the way into the Mantis system.
>
> d. Anita will pursue and resolve their access difficulties - thank you.
>
> e. Vince asked an excellent question: is there any member-only information
> in there to protect?  Dick and I are not aware of anything technical.  I
> did a search for terms like Member, IPR, proprietary with no hits;
> exporting all X3D issues as CSV had positive indication 'public' for all
> issues.  The only restricted issues appear to be in the Website project.
> Most recent resolution was 2019-11-09, some are pending since 2016.  Issues
> list forwarded to communications team.
>
> f. Facilitating access or loosening restrictions to mantis will be very
> help.  This is a recurring problem that consumes group time and inhibits
> progress.
>
> We next reviewed Mantis process, progress and status.  7 issues were
> resolved this past week.
>
> Id      Project Reporter        Assigned To     Priority        Severity
>       View Status     Updated Summary Status  Resolution
> 1286    X3D     brutzman        brutzman        normal  minor   public
> 4/30/2020       rename "Node index" as "Node, abstract type, and abstract
> interface index", also check Concepts resolved        fixed
> 1298    X3D     brutzman        brutzman        normal  minor   public
> 4/30/2020       Use consistent nomenclature, "abstract node type" rather
> than base type         resolved        fixed
> 1288    X3D     brutzman        brutzman        normal  minor   public
> 4/28/2020       ensure abstract interfaces are not referred to as abstract
> node types           resolved        fixed
> 1294    X3D     brutzman        brutzman        normal  minor   public
> 4/28/2020       X3DPickSensorNode intersectionType values BOUNDS and
> GEOMETRY are undefined     resolved        fixed
> 1295    X3D     brutzman        brutzman        normal  minor   public
> 4/28/2020       X3DPickSensorNode objectType example value "TERRAIN" not
> explained              resolved        fixed
> 1296    X3D     brutzman        brutzman        normal  minor   public
> 4/28/2020       consistent definitions in tables for Texture
> magnification/minification modes   resolved        fixed
> 1297    X3D     brutzman        brutzman        normal  minor   public
> 4/28/2020       Table 18.10 — Texture compression modes, "NICEST"
> description   resolved        fixed
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - -
>
> 3. *Audio and Sound: Overview*
>
> Today's session focused on X3D Sound Component and work by Efi Lakka and
> Athanasios Malamos to gain compatibility with W3C Web Audio components that
> are commonly being implemented in HTML5 browsers.  Efi's recent
> modifications to PR9 for shape.html and sound.html have been integrated
> online in github.  For members:
>
> [3.0] X3D4 draft components, github
>
> https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-WD1/Part01/components
>
> [3.1] Mantis 1267: Strategies to Improve X3Dv4 Audio and Sound Component
>        https://www.web3d.org/member-only/mantis/view.php?id=1267
>
> Slides from last meeting now attached to following page
>
> [3.2] X3D4 Implementations: attachments
>        https://www.web3d.org/x3dv4-implementations
>        X3dSoundPresentationSynopsis_CallMeeting17_04_2020.pdf
>
> Efi provided a full set of references:
>
> [3.3] X3D4 Audio references
>
> https://www.dropbox.com/sh/s5cien4rzg4i9fy/AAA40LrsqBS_RfUODJMOWaEoa?dl=0
>
> This link makes available all the content of the Sound Nodes Proposal in
> X3D (slides from October, Demo, whitepaper, etc...).
>
> Important addition: acoustic properties have been proposed for Shape
> component.  For a variety of reasons, we think that the relevant fields are
> better added as an AcousticProperties node, rather than further individual
> fields under Material.  This would appear as under Appearance as an
> acousticProperties field (similar to how LineProperties, PointProperties
> and TextureProperties are handled).
>
> =================================
> 12.4.1 Appearance
> Appearance : X3DAppearanceNode {
>    SFNode [in,out] acousticProperties NULL [AcousticProperties]
>    SFNode [in,out] fillProperties     NULL [FillProperties]
>    SFNode [in,out] lineProperties     NULL [LineProperties]
>    SFNode [in,out] pointProperties    NULL [PointProperties]
>    SFNode [in,out] material           NULL [X3DMaterialNode]
>    SFNode [in,out] metadata           NULL [X3DMetadataObject]
>    MFNode [in,out] shaders            []   [X3DShaderNode]
>    SFNode [in,out] texture            NULL [X3DTextureNode]
>    SFNode [in,out] textureTransform   NULL [X3DTextureTransformNode]
> }
> =================================
>
> Incidentally AcousticProperties seems like the correct name for this node
> (rather than SoundProperties) because of it's relationship to geometry in a
> world, rather than sound generation per se.
>
> [3.4] Wiktionary: Acoustics
>        https://en.wiktionary.org/wiki/acoustics
>        "1. The physical quality of a space for conveying sound."
>
> Many questions were considered during the meeting, big conversation.
>
> *Analysis review*
>
> - X3D nodes themselves have /inheritance relationships/ to abstract node
> types and abstract interfaces.
> -- Abstract node types have naming pattern X3D*Something*Node
> -- Abstract interfaces have naming pattern X3D*Something*Object
>
> - X3D nodes contain child /fields/ which can contain different nodes (or
> nodes having certain node types). Example:
>    Group : X3DGroupingNode {
>       MFNode  [in,out] children       []       [X3DChildNode] // ...
>
> - Node inheritance and contained SFNode fields are completely separate
> issues!
>
> - Likely much of our collective puzzlement derives from intermingling the
> two.  Much of our conversation has been a bit circular as a result.
>
> - For current X3D 3.3 detail please see the always-valuable ASCII-art tree
> diagram (originally by Joe Williams).
>
> [3.5] 4.4.2.3 Interface hierarchy
>
> https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#InterfaceHierarchy
>
> It is clear that the resulting structures in the X3D4 Sound Component will
> be well defined.
> - We are aligning a mature W3C API with X3D specification parlance.
> - There is no desire to be creative and invent a new W3C Audio API here!!
> - This next effort will focus on how to deconflict jargon and align
> interface hierarchy, as well as parent-child node relationships.
> - Then we define connection relationships.
>
> Efi and Thanos will spend a few hours to get clearer on this. They will
> then meet with Don and Dick to discuss further.  Then we will come back to
> the working group.
>
> As a reward for everyone's patience today, our next session will start
> with the Demo!  8)
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - -
>
> 4. *Audio and Sound: Questions and Dialog*
>
> Conversation details follow - still somewhat foggy!  That is OK because
> our understanding is converging, only because of lots of work and patient
> dialog together, going through all issues repeatedly until we finally
> achieve something clear.  (What a great group.)
>
> --------------------
>
> /Fundamental structure/
>
> a1. How do we connect filters together in a chain?  Parent-child node
> relationship, ROUTE connections, or something else?
> a2. We need to discuss the hierarchy of Audio nodes
>
> a3. Merge of AudioNode with X3DSoundSourceNode, or rename as
> X3DAudioNode?  And variations thereof... good discussion
>
>  From X3D Specification:
>
> AudioClip : X3DSoundSourceNode, X3DUrlObject {
>    ...
> }
>
> 16.4.2 Sound
> Sound : X3DSoundNode {
>    ...
>    SFNode  [in,out] source     NULL  [X3DSoundSourceNode]
> }
>
>  From this we see that AudioClip is not an X3DChildNode.  Rather it can
> only fit inside a Sound node as the /source/ field.
>
> Similarly, a MovieTexture node can be a /source/ field.
>
> Both AudioClip and MovieTexture have /X3DSoundSourceNode/ abstract node
> type.
>
> Therefore, it seems that we want AudioContext as a /source/ field as well,
> in turn making AudioContext a /X3DSoundSourceNode/ abstract node type.
>
> AudioNode seems to be an abstract node interface.  If so it is better
> named something like /X3DAudioNode/ abstract node type...
>
> Alternatively we might say that AudioContext is a little bit different and
> is actually a replacement for Sound node.
>
> =====================
> 16.3.1 X3DSoundNode
> X3DSoundNode : X3DChildNode {
>    SFNode [in,out] metadata NULL [X3DMetadataObject]
> }
>
> This abstract node type is the base for all sound nodes.
>
> 16.3.2 X3DSoundSourceNode
>
> X3DSoundSourceNode : X3DTimeDependentNode {
>    SFString [in,out] description      ""
>    SFBool   [in,out] loop             FALSE
>    SFNode   [in,out] metadata         NULL [X3DMetadataObject]
>    SFTime   [in,out] pauseTime        0    (-∞,∞)
>    SFFloat  [in,out] pitch            1.0  (0,∞)
>    SFTime   [in,out] resumeTime       0    (-∞,∞)
>    SFTime   [in,out] startTime        0    (-∞,∞)
>    SFTime   [in,out] stopTime         0    (-∞,∞)
>    SFTime   [out]    duration_changed
>    SFTime   [out]    elapsedTime
>    SFBool   [out]    isActive
>    SFBool   [out]    isPaused
>
> # new:
>    SFNode   [in,out] transform         NULL [Transform]
>    SFNode   [in,out] panner            NULL [PannerNode]
>    SFNode   [in,out] filter            NULL [BiquadFilterNode]
>    SFNode   [in,out] delay             NULL [DelayNode]
> }
> =====================
>
> /Node inheritance and field details/
>
> b1. X3DSoundSourceNode is abstract and cannot be used as a node - need to
> fix example. Sound node, with Web Audio chain as input?
> b2. Change name of AudioParam to AudioParameters?
> b4. Are all the “Effects” really the list of filters in which case we may
> need an intermediate X3DAudioFilterNode interface
> b3. Current architecture disallows inheriting a node interface from a
> concrete node so we may need an X3DAudioContextNode abstract node type and
> concrete nodes to flesh it out.
> b4. AudioNode inherits from a concrete node type (see g above)
> b5. Why is Transform inside AudioNode?
> b6. Latency hint string or double precision decision, or both?
>
> /Editorial/
> c1. Please add numbers to the slides
> c2. Please add revision date to first page of slide sets
> c3. When ready, should we move these to web3d version control?
>
> /Future work/
> d1. Examples in version control.
> d2. link to example models for demonstration and comparison with evolving
> specification interfaces.
> d3. start list of feedback comments for W3C Audio working group.
> d4. How we are going to test conformance of browsers with respect to
> sound.   How did we do it with the previous version?
>
> [4.0] Writing tests for the Web Audio API
>        https://blog.chrislowis.co.uk/2014/04/30/testing-web-audio.html
>
> d5. Is this like 7:1 or 5:1 sound?
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> - -
>
> 5. *Next + Thanks*
>
> Corrections, clarifications and additions to these best-effort minutes are
> always welcome.
>
> We will continue iterating on Audio and Sound, Physically Based Rendering
> (PBR) and glTF, HTML5 interactions and Mantis issues.
>
> Steady progress continues, figuring out every worthy challenge.  Thanks
> for all activity and attendance.
>
> Special thanks to Doug Sanden for joining us today.  Your implementation
> experience and X3D knowledge proved really valuable.
>
> ======================================
> [5.0] FreeWRL X3D/VRML browser
>        http://freewrl.sourceforge.net
>
> FreeWRL is an X3D/VRML open source viewer for Windows, Linux, OSX and
> Android.
>
> FreeWRL has had a long track record, is here to stay. X3D Components get
> added, problems get resolved. Program with GLSL Shaders using the X3D
> Shaders Component, put your models exactly where you want them with the
> Geospatial Component, or just throw triangles to the screen as Extrusions,
> IndexedFaceSets, TriangleSets, Circle2D, Disk2D, Spheres, Boxes, Cubes; the
> list goes on and on.
>
> With royalty free open standards, your models will continue to render,
> year after year.
> ======================================
>
> Have Fun With X3D!  8)
>
> 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
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200502/3800e3e6/attachment-0001.html>


More information about the x3d-public mailing list