<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
High speed USB is 125uS, but in general the cheaper MCUs used in most musical instruments still work on lower speed. But in any case it's still prone to an element of jitter which may or may not be a problem. I'd love to find a real drummer accurate to 1mS
:-)</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
MIDI-2 sends an actual timestamp, as does OSC of course, so you can keep the timers in all your equipment perfectly synced up.</div>
<div id="appendonsend"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div dir="ltr" id="divRplyFwdMsg"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Synth-diy <synth-diy-bounces@synth-diy.org> on behalf of Richie Burnett <rburnett@richieburnett.co.uk><br>
<b>Sent:</b> 10 March 2024 11:09<br>
<b>To:</b> Tom Wiltshire <tom@electricdruid.net><br>
<b>Cc:</b> Synth-diy@synth-diy.org <Synth-diy@synth-diy.org><br>
<b>Subject:</b> Re: [sdiy] MIDI Clock sync advice</span>
<div> </div>
</div>
<div><span style="font-size: 11pt;">I thought the frame rate for high speed USB was 125us now, instead of 1ms?<br>
<br>
Even if I got that wrong and MIDI clocks are quantised to 1ms, that isn't so<br>
bad... Most old analogue drum machines quantised the tempo clock and voice<br>
triggers to a 1ms or 2ms "interrupt clock" anyway.<br>
<br>
The issue I think that is most troublesome when "clock doubling" or "clock<br>
quadrupling" is when a whole load of MIDI clock messages arrive bunched up.<br>
That really messes up any instantaneous "clock-to-clock period measurement!"<br>
I've heard that putting MIDI clock on it's own dedicated USB MIDI output<br>
port helps minimise the jitter because there's no other data to queue for<br>
that particular jack but I don't know how successful it is in practice.<br>
<br>
-Richie,<br>
<br>
<br>
-----Original Message-----<br>
From: Tom Wiltshire<br>
Sent: Saturday, March 9, 2024 11:16 PM<br>
To: brianw<br>
Cc: Synth-diy@synth-diy.org<br>
Subject: Re: [sdiy] MIDI Clock sync advice<br>
<br>
The framing delay is why I won't touch USB-MIDI with a 6ft bargepole. The<br>
idea that some super-fast modern protocol has a jitter that is the same as<br>
the latency of an entire MIDI message is just hopeless. That cannot remotely<br>
be seen as progress! USB wasn't designed for this job and it shows<br>
massively.<br>
<br>
A decent UART 5-pin MIDI implementation can still provide better timing,<br>
even at 31.25KHz. That's *shocking*, given that 40 years have passed.<br>
<br>
<br>
> On 9 Mar 2024, at 22:31, brianw <brianw@audiobanshee.com> wrote:<br>
><br>
> On Mar 9, 2024, at 8:47 AM, Benjamin Tremblay wrote:<br>
>> Let’s pass usb midi through TOSLINK and call it a day.<br>
><br>
> Don't say that! ;-)<br>
><br>
> USB-MIDI is not MIDI. *<br>
><br>
> Better to say, "Let's pass Classic MIDI through TOSLINK and call it a<br>
> day."<br>
><br>
> Ideally, "Let's pass MIDI over ethernet and call it RTP-MIDI." ... and<br>
> wha'd'ya know, we already have that! Ethernet is generally ground<br>
> isolated, although it's best to design for even better isolation than is<br>
> typical.<br>
><br>
> FireWire is another existing standard for MIDI transport, although<br>
> FireWire is now dead.<br>
><br>
> If you think about all of the other standards that have come and gone,<br>
> it's incredibly impressive that MIDI has lasted 40 years, and modern gear<br>
> can still connect to original gear. There aren't many standards where<br>
> electronic devices from 40 years ago will work with modern equipment<br>
> without some adapter.<br>
><br>
> Brian<br>
><br>
> (*) USB-MIDI converts MIDI messages that are 1 to 3 bytes long into 4-byte<br>
> packets, where the added 4th non-MIDI byte includes redundant type<br>
> information that can unfortunately be inconsistent with the same type<br>
> information in the Classic MIDI message. Yes, I've seen actual USB-MIDI<br>
> implementations where the two types conflict with each other, and there's<br>
> no way to know which type is correct and which is in error. USB-MIDI also<br>
> delays MIDI information by up to 1 ms in the best cases (0.5 ms average),<br>
> even more when the USB Host has scheduling issues, and transmits the<br>
> information without any time stamp that might indicate the timing of the<br>
> original MIDI message before the USB framing delay. Because of all of the<br>
> changes that USB-MIDI introduces, it would be best not to duplicate those<br>
> for non-USB transports like a hypothetical TOSLINK transport. Instead, it<br>
> would be better to follow the precedents set by other alternative MIDI<br>
> transports that the MMA has specified.<br>
><br>
><br>
>> On Mar 9, 2024, at 11:05 AM, Mike Bryant wrote:<br>
>>> Nothing is stopping equipment having USB ground isolation - it's just<br>
>>> never specified.<br>
>>><br>
>>> From: John Speth<br>
>>> Sent: 09 March 2024 15:14<br>
>>><br>
>>> On 3/9/2024 7:00 AM, Benjamin Tremblay via Synth-diy wrote:<br>
>>>> USB is just not ideal for music devices because of the star networking<br>
>>>> pattern. If we could evolve to a point where every usb cable is usb C<br>
>>>> and all connections are peer-to-peer, we could finally sunset five pin<br>
>>>> midi.<br>
>>><br>
>>> Except that 5 pin MIDI has the most excellent ground isolation. We don't<br>
>>> get that with USB MIDI.<br>
><br>
><br>
> ________________________________________________________<br>
> This is the Synth-diy mailing list<br>
> Submit email to: Synth-diy@synth-diy.org<br>
> View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWAa1d11282-3a5a-f15a-7e9c-763c270cca7c" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
> Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWAfe9dfb73-f0b4-fd9c-74dd-9e95aa7816dd" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
> Selling or trading? Use marketplace@synth-diy.org<br>
<br>
<br>
________________________________________________________<br>
This is the Synth-diy mailing list<br>
Submit email to: Synth-diy@synth-diy.org<br>
View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWA17306398-aaa0-9625-2f21-38bdb8945bb6" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWA5f149e74-c24b-39a3-1268-99203ccacb65" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use marketplace@synth-diy.org<br>
<br>
<br>
--<br>
This email has been checked for viruses by AVG antivirus software.<br>
<a href="http://www.avg.com" id="OWAbce6215a-de34-694b-9f5e-7a4bef113738" class="OWAAutoLink" data-auth="NotApplicable">www.avg.com</a><br>
________________________________________________________<br>
This is the Synth-diy mailing list<br>
Submit email to: Synth-diy@synth-diy.org<br>
View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWAee6cbc5d-4e79-65d0-a4d3-ce5d0846c99c" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWA1f971efe-3a5b-6175-0c03-55434712b664" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use marketplace@synth-diy.org</span></div>
<div id="appendonsend"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div dir="ltr" id="divRplyFwdMsg"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Synth-diy <synth-diy-bounces@synth-diy.org> on behalf of Richie Burnett <rburnett@richieburnett.co.uk><br>
<b>Sent:</b> 10 March 2024 11:09<br>
<b>To:</b> Tom Wiltshire <tom@electricdruid.net><br>
<b>Cc:</b> Synth-diy@synth-diy.org <Synth-diy@synth-diy.org><br>
<b>Subject:</b> Re: [sdiy] MIDI Clock sync advice</span>
<div> </div>
</div>
<div><span style="font-size: 11pt;">I thought the frame rate for high speed USB was 125us now, instead of 1ms?<br>
<br>
Even if I got that wrong and MIDI clocks are quantised to 1ms, that isn't so<br>
bad... Most old analogue drum machines quantised the tempo clock and voice<br>
triggers to a 1ms or 2ms "interrupt clock" anyway.<br>
<br>
The issue I think that is most troublesome when "clock doubling" or "clock<br>
quadrupling" is when a whole load of MIDI clock messages arrive bunched up.<br>
That really messes up any instantaneous "clock-to-clock period measurement!"<br>
I've heard that putting MIDI clock on it's own dedicated USB MIDI output<br>
port helps minimise the jitter because there's no other data to queue for<br>
that particular jack but I don't know how successful it is in practice.<br>
<br>
-Richie,<br>
<br>
<br>
-----Original Message-----<br>
From: Tom Wiltshire<br>
Sent: Saturday, March 9, 2024 11:16 PM<br>
To: brianw<br>
Cc: Synth-diy@synth-diy.org<br>
Subject: Re: [sdiy] MIDI Clock sync advice<br>
<br>
The framing delay is why I won't touch USB-MIDI with a 6ft bargepole. The<br>
idea that some super-fast modern protocol has a jitter that is the same as<br>
the latency of an entire MIDI message is just hopeless. That cannot remotely<br>
be seen as progress! USB wasn't designed for this job and it shows<br>
massively.<br>
<br>
A decent UART 5-pin MIDI implementation can still provide better timing,<br>
even at 31.25KHz. That's *shocking*, given that 40 years have passed.<br>
<br>
<br>
> On 9 Mar 2024, at 22:31, brianw <brianw@audiobanshee.com> wrote:<br>
><br>
> On Mar 9, 2024, at 8:47 AM, Benjamin Tremblay wrote:<br>
>> Let’s pass usb midi through TOSLINK and call it a day.<br>
><br>
> Don't say that! ;-)<br>
><br>
> USB-MIDI is not MIDI. *<br>
><br>
> Better to say, "Let's pass Classic MIDI through TOSLINK and call it a<br>
> day."<br>
><br>
> Ideally, "Let's pass MIDI over ethernet and call it RTP-MIDI." ... and<br>
> wha'd'ya know, we already have that! Ethernet is generally ground<br>
> isolated, although it's best to design for even better isolation than is<br>
> typical.<br>
><br>
> FireWire is another existing standard for MIDI transport, although<br>
> FireWire is now dead.<br>
><br>
> If you think about all of the other standards that have come and gone,<br>
> it's incredibly impressive that MIDI has lasted 40 years, and modern gear<br>
> can still connect to original gear. There aren't many standards where<br>
> electronic devices from 40 years ago will work with modern equipment<br>
> without some adapter.<br>
><br>
> Brian<br>
><br>
> (*) USB-MIDI converts MIDI messages that are 1 to 3 bytes long into 4-byte<br>
> packets, where the added 4th non-MIDI byte includes redundant type<br>
> information that can unfortunately be inconsistent with the same type<br>
> information in the Classic MIDI message. Yes, I've seen actual USB-MIDI<br>
> implementations where the two types conflict with each other, and there's<br>
> no way to know which type is correct and which is in error. USB-MIDI also<br>
> delays MIDI information by up to 1 ms in the best cases (0.5 ms average),<br>
> even more when the USB Host has scheduling issues, and transmits the<br>
> information without any time stamp that might indicate the timing of the<br>
> original MIDI message before the USB framing delay. Because of all of the<br>
> changes that USB-MIDI introduces, it would be best not to duplicate those<br>
> for non-USB transports like a hypothetical TOSLINK transport. Instead, it<br>
> would be better to follow the precedents set by other alternative MIDI<br>
> transports that the MMA has specified.<br>
><br>
><br>
>> On Mar 9, 2024, at 11:05 AM, Mike Bryant wrote:<br>
>>> Nothing is stopping equipment having USB ground isolation - it's just<br>
>>> never specified.<br>
>>><br>
>>> From: John Speth<br>
>>> Sent: 09 March 2024 15:14<br>
>>><br>
>>> On 3/9/2024 7:00 AM, Benjamin Tremblay via Synth-diy wrote:<br>
>>>> USB is just not ideal for music devices because of the star networking<br>
>>>> pattern. If we could evolve to a point where every usb cable is usb C<br>
>>>> and all connections are peer-to-peer, we could finally sunset five pin<br>
>>>> midi.<br>
>>><br>
>>> Except that 5 pin MIDI has the most excellent ground isolation. We don't<br>
>>> get that with USB MIDI.<br>
><br>
><br>
> ________________________________________________________<br>
> This is the Synth-diy mailing list<br>
> Submit email to: Synth-diy@synth-diy.org<br>
> View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWAb602c2aa-e3f7-6d7c-6dfe-9785e0a74b6a" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
> Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWA2a1d6393-62eb-aa0d-0a5a-4ec8bd20db25" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
> Selling or trading? Use marketplace@synth-diy.org<br>
<br>
<br>
________________________________________________________<br>
This is the Synth-diy mailing list<br>
Submit email to: Synth-diy@synth-diy.org<br>
View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWA27d75413-2bcc-bc15-e47f-26d5f2362ce4" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWAa9e89311-b548-fdb5-0527-70014f49a0b3" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use marketplace@synth-diy.org<br>
<br>
<br>
--<br>
This email has been checked for viruses by AVG antivirus software.<br>
<a href="http://www.avg.com" id="OWA1c155c4f-6922-577a-7063-42fee9592204" class="OWAAutoLink" data-auth="NotApplicable">www.avg.com</a><br>
________________________________________________________<br>
This is the Synth-diy mailing list<br>
Submit email to: Synth-diy@synth-diy.org<br>
View archive at: <a href="https://synth-diy.org/pipermail/synth-diy/" id="OWAcbbf8f9e-561f-11b2-45ab-a781ea4646ad" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/pipermail/synth-diy/</a><br>
Check your settings at: <a href="https://synth-diy.org/mailman/listinfo/synth-diy" id="OWA82ccbcc2-0fc7-ab65-b6a5-4f517bd09724" class="OWAAutoLink" data-auth="NotApplicable">
https://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use marketplace@synth-diy.org</span></div>
</body>
</html>