Re: [AH] Alternatives to the UM-880 USB-MIDI interface?

From Jason Proctor
Sent Sat, Dec 22nd 2018, 02:26

no it's my fault for not being clearer.

idk whether the AMT-8 works with the class compliant drivers included
with OS X. i've always used a driver specific to the AMT and Unitor.
also idk whether the send-ahead feature works as i don't use Logic and
don't know whether Live implements it (i suspect not).


On Fri, Dec 21, 2018 at 6:02 PM Brian Willoughby
<xxxxxx@xxxxxxxxxxxx.xxx> wrote:
>
> Hmm, I didn=E2=80=99t see anything specific to CoreMIDI, custom drivers, =
or the send-ahead features.
>
> Florian said, =E2=80=9Cworks like charm=E2=80=9D - but I assumed that was=
 using the standard USB-MIDI Class compliant driver that is built in to mac=
OS and which works with all USB-MIDI Devices.
>
> Your messages raised more questions about this elusive feature than they =
answered - other than assurance that the AMT-8 has basic functionality.
>
> Maybe I lost some messages with more details.
>
> Brian
>
>
> On Dec 21, 2018, at 4:53 PM, Jason Proctor <xxxxx@xxxxxxx.xxx> wrote:
> > as Florian and I mentioned earlier in the thread, the current AMT-8
> > driver works fine with later operating systems. (Sierra, here, at
> > least.)
> >
> > and yes anyone can take advantage of send-ahead timestamping, but
> > whether they do is another matter :-)
> >
> > On Fri, Dec 21, 2018 at 4:49 PM Brian Willoughby wrote:
> >> AMT-8 support would require a CoreMIDI driver from Emagic or Apple. Wh=
ether CoreMIDI has changed since such a driver was written, and whether it =
would still work on a modern OS is the real question. I=E2=80=99m not aware=
 of any significant changes to CoreMIDI that orphaned any prior drivers, bu=
t I=E2=80=99m also not aware of whether the AMT-8 ever had a CoreMIDI drive=
r.
> >>
> >> At any rate, if there is a CoreMIDI driver then all CoreAudio MIDI sof=
tware would be able to take advantage of Advanced MIDI Transmitter features=
. That=E2=80=99s the beauty of CoreMIDI: They managed to implement send-ahe=
ad timestamping in a way that=E2=80=99s not specific to any particular hard=
ware implementation. Of course, not all apps take advantage of this, but th=
ose that do shouldn=E2=80=99t be tied to any particular hardware.
> >>
> >> If anybody has more information, then please share. I remember strongl=
y considering the AMT-8 for its features, but settled on the MOTU MTP-AV =
=E2=80=9CMIDI timepiece=E2=80=9D with SMPTE. Not that I=E2=80=99ve actually=
 used the thing in decades...
> >>
> >> Brian
> >>
> >>
> >> On Dec 7, 2018, at 9:43 AM, Jason Proctor wrote:
> >>> fwiw, the Emagic AMT-8 and Unitor interfaces implemented send-ahead
> >>> timestamping way back when (hence the name Advanced MIDI Transmitter)=
.
> >>>
> >>> not sure whether any drivers or apps still support it (maybe Logic as
> >>> previously described)
> >>>
> >>>> From: Bruno Afonso
> >>>> Date: 7 December 2018 at 13:56:56
> >>>> To: Brian Willoughby
> >>>> Cc: Analog Heaven, Jason Proctor
> >>>>
> >>>> Brian is right, what is nice about the motu stuff is their timestamp=
ing. Drivers can be finicky at times. I'm curious to know about the timing =
of the newer mio offerings... with a uC or smart oscilloscope one could pro=
perly test these. I don't have a mio...
> >>>>
> >>>> On Tue, Dec 4, 2018, 22:56 Brian Willoughby, wrote:
> >>>>>
> >>>>> Apple has USB-MIDI Class compliant drivers fully sorted. Apple impl=
ement every aspect of the specification, where Microsoft Windows versions f=
all short. I know this because I have designed USB-MIDI hardware and found =
out the hard way where the OS support for the USB-MIDI specification stops.
> >>>>>
> >>>>> For my clients, I deliver firmware that supports Windows, because i=
t=E2=80=99s a market necessity. Unfortunately, that requires dumbing down t=
he feature set to the short list supported by Microsoft. For my personal co=
ntrol surfaces and MIDI interfaces, I use firmware that takes full advantag=
e of USB-MIDI capabilities, even though these devices only work with Mac OS=
 X.
> >>>>>
> >>>>>
> >>>>> That said, even the USB-MIDI specification is severely lacking. It =
provides no timing information, so precise timing of MIDI events is very sl=
oppy. This is a shortcoming of the specification itself.
> >>>>>
> >>>>> What you=E2=80=99re witnessing is that manufacturers like Roland an=
d MOTU are trying to improve on USB-MIDI by providing a non-class-compliant=
 implementation that adds the missing precision. The problem here is that t=
here is no standard for decent MIDI time stamping, so there=E2=80=99s no wa=
y for an OS to ship a class compliant driver. The result is that users must=
 download drivers from the manufacturer and install them before things will=
 work well. That=E2=80=99s a difficult task when operating systems are cons=
tantly changing, so I=E2=80=99m not really surprised that hardware vendors =
sometimes fall behind.
> >>>>>
> >>>>>
> >>>>> Note that there is a standard for better-than-USB-MIDI performance =
on macOS. It falls under the umbrella of Apple=E2=80=99s CoreMIDI. Thanks t=
o CoreMIDI, applications like Logic can access the precise timing of MOTU M=
TS (MIDI Time Stamping), and presumably whatever it is that Roland has to g=
et beyond the limitations of USB-MIDI. Applications do not need to be aware=
 of hardware specifics, or variations in the USB protocol additions. As lon=
g as they support CoreMIDI, and as long as the hardware manufacturers provi=
de CoreMIDI drivers in addition to their USB drivers, everything works.
> >>>>>
> >>>>> What this means is the Logic can read ahead in your MIDI sequence f=
ile, deliver the data to the MIDI interface ahead of time in a way that cir=
cumvents any bandwidth bottlenecks, and then the shared time reference allo=
ws the MIDI interface to transmit the MIDI data at the precise time it was =
authored for. In the other direction, incoming MIDI is marked with a time s=
tamp that is then delivered to the application via CoreMIDI in a way that p=
reserves sub-millisecond accuracy. The caveat is that you cannot improve re=
al-time passthrough of MIDI data because there=E2=80=99s no looking ahead, =
and thus any bottlenecks in bandwidth necessarily introduce latency. In thi=
s latter case, you=E2=80=99re better off doing MIDI overdubs, with separate=
 record and playback passes, rather than attempting to do real-time MIDI ma=
nipulation.
> >>>>>
> >>>>> For the technical reasons described above, I recommend MOTU (Mark o=
f the Unicorn) MIDI interfaces that feature MTS (MIDI Time Stamping). You n=
eed to make sure that you install the custom drivers, but it=E2=80=99s the =
only system that doesn=E2=80=99t have serious flaws. (I=E2=80=99ve yet to e=
valuate Roland=E2=80=99s improvements, so perhaps they=E2=80=99re on par)
> >>>>>
> >>>>> Brian Willoughby
> >>>>>
> >>>>> On Dec 4, 2018, at 11:02 AM, Jason Proctor wrote:
> >>>>>> still a little disappointed that operating systems didn't get MIDI=
 sorted ages ago and we still have driver compatibility nonsense happening =
this far down the line (and i say this as a developer).