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

From Brian Willoughby
Sent Sat, Dec 22nd 2018, 02:00

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 macOS 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.)
>=20
> and yes anyone can take advantage of send-ahead timestamping, but
> whether they do is another matter :-)
>=20
> On Fri, Dec 21, 2018 at 4:49 PM Brian Willoughby wrote:
>> AMT-8 support would require a CoreMIDI driver from Emagic or Apple. =
Whether 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=99=
m not aware of any significant changes to CoreMIDI that orphaned any =
prior drivers, but I=E2=80=99m also not aware of whether the AMT-8 ever =
had a CoreMIDI driver.
>>=20
>> At any rate, if there is a CoreMIDI driver then all CoreAudio MIDI =
software would be able to take advantage of Advanced MIDI Transmitter =
features. That=E2=80=99s the beauty of CoreMIDI: They managed to =
implement send-ahead timestamping in a way that=E2=80=99s not specific =
to any particular hardware implementation. Of course, not all apps take =
advantage of this, but those that do shouldn=E2=80=99t be tied to any =
particular hardware.
>>=20
>> If anybody has more information, then please share. I remember =
strongly 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...
>>=20
>> Brian
>>=20
>>=20
>> 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).
>>>=20
>>> not sure whether any drivers or apps still support it (maybe Logic =
as
>>> previously described)
>>>=20
>>>> From: Bruno Afonso
>>>> Date: 7 December 2018 at 13:56:56
>>>> To: Brian Willoughby
>>>> Cc: Analog Heaven, Jason Proctor
>>>>=20
>>>> Brian is right, what is nice about the motu stuff is their =
timestamping. 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 properly test these. I don't have a mio...
>>>>=20
>>>> On Tue, Dec 4, 2018, 22:56 Brian Willoughby, wrote:
>>>>>=20
>>>>> Apple has USB-MIDI Class compliant drivers fully sorted. Apple =
implement every aspect of the specification, where Microsoft Windows =
versions fall 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.
>>>>>=20
>>>>> For my clients, I deliver firmware that supports Windows, because =
it=E2=80=99s a market necessity. Unfortunately, that requires dumbing =
down the feature set to the short list supported by Microsoft. For my =
personal control surfaces and MIDI interfaces, I use firmware that takes =
full advantage of USB-MIDI capabilities, even though these devices only =
work with Mac OS X.
>>>>>=20
>>>>>=20
>>>>> That said, even the USB-MIDI specification is severely lacking. It =
provides no timing information, so precise timing of MIDI events is very =
sloppy. This is a shortcoming of the specification itself.
>>>>>=20
>>>>> What you=E2=80=99re witnessing is that manufacturers like Roland =
and 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 there is no standard for decent MIDI time stamping, =
so there=E2=80=99s no way 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 constantly changing, so I=E2=80=99m not =
really surprised that hardware vendors sometimes fall behind.
>>>>>=20
>>>>>=20
>>>>> 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 to CoreMIDI, applications like Logic can access the precise =
timing of MOTU MTS (MIDI Time Stamping), and presumably whatever it is =
that Roland has to get beyond the limitations of USB-MIDI. Applications =
do not need to be aware of hardware specifics, or variations in the USB =
protocol additions. As long as they support CoreMIDI, and as long as the =
hardware manufacturers provide CoreMIDI drivers in addition to their USB =
drivers, everything works.
>>>>>=20
>>>>> What this means is the Logic can read ahead in your MIDI sequence =
file, deliver the data to the MIDI interface ahead of time in a way that =
circumvents any bandwidth bottlenecks, and then the shared time =
reference allows 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 stamp that is then delivered to the application =
via CoreMIDI in a way that preserves sub-millisecond accuracy. The =
caveat is that you cannot improve real-time passthrough of MIDI data =
because there=E2=80=99s no looking ahead, and thus any bottlenecks in =
bandwidth necessarily introduce latency. In this latter case, you=E2=80=99=
re better off doing MIDI overdubs, with separate record and playback =
passes, rather than attempting to do real-time MIDI manipulation.
>>>>>=20
>>>>> For the technical reasons described above, I recommend MOTU (Mark =
of the Unicorn) MIDI interfaces that feature MTS (MIDI Time Stamping). =
You need to make sure that you install the custom drivers, but it=E2=80=99=
s the only system that doesn=E2=80=99t have serious flaws. (I=E2=80=99ve =
yet to evaluate Roland=E2=80=99s improvements, so perhaps they=E2=80=99re =
on par)
>>>>>=20
>>>>> Brian Willoughby
>>>>>=20
>>>>> 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).