<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Developers &amp; MIDI 2.0 Specifications - MIDI.org Forum				            </title>
            <link>https://midi.org/community/midi-specifications</link>
            <description>MIDI.org Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Tue, 28 Apr 2026 10:09:02 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>My journey with USB MIDI 2.0 in TinyUSB</title>
                        <link>https://midi.org/community/midi-specifications/my-journey-with-usb-midi-2-0-in-tinyusb</link>
                        <pubDate>Wed, 22 Apr 2026 01:59:06 +0000</pubDate>
                        <description><![CDATA[Hello, my friends. I&#039;m Saulo, writing from Brazil, (Brasília, Capital).
It&#039;s been a few months since I started working hard on implementing USB MIDI 2.0 on embedded systems. My starting poi...]]></description>
                        <content:encoded><![CDATA[<p>Hello, my friends. I'm Saulo, writing from Brazil, (Brasília, Capital).</p>
<p>It's been a few months since I started working hard on implementing USB MIDI 2.0 on embedded systems. My starting points were Andrew Mee's AM_MIDI2.0Lib (MIDI 2.0 protocol), AmeNote's tusb_ump, and Mike Kent's ProtoZOA (embedded and USB), along with the official specs. My interest in this topic came from work I've been doing for a few years on MIDI transports for ESP32 (&lt;a href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener noreferrer"&gt;ESP32_Host_MIDI</a>). Along that path, I've been learning a bit about embedded architecture and the transport layer, especially USB.</p>
<p>It took many weeks of testing against Linux and Windows hosts, reading through M2-104-UM and the USB MIDI 2.0 Class Definition paragraph by paragraph. Last month I reached a stable version using TinyUSB, both Device and Host modes, validated first on RP2040 and then on Adafruit Feather RP2040 Host (Pico SDK, CMake). After testing across several devices, I opened the upstream PR: &lt;a href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener noreferrer"&gt; <span style="color:#aaa">removed link</span> </a>.</p>
<p>Since then, I've been running a local branch based on the PR to keep the work moving. And that's the reason for this post: to see if others are on the same path and find allies here in the forum to push embedded MIDI 2.0 forward. So far, on my bench, I've enumerated on RP2040, RP2350, ESP32, Nordic nRF52840, and SAMD21. All of them enumerated cleanly on both Windows MIDI Services and Linux.</p>
<p>One angle in particular has been getting special attention: Teensy, Daisy Seed, and ESP32-P4. These are hacker-friendly boards with real audio processing capability. The experiments on these three are well under way, and this axis, where MIDI 2.0 meets real embedded audio, is where I'm going deeper.</p>
<p>It's been a really good experience. I'm excited about where this is going, and it would be great to find others walking a similar path.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Saulo Verissimo</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/my-journey-with-usb-midi-2-0-in-tinyusb</guid>
                    </item>
				                    <item>
                        <title>I am currently working on integrating MIDI 2.0 in my hardware/software projects and I have a few questions about the specifications:</title>
                        <link>https://midi.org/community/midi-specifications/i-am-currently-working-on-integrating-midi-2-0-in-my-hardware-software-projects-and-i-have-a-few-questions-about-the-specifications</link>
                        <pubDate>Sun, 08 Mar 2026 08:41:19 +0000</pubDate>
                        <description><![CDATA[1. What are the recommended best practices for creating **custom MIDI 2.0 profiles** to ensure compatibility with major DAWs and instruments? 2. How should **Property Exchange messages** be ...]]></description>
                        <content:encoded><![CDATA[<p>1. What are the recommended best practices for creating **custom MIDI 2.0 profiles** to ensure compatibility with major DAWs and instruments? <br />2. How should **Property Exchange messages** be used to communicate custom data between devices? <br />3. Is there support for **per-note features beyond standard channel messages** in the current MIDI 2.0 specification?<br /><br />Additionally, I have developed a **Time Calculator Tool for MIDI 2.0 developers** that may help others working on MIDI projects: ( <span style="color:#aaa">removed link</span> )<br /><br />Any guidance, examples, or references to official documentation would be greatly appreciated.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>time CalculatorX</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/i-am-currently-working-on-integrating-midi-2-0-in-my-hardware-software-projects-and-i-have-a-few-questions-about-the-specifications</guid>
                    </item>
				                    <item>
                        <title>WebMIDI Working Group and a new community WebMIDI directory</title>
                        <link>https://midi.org/community/midi-specifications/webmidi-working-group-and-a-new-community-webmidi-directory</link>
                        <pubDate>Fri, 06 Mar 2026 16:29:03 +0000</pubDate>
                        <description><![CDATA[Hi everyone &#x1f44b;
I had a catch-up with Athan Billias recently, regarding WebMIDI.It started out as a chat about my a new App I&#039;m developing, called MIDIWeb ( removed link ) - a browser...]]></description>
                        <content:encoded><![CDATA[<p class="p1">Hi everyone &#x1f44b;</p>
<p class="p1">I had a catch-up with Athan Billias recently, regarding WebMIDI.<br />It started out as a chat about my a new App I'm developing, called MIDIWeb ( <span style="color:#aaa">removed link</span> ) - a browser focused on making WebMIDI practical on iOS.<br />It ended up with a suggestion of:<br /><br /><em>'You should start a community-driven site for cool WebMIDI sites to help spread the word and gain some momentum in preparation of WebMIDI 2.0 support... and maybe see if there's appetite for a WebMIDI working group..."</em></p>
<p class="p1">So this post is an attempt to get a little momentum going in the open:</p>
<p class="p1"><strong>1) Is there interest here in forming a lightweight “WebMIDI Working Group” (or special interest group) focused on:</strong></p>
<ul>
<li class="p1">increasing awareness + practical adoption of WebMIDI</li>
<li class="p1">sharing best practices / dev pitfalls / security + permissions gotchas</li>
<li class="p1">helping keep energy behind "WebMIDI + MIDI 2.0" discussions (and feeding that back into the right standards channels)</li>
</ul>
<p class="p1"><strong>2) Do initiatives like this already exist that I’m missing?</strong></p>
<ul>
<li class="p1">I’m aware the old W3C Web MIDI Community Group is closed, and there are broader audio groups — but I’m specifically wondering if there’s an <strong>active, practical</strong> community hub today for WebMIDI work?</li>
</ul>
<p class="p1">As a first step, I’ve put together a community-driven directory of WebMIDI sites/tools, so people can quickly see what’s possible and add their favourites:</p>
<p class="p1"><span class="Apple-converted-space">   </span>MIDIWeb Hub: &lt;a href=&quot; <span style="color:#aaa">removed link</span> "&gt; <span style="color:#aaa">removed link</span> </a></p>
<p class="p1">This directory is now also the home page of MIDIWeb, but the directory itself is meant to be useful regardless of what browser/app you use. I’d love for it to become a “living list” that the community actually maintains.</p>
<p class="p1">If a WebMIDI Working Group <strong>does</strong> sound worthwhile, a few possible starter outputs could be:</p>
<ul>
<li class="p1">a curated "Top WebMIDI examples" shortlist (education, performance, tools, games, utilities) - <em>perhaps piggybacking on MIDIWeb-Hub?</em></li>
<li class="p1">a simple "Getting started" + "Known issues across platforms", "WebMIDI Learning resources"  doc</li>
<li class="p1">a wish-list / priority list for “WebMIDI + MIDI 2.0” features that developers would actually use</li>
<li class="p1">coordination with any existing MIDI 2.0 / education efforts (so WebMIDI doesn’t become an island)</li>
</ul>
<p class="p1">If you’re interested, reply with:</p>
<ul>
<li class="p1">"Yes, I’d join" + (<em>and what you’d want it to achieve</em>)</li>
<li class="p1">any existing groups/threads/people I should connect with?</li>
<li class="p1">any WebMIDI sites/tools you think absolutely should be in the directory?</li>
</ul>
<p class="p1">The goal here is just to get the ball rolling and see if there’s real signal before we over-organise anything! &#x1f642; </p>
<p class="p1">Cheers,<br />Ant, 5of12<br />JOIN THE MIDIWEB TESTFLIGHT BETA:  <span style="color:#aaa">removed link</span> </p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Antony Nasce</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/webmidi-working-group-and-a-new-community-webmidi-directory</guid>
                    </item>
				                    <item>
                        <title>188CM (2026) – Web MIDI Performance Across Android 7–14</title>
                        <link>https://midi.org/community/midi-specifications/188cm-2026-web-midi-performance-across-android-7-14</link>
                        <pubDate>Sat, 28 Feb 2026 02:57:05 +0000</pubDate>
                        <description><![CDATA[I’ve been conducting internal experiments under the &lt;a title=&quot;188CM&quot; href=&quot; removed link &quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;188CM lab environment to evaluate Web MIDI timi...]]></description>
                        <content:encoded><![CDATA[<p data-start="143" data-end="423">I’ve been conducting internal experiments under the &lt;a title=&quot;188CM&quot; href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener"&gt;188CM</a> lab environment to evaluate Web MIDI timing across a range of Android devices. The goal is to understand how multi-channel MIDI events behave on mid-range phones with USB-MIDI connections under real-world conditions.</p>
<p data-start="425" data-end="582">This setup is strictly experimental — not a public release. It focuses on measuring event latency, jitter, and buffer performance during extended sessions.</p>
<p data-start="584" data-end="598"><strong data-start="584" data-end="598">Test Setup</strong></p>
<ul data-start="600" data-end="815">
<li data-start="600" data-end="634">
<p data-start="602" data-end="634"><strong data-start="602" data-end="623">Android Versions:</strong> 7.0 → 14</p>
</li>
<li data-start="635" data-end="688">
<p data-start="637" data-end="688"><strong data-start="637" data-end="649">Devices:</strong> 3–8 GB RAM, typical mid-range models</p>
</li>
<li data-start="689" data-end="720">
<p data-start="691" data-end="720"><strong data-start="691" data-end="710">MIDI Interface:</strong> USB OTG</p>
</li>
<li data-start="721" data-end="753">
<p data-start="723" data-end="753"><strong data-start="723" data-end="735">Browser:</strong> Chrome (stable)</p>
</li>
<li data-start="754" data-end="815">
<p data-start="756" data-end="815"><strong data-start="756" data-end="775">Load Scenarios:</strong> idle vs moderate background processes</p>
</li>
</ul>
<p data-start="817" data-end="840"><strong data-start="817" data-end="840">Testing Methodology</strong></p>
<ul data-start="842" data-end="1025">
<li data-start="842" data-end="895">
<p data-start="844" data-end="895">External metronome at 120 BPM as timing reference</p>
</li>
<li data-start="896" data-end="943">
<p data-start="898" data-end="943">Capture timestamps via JavaScript callbacks</p>
</li>
<li data-start="944" data-end="985">
<p data-start="946" data-end="985">Record 500–1000 event cycles per test</p>
</li>
<li data-start="986" data-end="1025">
<p data-start="988" data-end="1025">Analyze median latency and variance</p>
</li>
</ul>
<p data-start="1027" data-end="1043"><strong data-start="1027" data-end="1043">Observations</strong></p>
<p data-start="1045" data-end="1066"><strong data-start="1045" data-end="1064">Baseline / Idle</strong></p>
<ul data-start="1067" data-end="1157">
<li data-start="1067" data-end="1095">
<p data-start="1069" data-end="1095">Average latency: 9–13 ms</p>
</li>
<li data-start="1096" data-end="1121">
<p data-start="1098" data-end="1121">Jitter range: ±3–5 ms</p>
</li>
<li data-start="1122" data-end="1157">
<p data-start="1124" data-end="1157">UI performance stable at 60 FPS</p>
</li>
</ul>
<p data-start="1159" data-end="1186"><strong data-start="1159" data-end="1184">Under Background Load</strong></p>
<ul data-start="1187" data-end="1330">
<li data-start="1187" data-end="1230">
<p data-start="1189" data-end="1230">Latency spikes: 17–22 ms on Android 7–9</p>
</li>
<li data-start="1231" data-end="1274">
<p data-start="1233" data-end="1274">Minor jitter during USB reauthorization</p>
</li>
<li data-start="1275" data-end="1330">
<p data-start="1277" data-end="1330">Drift visible after idle periods over 15–20 minutes</p>
</li>
</ul>
<p data-start="1332" data-end="1362"><strong data-start="1332" data-end="1360">Android 11+ Improvements</strong></p>
<ul data-start="1363" data-end="1453">
<li data-start="1363" data-end="1412">
<p data-start="1365" data-end="1412">Event buffer consistency significantly better</p>
</li>
<li data-start="1413" data-end="1453">
<p data-start="1415" data-end="1453">Fewer spikes and lower overall drift</p>
</li>
</ul>
<p data-start="1455" data-end="1478"><strong data-start="1455" data-end="1478">Additional Insights</strong></p>
<ul data-start="1480" data-end="1703">
<li data-start="1480" data-end="1545">
<p data-start="1482" data-end="1545">Older Android kernels seem sensitive to USB polling intervals</p>
</li>
<li data-start="1546" data-end="1626">
<p data-start="1548" data-end="1626">Chrome stable handles event queues more predictably than some Chromium forks</p>
</li>
<li data-start="1627" data-end="1703">
<p data-start="1629" data-end="1703">Resetting USB authorization occasionally improves long-session stability</p>
</li>
</ul>
<p data-start="1705" data-end="1743"><strong data-start="1705" data-end="1743">Open Questions / Discussion Points</strong></p>
<ul data-start="1745" data-end="2186">
<li data-start="1745" data-end="1841">
<p data-start="1747" data-end="1841">Any experience profiling Web MIDI timing on Android 7 or 8 with high-resolution instruments?</p>
</li>
<li data-start="1842" data-end="1923">
<p data-start="1844" data-end="1923">Recommended buffering strategies to keep drift below 10 ms for long sessions?</p>
</li>
<li data-start="1924" data-end="2002">
<p data-start="1926" data-end="2002">Known OTG limitations for mid-range devices under sustained MIDI playback?</p>
</li>
<li data-start="2003" data-end="2092">
<p data-start="2005" data-end="2092">Best practices for maintaining stable Web MIDI sessions over 30–60 minutes on mobile?</p>
</li>
<li data-start="2093" data-end="2186">
<p data-start="2095" data-end="2186">Benchmark comparisons from real-world <strong data-start="2133" data-end="2142">188CM</strong> setups outside controlled lab conditions?</p>
</li>
</ul>
<p data-start="2188" data-end="2371">Would love to hear insights or shared experiences from developers working with Web MIDI on Android — especially if you’ve tested long-duration sessions using <strong data-start="2346" data-end="2355">188CM</strong> environments.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>188CM -Club</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/188cm-2026-web-midi-performance-across-android-7-14</guid>
                    </item>
				                    <item>
                        <title>USB-MIDI Resume Jitter After Idle on Android – Field Observation</title>
                        <link>https://midi.org/community/midi-specifications/usb-midi-resume-jitter-after-idle-on-android-field-observation</link>
                        <pubDate>Sat, 28 Feb 2026 02:27:23 +0000</pubDate>
                        <description><![CDATA[During recent mobile Web MIDI testing, I encountered a recurring timing instability after extended idle sessions on several Android devices.
The tests were conducted using an internal bench...]]></description>
                        <content:encoded><![CDATA[<p data-start="234" data-end="374">During recent mobile Web MIDI testing, I encountered a recurring timing instability after extended idle sessions on several Android devices.</p>
<p data-start="376" data-end="546">The tests were conducted using an internal benchmark harness (code name: &lt;a href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener"&gt;VN68 Lab</a>, 2026 iteration), designed strictly for event timing diagnostics and routing simulation.</p>
<p data-start="548" data-end="703">This is not a public software release — it is simply a controlled test environment used to observe real-time MIDI behavior under varying system conditions.</p>
<hr data-start="705" data-end="708" />
<h3 data-start="710" data-end="725">Environment</h3>
<ul data-start="727" data-end="847">
<li data-start="727" data-end="751">
<p data-start="729" data-end="751">Android 8–13 devices</p>
</li>
<li data-start="752" data-end="773">
<p data-start="754" data-end="773">3GB–6GB RAM range</p>
</li>
<li data-start="774" data-end="794">
<p data-start="776" data-end="794">USB-MIDI via OTG</p>
</li>
<li data-start="795" data-end="822">
<p data-start="797" data-end="822">Chrome (stable channel)</p>
</li>
<li data-start="823" data-end="847">
<p data-start="825" data-end="847">Web MIDI API enabled</p>
</li>
</ul>
<hr data-start="849" data-end="852" />
<h3 data-start="854" data-end="875">Observed Behavior</h3>
<p data-start="877" data-end="925">After approximately 15–25 minutes of inactivity:</p>
<ul data-start="927" data-end="1087">
<li data-start="927" data-end="992">
<p data-start="929" data-end="992">Initial incoming MIDI events show irregular timestamp offsets</p>
</li>
<li data-start="993" data-end="1029">
<p data-start="995" data-end="1029">Short burst of jitter (~15–30ms)</p>
</li>
<li data-start="1030" data-end="1087">
<p data-start="1032" data-end="1087">Stabilization typically occurs after 5–8 event cycles</p>
</li>
</ul>
<p data-start="1089" data-end="1145">The issue does <strong data-start="1104" data-end="1111">not</strong> occur during continuous playback.</p>
<p data-start="1147" data-end="1303">Interestingly, when replicating the same scenario inside the VN68 test harness, the behavior appears more pronounced on Android 8–9 compared to Android 11+.</p>
<hr data-start="1305" data-end="1308" />
<h3 data-start="1310" data-end="1324">Hypotheses</h3>
<p data-start="1326" data-end="1356">Possible contributing factors:</p>
<ul data-start="1358" data-end="1541">
<li data-start="1358" data-end="1410">
<p data-start="1360" data-end="1410">OTG polling interval reset after low-power state</p>
</li>
<li data-start="1411" data-end="1455">
<p data-start="1413" data-end="1455">Android kernel power management behavior</p>
</li>
<li data-start="1456" data-end="1498">
<p data-start="1458" data-end="1498">Browser event queue reactivation delay</p>
</li>
<li data-start="1499" data-end="1541">
<p data-start="1501" data-end="1541">USB permission reinitialization timing</p>
</li>
</ul>
<hr data-start="1543" data-end="1546" />
<h3 data-start="1548" data-end="1573">Experiments Conducted</h3>
<ul data-start="1575" data-end="1792">
<li data-start="1575" data-end="1657">
<p data-start="1577" data-end="1657">Manually reinitializing USB permission → partially reduces first-spike latency</p>
</li>
<li data-start="1658" data-end="1730">
<p data-start="1660" data-end="1730">Keeping a low-frequency MIDI clock active → reduces drift occurrence</p>
</li>
<li data-start="1731" data-end="1792">
<p data-start="1733" data-end="1792">Disabling battery optimization → inconsistent improvement</p>
</li>
</ul>
<hr data-start="1794" data-end="1797" />
<h3 data-start="1799" data-end="1830">Questions for the Community</h3>
<ul data-start="1832" data-end="2130">
<li data-start="1832" data-end="1900">
<p data-start="1834" data-end="1900">Has anyone observed OTG polling instability after extended idle?</p>
</li>
<li data-start="1901" data-end="1974">
<p data-start="1903" data-end="1974">Are there known Android kernel behaviors affecting USB resume timing?</p>
</li>
<li data-start="1975" data-end="2056">
<p data-start="1977" data-end="2056">Would maintaining a lightweight keep-alive clock be considered best practice?</p>
</li>
<li data-start="2057" data-end="2130">
<p data-start="2059" data-end="2130">Any documented Web MIDI scheduling caveats on pre-Android 10 devices?</p>
</li>
</ul>
<p data-start="2132" data-end="2203">Interested in real-world implementation insights beyond lab conditions.</p>
<p data-start="2205" data-end="2240">Appreciate any shared observations.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>VN68 -Club</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/usb-midi-resume-jitter-after-idle-on-android-field-observation</guid>
                    </item>
				                    <item>
                        <title>Amature Radio Applications - HAM</title>
                        <link>https://midi.org/community/midi-specifications/amature-radio-applications-ham</link>
                        <pubDate>Tue, 24 Feb 2026 20:55:55 +0000</pubDate>
                        <description><![CDATA[This &lt;a title=&quot;Ham Radio MIDI Application&quot; href=&quot; removed link &quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;podcast  discusses application of MIDI interface to operating and logging...]]></description>
                        <content:encoded><![CDATA[<p>This &lt;a title=&quot;Ham Radio MIDI Application&quot; href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener"&gt;podcast </a> discusses application of MIDI interface to operating and logging HAM radio operation.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Marty Grogan</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/amature-radio-applications-ham</guid>
                    </item>
				                    <item>
                        <title>Typo?</title>
                        <link>https://midi.org/community/midi-specifications/typo</link>
                        <pubDate>Thu, 19 Feb 2026 06:01:35 +0000</pubDate>
                        <description><![CDATA[Dear,
In M2-104-UM_v1-1-2_UMP_and_MIDI_2-0_Protocol_Specification of section 7.4.13 Registered Controller (RPN) for Sensitivity of Per-Note Pitch Bend (pp.57), the last sentence:
However, ...]]></description>
                        <content:encoded><![CDATA[<p>Dear,<br /><br /></p>
<p><span>In M2-104-UM_v1-1-2_UMP_and_MIDI_2-0_Protocol_Specification of section 7.4.13 Registered Controller (RPN) for Sensitivity of Per-Note Pitch Bend (pp.57), the last sentence:</span></p>
<p><span>However, this RPN has no function within the MIDI 1.0 Protocol.</span></p>
<p><span>seems to me, 1.0 is typo of 2.0. Is this correct?</span></p>
<p>Thanks,<br />M. Suzuki</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Muneyoshi Suzuki</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/typo</guid>
                    </item>
				                    <item>
                        <title>Is it possible to read the current MIDI values/status of all parameters in a MIDI device?</title>
                        <link>https://midi.org/community/midi-specifications/is-it-possible-to-read-the-current-midi-values-status-of-all-parameters-in-a-midi-device</link>
                        <pubDate>Fri, 02 Jan 2026 11:13:48 +0000</pubDate>
                        <description><![CDATA[When opening any MIDI-software (in my example Loopy Pro): Is it possible to read the current MIDI values/status of all parameters in a MIDI device?BACKGROUND:I have a digital mixer (Zoom Liv...]]></description>
                        <content:encoded><![CDATA[<p><strong>When opening any MIDI-software (in my example Loopy Pro): Is it possible to read the current MIDI values/status of all parameters in a MIDI device?</strong><br /><br /><span><strong>BACKGROUND</strong>:</span><br /><span>I have a digital mixer (Zoom LiveTrak L6 Max) that reads and sends various MIDI values for volume, mute, pan, etc. </span><br /><span>If I make changes on the L6 Max, it is easy to read the status in Loopy Pro. Similarly, it is straightforward to send, for example, a volume value to the L6 Max.</span><br /><br /><span><strong>CHALLENGE</strong>:</span><br /><span>But the challenge is to extract the status of all MIDI values from the L6 Max so that Loopy Pro can be updated (for example, when I open Loopy Pro).</span><br /><br /><span>I can send a volume value (and similarly for all MIDI parameters) to the L6 Max so that Loopy Pro and the L6 Max are synchronized. But then the problem is that I have SENT (and changed) a MIDI value instead of RECEIVED it.</span><br /><br /><span><strong>SOLUTION</strong>: ??</span></p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Olav Røssland</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/is-it-possible-to-read-the-current-midi-values-status-of-all-parameters-in-a-midi-device</guid>
                    </item>
				                    <item>
                        <title>MIDI2 Device MIDI1 compatibility and Group Terminal Block Descriptors</title>
                        <link>https://midi.org/community/midi-specifications/midi2-device-midi1-compatibility-and-group-terminal-block-descriptors</link>
                        <pubDate>Fri, 12 Dec 2025 07:45:54 +0000</pubDate>
                        <description><![CDATA[Hello, i&#039;m trying to develop a MIDI2 device as a personal investigation project, using RP2040 and TinyUSB.I&#039;ve managed to get the Device and Configurator descriptor right, and I think i&#039;m al...]]></description>
                        <content:encoded><![CDATA[<p>Hello, i'm trying to develop a MIDI2 device as a personal investigation project, using RP2040 and TinyUSB.<br /><br />I've managed to get the Device and Configurator descriptor right, and I think i'm also doing the UMP Endpoint, Stream and Function Block negotiation right.<br /><br />I'm interfacing with a Apple Air M1 with Sequoia 15.3.1 and as a matter of facts I can see the negotiation and get 0x40 note on and off in the MIDI2 Workbench, and I can also play with Ivory3 (actualli triggering notes since I have no keyboard), but I can't interact with MIDI1 applications.<br /><br />The problem arise when I compare with another midi2 keyboard from a famous brand.<br />It behave almost the same, BUT it can also send note to MIDI1 application.<br /><br />As an example i'm using a MIDI Monitor from snoize that can receive note on and off from the famous keyboard but not from my personal one.<br />In this case notes are displayed as a MIDI1 message.<br /><br />I've sniffed everything from wireshark (this is the reason why I don't want to say what brand and keyboard is): the Descriptors are basically the same, and I can confirm that the famous keyboard is sending UMP 0x40 note on and off.<br />My interpretation is that the OS is handling MIDI1 softwares converting the UMP voice messages in MIDI1 format in order.<br /><br />Now the question is: why the OS is behaving like this with the famous keyboard but not with my device?<br /><br />In my investigation i've noticed that, while almost all the Stream Messages negotiation is the same in both the devices, the only difference is in the Stream Configuration Request message received from the OS.<br />I've seen that in the Famous Keyboard case the message contain a protocol 0x02 (MIDI2), while in my case is sending a 0x01 protocol (MIDI1).<br />Answering with a Stream Configuration Notification message with a 0x01 protocol or a 0x02 protocol does not change the behavior at all.<br />I've also played with the MIDI1 compatibility in Endpoint and Function Block info notification, but nothing seems to achieve the same results as the other keyboard.<br /><br />Another thing i've noticed is that no Group Terminal Block Descriptor is requested in both cases (my device and the famous keyboard): are these yet to be implemented by MacOS?<br /><br />I don't know how to go deeper than this, does anyone have some suggestions?</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Saverio Frascati</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/midi2-device-midi1-compatibility-and-group-terminal-block-descriptors</guid>
                    </item>
				                    <item>
                        <title>SysEx Id for LilyPond software</title>
                        <link>https://midi.org/community/midi-specifications/sysex-id-for-lilypond-software</link>
                        <pubDate>Sat, 29 Nov 2025 23:10:24 +0000</pubDate>
                        <description><![CDATA[I am a volunteer for the GNU LilyPond (lilypond org) open-source software project. This music engraving software uses a code language written as text files, from which it generates sheet mus...]]></description>
                        <content:encoded><![CDATA[<p>I am a volunteer for the GNU LilyPond (lilypond org) open-source software project. This music engraving software uses a code language written as text files, from which it generates sheet music in PDF and other formats. It can also make MIDI files. There is a current development effort for its MIDI output, adding Sequencer-Specific Meta-Events identifying the text file and line-and-column position in it which produced a given audio event. This will aid code editors and MIDI players with highlighting and synchronizing code and its related audio and visual output.</p>
<p>Working example video: player vimeo com/video/1132810999<br /><br />Development discussion: gitlab com/lilypond/lilypond/-/merge_requests/2790<br /><br />In particular, there is a question about needing a System Exclusive ID for the Sequencer-Specific Meta-Events…<br /><br />gitlab com/lilypond/lilypond/-/merge_requests/2790#note_2897970786<br /><br />…as described on page 10 of the "Standard MIDI Files 1.0" <span style="text-decoration: underline"><a href="https://midi.org/standard-midi-files-specification" target="_blank" rel="noopener">specification</a></span> (February 1996).<br /><br />These IDs are available for a one-time $240 registration fee.<br />https://midi.org/new-midi-association-sysex-id-policies-as-of-oct-15-2025<br /><br />There is the 0x7C Limited Non-Commercial ID, for which LilyPond seems to qualify. But it says "The Id… shall not be used… for any of the following mechanisms…" which include "System Exclusive messages with custom or manufacturer defined data format."<br /><br />Then, found by forum search while writing this post:</p>
<p></p>
<p>If you don't think that your idea or product is worth $240 a year for a SysEx ID, then just give it away. If you want to just innovate and not sell products, there is a range of SysEx IDs available for research and non-commercial use. These have always existed and are documented in the MIDI 1.0 specification.</p>
<p></p>
<p>@"The MIDI Association" : Could this be clarified whether LilyPond needs a SysEx ID, or can use one reserved for non-commercial projects?</p>
<p>Assuming LilyPond needs the SysEx Id, a donor for the $240 can probably be found.<br /><br />In that case, next question: there is not a legal entity for the LilyPond project. All the developers and community members are participating as individual persons. (As a GNU project, though, there is the upstream Free Software Foundation, a Massachusetts Non-Profit Corporation. How would the SysEx Id registration be expected to work for LilyPond?</p>]]></content:encoded>
						                            <category domain="https://midi.org/community/midi-specifications">Developers &amp; MIDI 2.0 Specifications</category>                        <dc:creator>Karlin High</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/sysex-id-for-lilypond-software</guid>
                    </item>
							        </channel>
        </rss>
		