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

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

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.

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.

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...

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).
>=20
> not sure whether any drivers or apps still support it (maybe Logic as
> previously described)
>=20
> On Fri, Dec 7, 2018 at 9:18 AM Royce Lee wrote:
>>=20
>> I feel like midi timing on mac went through a U shaped curve, where =
its was okay for a while (for me opcode on a beige power pc),then around =
the time of the big blue and white, plastic enclosures (G3,G4) it was =
horrible, and now, it is really quite good.
>>=20
>> During that middle period I always wondered how anybody in the world =
made records.
>>=20
>> On Fri, Dec 7, 2018 at 9:41 AM bloke wrote:
>>>=20
>>> I=E2=80=99m thirding the Mac/MOTU MIDI - just recently I did test =
sending tight 16ths from logic to MIDI synth (in this case Doepfer MIDI =
> CV) recording in the result.
>>>=20
>>> MIDI timing on the mac has been a bug bear of mine since forever =
(well actually post RS-232 serial bus days!) and I was impressed - the =
final key was entering low latency mode in Logic.
>>>=20
>>> No noticable jitter (I had to offset it a little).  This was with a =
really old MOTU FW 828 MKII on a new MBP and a nightmare USB3 -> =
lightning -> FW stack of dongles (=C2=A360!) but worked.  Even MIDI =
clock wasn=E2=80=99t too bad - there is a calculate plug-in latency mode =
in Logic which seems close to usable.
>>>=20
>>> If the USB is as good then I wouldn=E2=80=99t have a problem with =
MOTU stuff.
>>>=20
>>> Alex
>>>=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
>>>>=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).
>=20