<div dir="ltr"><div dir="ltr">Don,<div>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. </div><div>See this proposed separate 43 MIDI Component which allows that.</div><div><a href="https://freewrl.sourceforge.io/tests/43_MIDI/">https://freewrl.sourceforge.io/tests/43_MIDI/</a> <br></div><div><a href="https://freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt">freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt</a> <br></div><div>-Doug</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 22, 2024 at 11:16 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div dir="ltr">
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Doug, thanks for your suggestions.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Regarding MIDI support:</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<ul style="margin-top:0px;margin-bottom:0px;list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><i>X3D 4.0 Architecture, 16 Sound component, 16.4.2 AudioClip</i></div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioClip" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioClip</a></div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div>The <i>url</i> field specifies the URL from which the sound file is loaded.
<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats" id="m_-6959943095254044046m_-2583774351546268228OWA88ae14fa-0581-d2ab-8378-6bc857869763" style="text-align:left" target="_blank">
16.2.6 Audio encoding formats</a> describes required and recommended file format support.
<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/networking.html#URLs" id="m_-6959943095254044046m_-2583774351546268228OWAcd81bbf8-954a-f2dc-ae88-fe26a72bcd44" style="text-align:left" target="_blank">
9.2.1 URLs, URNs and URIs</a> contains details on the <i>url</i> field.</div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<ul style="margin-top:0px;margin-bottom:0px;list-style-type:disc">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><i>X3D 4.0 Architecture, 16 Sound component, 16.2.6 Audio encoding formats</i></div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats</a></div>
</li></ul>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
X3D browsers shall support at least the <i>wavefile</i> format in uncompressed PCM format (see
<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/bibliography.html#WAV" id="m_-6959943095254044046m_-2583774351546268228OWAc7868c3f-0e3d-6d01-20ff-236db3c45052" target="_blank">
[WAV]</a>).</div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
It is recommended that X3D browsers support the MIDI file type 1 sound format (see
<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-1" id="m_-6959943095254044046m_-2583774351546268228OWAfdddbecc-c218-5b30-df03-da97d104a85b" target="_blank">
[MIDI 1.0]</a>). MIDI files are presumed to use the General MIDI patch set.<br>
<span style="background-color:rgb(255,255,0)">X3D browser support is also recommended for MIDI 2.0</span> (see
<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-2" id="m_-6959943095254044046m_-2583774351546268228OWA7fb0ce35-c7ea-ffdb-8818-4be706977df2" target="_blank">
[MIDI 2.0]</a> and Web MIDI API (see <a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#W3C-WebMIDI" id="m_-6959943095254044046m_-2583774351546268228OWA1f1ef2a9-ea61-8474-1bf0-cbaa380347f7" target="_blank">
[W3C-WebMIDI]</a>).</div>
<div style="text-align:left;text-indent:0px;margin-top:1em;margin-bottom:1em;margin-left:40px;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
It is also recommended that X3D browsers support the following formats:</div>
<ul style="text-align:left;margin-left:40px">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0);margin-top:4px">
Format=MP3, container=MP3, compressed (see <a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#I11172_1" id="m_-6959943095254044046m_-2583774351546268228OWAfd4b5914-9667-bd02-0420-4a6bf92f99e0" target="_blank">
[I11172-1]</a>).</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0);margin-top:4px">
Format=AAC, container=MP4 (see <a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#14496_14" id="m_-6959943095254044046m_-2583774351546268228OWA0b1166bd-2d8d-d2b3-2f06-1694f1847f12" target="_blank">
[14496-14]</a>).</li></ul>
<div style="text-align:left;text-indent:0px;margin-top:4px;margin-bottom:1em;font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Example X3Dscene with MIDI content:</div>
<div style="margin-top:4px;margin-bottom:1em">
<ul style="text-align:left;margin-top:0px;margin-bottom:0px;list-style-type:disc;display:flex">
<li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0);text-indent:0px">
<div>X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 05 Appearance Material Textures, Pixel Texture Snowman</div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div style="margin:0px"><a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanIndex.html</a></div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d</a></div>
</li><li style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<div><a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid</a></div>
</li></ul>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
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.</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
Have fun with X3D and MIDI! 8)</div>
</div>
<div id="m_-6959943095254044046m_-2583774351546268228Signature">
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">all the best, Don</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">--</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">Don Brutzman Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a></span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a></span></p>
<p style="margin:0in;font-family:Calibri,sans-serif;font-size:11pt"><span style="font-family:"Courier New";font-size:9pt"> </span></p>
</div>
<div id="m_-6959943095254044046m_-2583774351546268228appendonsend"></div>
<div style="font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif;font-size:11pt;color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_-6959943095254044046m_-2583774351546268228divRplyFwdMsg" dir="ltr"><span style="font-family:Calibri,sans-serif;font-size:11pt;color:rgb(0,0,0)"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> on behalf of GPU Group via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Sent:</b> Wednesday, August 21, 2024 3:14 PM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Cc:</b> GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
<b>Subject:</b> Re: [x3d-public] Web3D 2024: HAnim Music Animation competition - Win cash prizes!</span>
<div> </div>
</div>
<div style="direction:ltr">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.</div>
<div style="direction:ltr">Something missing from prior work: a node that holds MIDI directly in ASCII format, for easy tinkering in X3D scene file.</div>
<div style="direction:ltr">-Doug</div>
</div>
</div></blockquote></div>