[x3d-public] MIDI suggestions

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Tue Sep 3 16:28:00 PDT 2024


Doug, again thanks for these suggestions.  Dick and I reviewed your 43_MIDI/NOTES_midi.txt together today.

We think that this is potentially suitable for a future component.

It is worth noting that several steps towards that goal are worth pursuing.


  *
Can we remedy the dearth of X3D examples using MIDI to show use cases and value,
  *
Are there JavaScript libraries for such MIDI capability?
  *
Might these nodes first be defined as X3D prototypes for further testing?

If browsers are going work on sound-related capabilities, then implementation of the X3D 4.0 Sound Component nodes for Web Audio API specification has potentially massive value that takes advantage of X3D spatialization.

Have fun listening to your X3D models!  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 https://faculty.nps.edu/brutzman



________________________________
From: GPU Group <gpugroup at gmail.com>
Sent: Thursday, August 22, 2024 11:20 AM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
Cc: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Subject: Re: [x3d-public] MIDI suggestions

Don,
The current Sound component doesn't have a way to look at each MIDI note as an event, nor to create MIDI notes with events during scene execution.
See this proposed separate 43 MIDI Component which allows that.
https://freewrl.sourceforge.io/tests/43_MIDI/
freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt<https://freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt>
-Doug

On Thu, Aug 22, 2024 at 11:16 AM Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>> wrote:
Doug, thanks for your suggestions.

Regarding MIDI support:


  *
X3D 4.0 Architecture, 16 Sound component, 16.4.2 AudioClip
  *
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioClip
  *
The url field specifies the URL from which the sound file is loaded. 16.2.6 Audio encoding formats<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats> describes required and recommended file format support. 9.2.1 URLs, URNs and URIs<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/networking.html#URLs> contains details on the url field.


  *
X3D 4.0 Architecture, 16 Sound component, 16.2.6 Audio encoding formats
  *
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats

X3D browsers shall support at least the wavefile format in uncompressed PCM format (see [WAV]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/bibliography.html#WAV>).
It is recommended that X3D browsers support the MIDI file type 1 sound format (see [MIDI 1.0]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-1>). MIDI files are presumed to use the General MIDI patch set.
X3D browser support is also recommended for MIDI 2.0 (see [MIDI 2.0]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-2> and Web MIDI API (see [W3C-WebMIDI]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#W3C-WebMIDI>).
It is also recommended that X3D browsers support the following formats:

  *   Format=MP3, container=MP3, compressed (see [I11172-1]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#I11172_1>).
  *   Format=AAC, container=MP4 (see [14496-14]<https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#14496_14>).

Example X3Dscene with MIDI content:

  *
X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 05 Appearance Material Textures, Pixel Texture Snowman
  *
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanIndex.html
  *
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d
  *
https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid

Regarding MIDI content in ASCII form, it is certainly not disallowed in the X3D specification.   Might you please send some references and an example?  Perhaps an ASCII plaintext version of frosty2.

Have fun with X3D and MIDI!  8)

all the best, Don

--

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu<mailto:brutzman at nps.edu>

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman



________________________________
From: x3d-public <x3d-public-bounces at web3d.org<mailto:x3d-public-bounces at web3d.org>> on behalf of GPU Group via x3d-public <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Sent: Wednesday, August 21, 2024 3:14 PM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Cc: GPU Group <gpugroup at gmail.com<mailto:gpugroup at gmail.com>>
Subject: Re: [x3d-public] Web3D 2024: HAnim Music Animation competition - Win cash prizes!

MIDI > at least one web3d browser supports MIDI with nodes that give events, which could be used to synchronize HAnim motions to music tones / beats, or vice versa.
Something missing from prior work: a node that holds MIDI directly in ASCII format, for easy tinkering in X3D scene file.
-Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240903/b478daf7/attachment-0001.html>


More information about the x3d-public mailing list