<?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>
									MIDI.org Forum - Recent Topics				            </title>
            <link>https://midi.org/community</link>
            <description>MIDI.org Discussion Board</description>
            <language>en-US</language>
            <lastBuildDate>Fri, 03 Apr 2026 23:05:44 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Keyboard matrix scan</title>
                        <link>https://midi.org/community/midi-software/keyboard-matrix-scan</link>
                        <pubDate>Fri, 27 Mar 2026 14:17:39 +0000</pubDate>
                        <description><![CDATA[Is there a general keyboard matrix scan program available somewhere that can be taken as a foundation for further development.Some kind of foundation to build upon?
Taking debouncing aside ...]]></description>
                        <content:encoded><![CDATA[<p>Is there a general keyboard matrix scan program available somewhere that can be taken as a foundation for further development.<br />Some kind of foundation to build upon?<br /><br /></p>
<p>Taking debouncing aside and velocity, a diode matrix scan of 4 rows by 8 columns requires some logic to maintain the pressed notes, that is, once the key event occurs, the note got to be played. Some bookkeeping has to be made, reflecting the fact that it has to be remembered that it had been played. As soon as it disappears from the scan balance, it got to be muted and taken out of the momentarily active notes. etc. etc.<br /><br />Is this bookkeeping algorithm available somewhere? I'm aware, that reflecting velocity adds some level of complexity.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Christoph</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-software/keyboard-matrix-scan</guid>
                    </item>
				                    <item>
                        <title>Understanding Roland GS drum parts</title>
                        <link>https://midi.org/community/creating-with-midi/understanding-roland-gs-drum-parts</link>
                        <pubDate>Mon, 23 Mar 2026 02:21:17 +0000</pubDate>
                        <description><![CDATA[How do I interpret this?  From the Roland SC-55, SC-88Pro, and SC-8850 manuals, some form of this chart is present.
n is the &quot;block&quot; number, which translates to
0 = CH 10
1 = CH 1
...
9...]]></description>
                        <content:encoded><![CDATA[<p>How do I interpret this?  From the Roland SC-55, SC-88Pro, and SC-8850 manuals, some form of this chart is present.</p>
<p>n is the "block" number, which translates to</p>
<p>0 = CH 10</p>
<p>1 = CH 1</p>
<p>...</p>
<p>9 = CH 9</p>
<p>A = CH 11</p>
<p>...</p>
<p>F = CH 16</p>
<p>&nbsp;</p>
<p>It shows</p>
<p>00 at n!=0</p>
<p>01 at n=0</p>
<p>Does this mean that channel 10 (n=0) CAN NOT be assigned as a non-percussion part?  I am testing a file with the SYSEX command to set CH 10 to non-percussion, but my software is still playing it as percussion.</p>
<div id="wpfa-0" class="wpforo-attached-file"><a class="wpforo-default-attachment" href="//midi.org/wp-content/uploads/wpforo/default_attachments/1774232477-sc55.jpg" target="_blank" title="sc55.JPG"><i class="fas fa-paperclip"></i>&nbsp;sc55.JPG</a></div>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>Jason</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/creating-with-midi/understanding-roland-gs-drum-parts</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"></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"></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>USB Midi Host adapter</title>
                        <link>https://midi.org/community/midi-hardware/usb-midi-host-adapter</link>
                        <pubDate>Wed, 04 Mar 2026 18:16:05 +0000</pubDate>
                        <description><![CDATA[I wish to setup 2 keyboards in a master/slave configuration. Neither keyboard has midi connectors. If I connect a USB Midi host adapter to each of the usb ports on the keyboards and then run...]]></description>
                        <content:encoded><![CDATA[<p>I wish to setup 2 keyboards in a master/slave configuration. Neither keyboard has midi connectors. If I connect a USB Midi host adapter to each of the usb ports on the keyboards and then run a midi cable from midi out on the master to midi in on the slave will I be able to then send midi from the master to the slave.<br />Tks <br />John</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>John Munro</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-hardware/usb-midi-host-adapter</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"></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"></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>Testing Web MIDI Latency on Android 6.0+ – Observations from VND88 MIDI Lab (2026 Build)</title>
                        <link>https://midi.org/community/midi-hardware/testing-web-midi-latency-on-android-6-0-observations-from-vnd88-midi-lab-2026-build</link>
                        <pubDate>Sat, 28 Feb 2026 02:12:30 +0000</pubDate>
                        <description><![CDATA[I’ve been running a series of mobile Web MIDI latency tests using an internal experimental build referred to as the &lt;a href=&quot; removed link &quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;VND88 M...]]></description>
                        <content:encoded><![CDATA[<p data-start="236" data-end="511">I’ve been running a series of mobile Web MIDI latency tests using an internal experimental build referred to as the &lt;a href=&quot; <span style="color:#aaa">removed link</span> " target="_blank" rel="noopener"&gt;VND88 MIDI Lab (2026 build)</a>. The goal is to benchmark event processing stability and controller response behavior across mid-range Android and iOS devices.</p>
<p data-start="513" data-end="653">This is not a commercial release, but rather a controlled environment used to simulate multi-channel MIDI routing and real-time interaction.</p>
<hr data-start="655" data-end="658" />
<h2 data-start="660" data-end="679">Test Environment</h2>
<p data-start="681" data-end="692"><strong data-start="681" data-end="692">Android</strong></p>
<ul data-start="693" data-end="777">
<li data-start="693" data-end="711">
<p data-start="695" data-end="711">Android 6.0 – 13</p>
</li>
<li data-start="712" data-end="733">
<p data-start="714" data-end="733">2GB–6GB RAM devices</p>
</li>
<li data-start="734" data-end="752">
<p data-start="736" data-end="752">USB-MIDI via OTG</p>
</li>
<li data-start="753" data-end="777">
<p data-start="755" data-end="777">Chrome (latest stable)</p>
</li>
</ul>
<p data-start="779" data-end="786"><strong data-start="779" data-end="786">iOS</strong></p>
<ul data-start="787" data-end="844">
<li data-start="787" data-end="796">
<p data-start="789" data-end="796">iOS 12+</p>
</li>
<li data-start="797" data-end="826">
<p data-start="799" data-end="826">CoreMIDI compatible devices</p>
</li>
<li data-start="827" data-end="844">
<p data-start="829" data-end="844">Safari (latest)</p>
</li>
</ul>
<p data-start="846" data-end="853"><strong data-start="846" data-end="853">Web</strong></p>
<ul data-start="854" data-end="906">
<li data-start="854" data-end="876">
<p data-start="856" data-end="876">Web MIDI API enabled</p>
</li>
<li data-start="877" data-end="906">
<p data-start="879" data-end="906">PWA mode with offline cache</p>
</li>
</ul>
<hr data-start="908" data-end="911" />
<h2 data-start="913" data-end="944">Observed Performance Metrics</h2>
<p data-start="946" data-end="972">Under standard conditions:</p>
<ul data-start="974" data-end="1232">
<li data-start="974" data-end="1032">
<p data-start="976" data-end="1032">Event processing latency: 8–14ms (USB-MIDI direct input)</p>
</li>
<li data-start="1033" data-end="1082">
<p data-start="1035" data-end="1082">UI rendering: Stable 60FPS on mid-range devices</p>
</li>
<li data-start="1083" data-end="1155">
<p data-start="1085" data-end="1155">Multi-channel routing: No noticeable jitter under 4-channel simulation</p>
</li>
<li data-start="1156" data-end="1232">
<p data-start="1158" data-end="1232">Session encryption: AES-256 handshake (for preset sync validation testing)</p>
</li>
</ul>
<p data-start="1234" data-end="1343">Latency variance appears to increase when background processes are active, especially on Android 6–8 devices.</p>
<hr data-start="1345" data-end="1348" />
<h2 data-start="1350" data-end="1386">Installation Context (Test Build)</h2>
<p data-start="1388" data-end="1419">Android test build (~75MB APK):</p>
<ul data-start="1421" data-end="1553">
<li data-start="1421" data-end="1465">
<p data-start="1423" data-end="1465">Signed package (SHA-256 checksum verified)</p>
</li>
<li data-start="1466" data-end="1506">
<p data-start="1468" data-end="1506">Requires network + storage permissions</p>
</li>
<li data-start="1507" data-end="1553">
<p data-start="1509" data-end="1553">USB device authorization required at runtime</p>
</li>
</ul>
<p data-start="1555" data-end="1570">iOS deployment:</p>
<ul data-start="1572" data-end="1641">
<li data-start="1572" data-end="1600">
<p data-start="1574" data-end="1600">Distributed via TestFlight</p>
</li>
<li data-start="1601" data-end="1641">
<p data-start="1603" data-end="1641">CoreMIDI authorization on first launch</p>
</li>
</ul>
<p data-start="1643" data-end="1656">Web fallback:</p>
<ul data-start="1658" data-end="1747">
<li data-start="1658" data-end="1684">
<p data-start="1660" data-end="1684">Progressive Web App mode</p>
</li>
<li data-start="1685" data-end="1715">
<p data-start="1687" data-end="1715">Add-to-home-screen supported</p>
</li>
<li data-start="1716" data-end="1747">
<p data-start="1718" data-end="1747">Offline event logging enabled</p>
</li>
</ul>
<hr data-start="1749" data-end="1752" />
<h2 data-start="1754" data-end="1777">Interesting Findings</h2>
<ol data-start="1779" data-end="2064">
<li data-start="1779" data-end="1869">
<p data-start="1782" data-end="1869">Web MIDI performance on Android 6–8 shows greater timing drift compared to Android 10+.</p>
</li>
<li data-start="1870" data-end="1970">
<p data-start="1873" data-end="1970">Chrome seems to manage buffer scheduling more consistently than some Chromium-based alternatives.</p>
</li>
<li data-start="1971" data-end="2064">
<p data-start="1974" data-end="2064">USB permission reinitialization sometimes reduces latency spikes after extended idle time.</p>
</li>
</ol>
<hr data-start="2066" data-end="2069" />
<h2 data-start="2071" data-end="2106">Open Questions for the Community</h2>
<ul data-start="2108" data-end="2388">
<li data-start="2108" data-end="2183">
<p data-start="2110" data-end="2183">Has anyone benchmarked Web MIDI API latency across older Android devices?</p>
</li>
<li data-start="2184" data-end="2256">
<p data-start="2186" data-end="2256">Are there recommended buffer strategies to reduce 10–15ms fluctuation?</p>
</li>
<li data-start="2257" data-end="2321">
<p data-start="2259" data-end="2321">Any known limitations of OTG MIDI handling on low-RAM devices?</p>
</li>
<li data-start="2322" data-end="2388">
<p data-start="2324" data-end="2388">Best practices for stabilizing event timing in PWA environments?</p>
</li>
</ul>
<p data-start="2390" data-end="2470">I’m particularly interested in real-world field testing beyond lab measurements.</p>
<p data-start="2472" data-end="2520">Appreciate any insight or shared benchmark data.</p>]]></content:encoded>
						                            <category domain="https://midi.org/community"></category>                        <dc:creator>88 VND</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-hardware/testing-web-midi-latency-on-android-6-0-observations-from-vnd88-midi-lab-2026-build</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"></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"></category>                        <dc:creator>Muneyoshi Suzuki</dc:creator>
                        <guid isPermaLink="true">https://midi.org/community/midi-specifications/typo</guid>
                    </item>
							        </channel>
        </rss>
		