Open Source MIDISPORT MacOS 64 bit device drivers

Open Source MIDISPORT MacOS 64 bit device drivers

January 12, 2021 35 By leigh

(Above: My well worn, grubby, MIDISPORT 2×2 MIDI to USB interface)

As previous posts on this blog attest, I have a fondness for old synthesisers. Software synths are great, but there’s something about the design decisions that were needed to be made, with the hardware available at the time, that leads to inspiring engagements with these instruments. Nearly all of the models post-1984 are equipped with MIDI, a digital standard for interfacing between different synths and other devices, including PCs. It was the then recently released MIDI specification that drew me as a teenage computer geek to rediscover my love of making music, using synths, and to marry those two passions, which has turned into a wonderful, life changing career.

With the emergence of USB as a standard, MIDIMAN, later named M-Audio, was an early innovative manufacturer who created USB interfaces that would convert the digital MIDI protocol to/from USB. When I joined tomandandy Music Inc. in 1999, to work on an early AI based automated composition system, external MIDI devices were still needed for the synthesis of production quality sounds. The project was developed on NeXTStep/OpenStep, for which I had written a Roland MPU-401 (one of the first PC MIDI interfaces) driver as a contractor for them, before moving to the U.S. An early task was converting the project from OpenStep to run on beta versions of MacOS 10.0.0.

For that, we needed a MIDI interface running on Macintosh hardware, which was equipped with the then new USB hardware, and MacOS X, and tomandandy had some MIDIMAN MIDISPORT devices running on MacOS 9 with their production DAW software (I forget which one, possibly Studio Vision). I wrote a MacOS X version of the MIDISPORT device driver back in 2000, based off of the Apple code example (no documentation) and donated it to M-Audio. M-Audio took the code and updated it many times for many versions of MacOS X, releasing it to the public until 2009. However, they didn’t provide me with their updated source code (I couldn’t release it under GPL to force them). M-Audio now have abandoned the hardware and no longer support their version of the driver since 2009, as their newer devices do not use that driver.

That’s understandable – music technology companies are typically not large enterprises, and it’s a very hard business case to make, to support hardware that is no longer sold with software updates. For those companies that do continue to do that, for example FocusRite with their Saffire FireWire audio interfaces, I truly salute them. To M-Audio’s credit, their last released driver v3.5.3 worked with all new MacOS X releases to v10.14. But with the move by Apple, beginning with v10.14 (Mojave) and exclusively on v10.15 (Catalina), to no longer support 32 bit drivers, the M-Audio driver will no longer work on the new operating systems.

Since musicians tend not to be flush with cash to throw out perfectly good hardware because of a lack of software support, I have modified and updated my original code that was donated to M-Audio, to now compile as 64 bit versions on these latest MacOS versions, so MIDISPORT owners can continue to support and operate their hardware on the newer versions of MacOS. The code has been released as open source under the liberal MIT License. I hope this small contribution can help people continue to make music with old synths and share it with the world.