<div dir="auto">Indeed, a MIDI SF field and MF field seems useful, if not covered by other fields or nodes. Perhaps an existing node or proto node could do. I would probably handle 100 SFBools and an MFBool plus SFInt32 length, but checkable so not as to create buffer overruns. I understand that fixed size nodes are desirable, maybe an MFBool could be implemented like MFString.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 23, 2024 at 3:41 PM GPU Group via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Very interesting Web MIDI API. I think the next move is up to the html web3d browser gurus.<div>-Doug<br><div>In native C browser freewrl I made toneSplitter and toneMerger node types. The toneSplitter would filter by octave and had out field for each note C Cs D Ds E F Fs G Gs A As B so if you want to animate something when it hits a certain note, you can catch the note, and in that way MIDI becomes a general event sequencing method. I had a player-piano demo scene that animated and played a note from a USB hardware midi keyboard. And going the other way, a playable-piano scene where I could mouse-click a key on a scene keyboard and it would route it to ToneMerger node and get to the output MIDI port.<div>But to get between ports and the rendering thread I used threads and message queues.</div><div>Q. for Web MIDI - is there a way to do something like the ToneSplitter/ToneMerger without needing threading or extra message queues?</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 23, 2024 at 12:13 PM Andreas Plesch via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">I was curious and found there is a Web MIDI API:<br>
<a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API" rel="noreferrer" target="_blank">https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API</a><br>
which is supported on Browsers other than Safari.<br>
There is also a support library: <a href="https://webmidijs.org/" rel="noreferrer" target="_blank">https://webmidijs.org/</a><br>
This is focused on connected external input devices like a keyboard,<br>
not necessarily on playing midi files.<br>
There is a midi file player: <a href="https://cifkao.github.io/html-midi-player/" rel="noreferrer" target="_blank">https://cifkao.github.io/html-midi-player/</a><br>
which uses <a href="https://github.com/magenta/magenta-js/tree/master/music/" rel="noreferrer" target="_blank">https://github.com/magenta/magenta-js/tree/master/music/</a><br>
which does its own TensorFlow(!) based tone generation.<br>
I also found <a href="https://surikov.github.io/webaudiofont/examples/midiplayer.html" rel="noreferrer" target="_blank">https://surikov.github.io/webaudiofont/examples/midiplayer.html</a><br>
which seems capable.<br>
-Andreas<br>
<br>
On Fri, Aug 23, 2024 at 12:16 PM <<a href="mailto:x3d-public-request@web3d.org" target="_blank">x3d-public-request@web3d.org</a>> wrote:<br>
><br>
> Send x3d-public mailing list submissions to<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
><br>
> To subscribe or unsubscribe via the World Wide Web, visit<br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
> or, via email, send a message with subject or body 'help' to<br>
> <a href="mailto:x3d-public-request@web3d.org" target="_blank">x3d-public-request@web3d.org</a><br>
><br>
> You can reach the person managing the list at<br>
> <a href="mailto:x3d-public-owner@web3d.org" target="_blank">x3d-public-owner@web3d.org</a><br>
><br>
> When replying, please edit your Subject line so it is more specific<br>
> than "Re: Contents of x3d-public digest..."<br>
><br>
><br>
> Today's Topics:<br>
><br>
> 1. Re: MIDI suggestions (GPU Group)<br>
><br>
><br>
> ----------------------------------------------------------------------<br>
><br>
> Message: 1<br>
> Date: Fri, 23 Aug 2024 10:15:13 -0600<br>
> From: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
> To: "Extensible 3D (X3D) Graphics public discussion"<br>
> <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> Subject: Re: [x3d-public] MIDI suggestions<br>
> Message-ID:<br>
> <CAM2ogRfZ8=+3K+pHdu2DiNLRB=<a href="mailto:A3WJyzoesn%2BUYUcPu_PYaHBg@mail.gmail.com" target="_blank">A3WJyzoesn+UYUcPu_PYaHBg@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> Don,<br>
> I used MIDI Editor but just briefly, didn't master it.<br>
> PROTOS > General Sequencing Node - something that sequences similar to MIDI<br>
> that could be done in a PROTO is a general sequencing node, which could<br>
> have the benefits of a text/string field for in-scene hacking and multiple<br>
> output fields like the MIDI music octave style node type.<br>
> GeneralSequencer {<br>
> SFString in/out sequence<br>
> SFTime in start<br>
> SFBool out o1<br>
> SFBool out o2<br>
> SFBool out o3<br>
> ...<br>
> SFBool out o100<br>
> }<br>
> example<br>
> DEF GS1 GeneralSequencer {<br>
> # out field number, out field value, time offset from start<br>
> sequence "<br>
> 1 T 0.0<br>
> 1 F 0.25<br>
> 1 T 1.0<br>
> 2 T 1.0<br>
> 3 T 1.0<br>
> 4 T 1.0<br>
> "<br>
> # or time offset from start, out value, list of fields<br>
> "<br>
> 0.0 T 1,<br>
> .25 F 1,<br>
> 1.0 T 1 2 3 4,<br>
> "<br>
> or something like that<br>
> }<br>
> The general sequencer could be convenient for naval simulations -with the<br>
> string sequence being replaced according to different attack or submersible<br>
> robot maneuvers.<br>
> And convenient for musical HANIM sequences to synchronize musical riff play<br>
> --using standard sound nodes-- and certain humanoid articulations.<br>
> On each frame the Proto code would check if there are any in the sequence<br>
> that have (start + offset) time > current time and haven't been played, and<br>
> play them.<br>
><br>
> -Doug<br>
><br>
> On Fri, Aug 23, 2024 at 8:54?AM Brutzman, Donald (Don) (CIV) <<br>
> <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
><br>
> > OK very good, thanks for information Doug.<br>
> ><br>
> > Meanwhile, am hoping to improve the MIDI files that we have, and<br>
> > potentially add more examples. Wondering if there is a good open-source<br>
> > software tool for MIDI?<br>
> ><br>
> > I looked again within Audacity, which is an excellent open source tool.<br>
> > It does support MIDI but does not seem to give any information about what<br>
> > type of MIDI file is loaded or exported. Some vulnerabilities are noted in<br>
> > NIST National Vulnerability Database but they are all on very old versions,<br>
> > so it seems trustworthy. Linked for installation and easy use within<br>
> > X3D-Edit as a helper application.<br>
> ><br>
> ><br>
> > - <a href="https://www.audacityteam.org" rel="noreferrer" target="_blank">https://www.audacityteam.org</a><br>
> > -<br>
> > <a href="https://nvd.nist.gov/vuln/search/results?form_type=Basic&results_type=overview&search_type=all&query=Audacity" rel="noreferrer" target="_blank">https://nvd.nist.gov/vuln/search/results?form_type=Basic&results_type=overview&search_type=all&query=Audacity</a><br>
> ><br>
> ><br>
> > Previous I was using MuseScore every now and then. However an upgrade<br>
> > earlier this year integrated some kind of p2p streaming activity (aka Muse<br>
> > Hub) that triggered a variety of security warnings, so I stopped using it.<br>
> > However, I now see that they offer a version without Muse Hub, will try<br>
> > again.<br>
> ><br>
> ><br>
> > - <a href="https://musescore.org/en" rel="noreferrer" target="_blank">https://musescore.org/en</a><br>
> > -<br>
> > <a href="https://nvd.nist.gov/vuln/search/results?form_type=Basic&results_type=overview&search_type=all&query=musescore" rel="noreferrer" target="_blank">https://nvd.nist.gov/vuln/search/results?form_type=Basic&results_type=overview&search_type=all&query=musescore</a><br>
> ><br>
> ><br>
> > The midieditor looks possible but it is free software (hobbyist) and not<br>
> > open source, so less appealing. Also does not have an https server, which<br>
> > is a red flag.<br>
> ><br>
> ><br>
> > - <a href="http://www.midieditor.org" rel="noreferrer" target="_blank">http://www.midieditor.org</a><br>
> ><br>
> ><br>
> > Am hoping to test binary and text-based MIDI (and possibly MIDI version 1<br>
> > and 2) using different versions of the example file.<br>
> ><br>
> ><br>
> > Wondering if there are any open-source audio tools you can recommend that<br>
> > support<br>
> ><br>
> ><br>
> > - Identifying MIDI version within a file,<br>
> > - Exporting between different MIDI formats<br>
> ><br>
> ><br>
> > all the best, Don<br>
> ><br>
> > --<br>
> ><br>
> > Don Brutzman Naval Postgraduate School, Code USW/Br<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> ><br>
> > Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA<br>
> > +1.831.656.2149<br>
> ><br>
> > X3D graphics, virtual worlds, navy robotics<br>
> > <a href="https://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">https://faculty.nps.edu/brutzman</a><br>
> ><br>
> ><br>
> > ------------------------------<br>
> > *From:* x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> on behalf of GPU Group<br>
> > via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> > *Sent:* Friday, August 23, 2024 7:18 AM<br>
> > *Cc:* GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>>; Extensible 3D (X3D) Graphics public<br>
> > discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> > *Subject:* Re: [x3d-public] MIDI suggestions<br>
> ><br>
> > Don,<br>
> > MIDI via PROTOs > working in C I used threads and queues between the MIDI<br>
> > port and the x3d rendering thread, and I don't know how to do that with<br>
> > PROTOs. But it might be different with Web MIDI API. So one idea is to wait<br>
> > until/in-case one of the web based x3d browsers implements a MIDI component<br>
> > using PROTOs, and see how they did that, and then the native browsers can<br>
> > adapt to that.<br>
> > -Doug<br>
> ><br>
> > On Thu, Aug 22, 2024 at 6:35?PM Brutzman, Donald (Don) (CIV) <<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
> ><br>
> > Understood. The work you describe regarding MIDI nodes looks quite<br>
> > involved. Possible component extension if someone did the work involved.<br>
> > Implementing as Prototype library using Script nodes might work. Writing<br>
> > extensions for X_ITE or X3DOM might work. In each case that would be<br>
> > proof-of-capability and maybe not a path to wide availability.<br>
> ><br>
> > I think it is doubtful that MIDI editing would be accepted as a high-value<br>
> > use case and recommended practice for X3D 4.1, which might take an<br>
> > undetermined length of time anyway. Seems like a long, unlikely and<br>
> > unsatisfying path to pursue. Nevertheless possible.<br>
> ><br>
> > I looked in Audacity briefly for "saving as" MIDI ASCII but didn't find<br>
> > it. Perhaps I missed it or another tool is useful.<br>
> ><br>
> > If we do have a text-base example MIDI file archived, that might encourage<br>
> > use of other online editors. Note how X_ITE is already able to show XML,<br>
> > ClassicVRML and JSON encodings equivalently (see links in upper-right<br>
> > corner).<br>
> ><br>
> ><br>
> > - X_ITE Playground Editor<br>
> > - X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 05<br>
> > Appearance Material Textures, Pixel Texture Snowman<br>
> > -<br>
> > <a href="https://create3000.github.io/x_ite/playground/?url=https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d" rel="noreferrer" target="_blank">https://create3000.github.io/x_ite/playground/?url=https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d</a><br>
> ><br>
> ><br>
> ><br>
> > - ... but has error: Couldn't load URL '<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid'.EncodingError" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid'.EncodingError</a>:<br>
> > Failed to execute 'decodeAudioData' on 'BaseAudioContext': Unable to decode<br>
> > audio data<br>
> ><br>
> ><br>
> ><br>
> > - X3DOM similarly seems to have a problem paying the midi file<br>
> > -<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanX3dom.xhtml" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanX3dom.xhtml</a><br>
> ><br>
> ><br>
> ><br>
> > - Nothing heard using latest FreeWrl<br>
> > - Nothing heard using current Castle Model Viewer<br>
> ><br>
> ><br>
> > Audacity plays the .midi file OK. Might there be a problem with the file?<br>
> ><br>
> > Regarding sound-related implementations, am hoping we get more examples<br>
> > and start showing compelling implementation support for the Web Audio API<br>
> > nodes that are already added to the X3D 4.0 Sound Component. Huge but<br>
> > unrealized potential is already available to us...<br>
> ><br>
> ><br>
> > - Spatial Sound in X3DOM with Web Audio API<br>
> > - <a href="https://medialab.hmu.gr/minipages/x3domAudio" rel="noreferrer" target="_blank">https://medialab.hmu.gr/minipages/x3domAudio</a><br>
> ><br>
> ><br>
> ><br>
> > - X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Audio<br>
> > Spatial Sound<br>
> > -<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/</a><br>
> ><br>
> ><br>
> > Again thanks for pushing on the limits, hope these potential paths forward<br>
> > can help us focus further progress.<br>
> ><br>
> ><br>
> > all the best, Don<br>
> ><br>
> > --<br>
> ><br>
> > Don Brutzman Naval Postgraduate School, Code USW/Br<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> ><br>
> > Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA<br>
> > +1.831.656.2149<br>
> ><br>
> > X3D graphics, virtual worlds, navy robotics<br>
> > <a href="https://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">https://faculty.nps.edu/brutzman</a><br>
> ><br>
> ><br>
> ><br>
> > ------------------------------<br>
> > *From:* GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
> > *Sent:* Thursday, August 22, 2024 11:20 AM<br>
> > *To:* Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
> > *Cc:* Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> > ><br>
> > *Subject:* Re: [x3d-public] MIDI suggestions<br>
> > .<br>
> > Don,<br>
> > The current Sound component doesn't have a way to look at each MIDI note<br>
> > as an event, nor to create MIDI notes with events during scene execution.<br>
> > See this proposed separate 43 MIDI Component which allows that.<br>
> > <a href="https://freewrl.sourceforge.io/tests/43_MIDI/" rel="noreferrer" target="_blank">https://freewrl.sourceforge.io/tests/43_MIDI/</a><br>
> > <a href="http://freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt" rel="noreferrer" target="_blank">freewrl.sourceforge.io/tests/43_MIDI/NOTES_midi.txt</a><br>
> > -Doug<br>
> ><br>
> > On Thu, Aug 22, 2024 at 11:16?AM Brutzman, Donald (Don) (CIV) <<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
> ><br>
> > Doug, thanks for your suggestions.<br>
> ><br>
> > Regarding MIDI support:<br>
> ><br>
> ><br>
> > - *X3D 4.0 Architecture, 16 Sound component, 16.4.2 AudioClip*<br>
> > -<br>
> > <a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioClip" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioClip</a><br>
> > - The *url* field specifies the URL from which the sound file is<br>
> > loaded. 16.2.6 Audio encoding formats<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats</a>> describes<br>
> > required and recommended file format support. 9.2.1 URLs, URNs and URIs<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/networking.html#URLs" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/networking.html#URLs</a>> contains<br>
> > details on the *url* field.<br>
> ><br>
> ><br>
> ><br>
> > - *X3D 4.0 Architecture, 16 Sound component, 16.2.6 Audio encoding<br>
> > formats*<br>
> > -<br>
> > <a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/sound.html#AudioEncodingFormats</a><br>
> ><br>
> > X3D browsers shall support at least the *wavefile* format in uncompressed<br>
> > PCM format (see [WAV]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/bibliography.html#WAV" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/bibliography.html#WAV</a>><br>
> > ).<br>
> > It is recommended that X3D browsers support the MIDI file type 1 sound<br>
> > format (see [MIDI 1.0]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-1" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-1</a>>).<br>
> > MIDI files are presumed to use the General MIDI patch set.<br>
> > X3D browser support is also recommended for MIDI 2.0 (see [MIDI 2.0]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-2" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#MIDI-2</a>> and<br>
> > Web MIDI API (see [W3C-WebMIDI]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#W3C-WebMIDI" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#W3C-WebMIDI</a>><br>
> > ).<br>
> > It is also recommended that X3D browsers support the following formats:<br>
> ><br>
> > - Format=MP3, container=MP3, compressed (see [I11172-1]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#I11172_1" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#I11172_1</a>><br>
> > ).<br>
> > - Format=AAC, container=MP4 (see [14496-14]<br>
> > <<a href="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#14496_14" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/references.html#14496_14</a>><br>
> > ).<br>
> ><br>
> > Example X3Dscene with MIDI content:<br>
> ><br>
> > - X3D Example Archives: X3D4WA, X3D for Web Authors, Chapter 05<br>
> > Appearance Material Textures, Pixel Texture Snowman<br>
> > -<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanIndex.html" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowmanIndex.html</a><br>
> > -<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/PixelTextureSnowman.x3d</a><br>
> > -<br>
> > <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid" rel="noreferrer" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/frosty2.mid</a><br>
> ><br>
> ><br>
> > Regarding MIDI content in ASCII form, it is certainly not disallowed in<br>
> > the X3D specification. Might you please send some references and an<br>
> > example? Perhaps an ASCII plaintext version of frosty2.<br>
> ><br>
> > Have fun with X3D and MIDI! 8)<br>
> ><br>
> > all the best, Don<br>
> ><br>
> > --<br>
> ><br>
> > Don Brutzman Naval Postgraduate School, Code USW/Br<br>
> > <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
> ><br>
> > Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA<br>
> > +1.831.656.2149<br>
> ><br>
> > X3D graphics, virtual worlds, navy robotics<br>
> > <a href="https://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">https://faculty.nps.edu/brutzman</a><br>
> ><br>
> ><br>
> ><br>
> > ------------------------------<br>
> > *From:* x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> on behalf of GPU Group<br>
> > via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> > *Sent:* Wednesday, August 21, 2024 3:14 PM<br>
> > *To:* Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> > ><br>
> > *Cc:* GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>><br>
> > *Subject:* Re: [x3d-public] Web3D 2024: HAnim Music Animation competition<br>
> > - Win cash prizes!<br>
> ><br>
> > MIDI > at least one web3d browser supports MIDI with nodes that give<br>
> > events, which could be used to synchronize HAnim motions to music tones /<br>
> > beats, or vice versa.<br>
> > Something missing from prior work: a node that holds MIDI directly in<br>
> > ASCII format, for easy tinkering in X3D scene file.<br>
> > -Doug<br>
> ><br>
> ><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240823/e0f1181d/attachment.html" rel="noreferrer" target="_blank">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240823/e0f1181d/attachment.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Subject: Digest Footer<br>
><br>
> _______________________________________________<br>
> x3d-public mailing list<br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
><br>
> ------------------------------<br>
><br>
> End of x3d-public Digest, Vol 185, Issue 42<br>
> *******************************************<br>
<br>
<br>
<br>
-- <br>
Andreas Plesch<br>
Waltham, MA 02453<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>