Open Source MIDISPORT MacOS 64 bit device drivers
(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.
Thanks ! Works flawlessly with m-audio midiman/uno 1×1 (MacOs Big Sur 11.1)
I’ve now upgraded to Big Sur v11.2.1 myself and verified everything works there too.
It doesnt work on Ventura 13.3.1, after installation the “midi server doesn’t work”.
I am having a problem with the installation of the midisport.pkg on my system (Mac Mini (late 2012) with dual drives (ssd & hd) running macOS 10.14.6). I have followed the instructions on the README.md file and manually removed the old M-Audio files before installing the midisport.pkg. Following this the plugin and configuration files are found in their correct locations but the firmware downloader and firmware files are not installed. I cannot find the files via a spotlight search or the folders shown in the file paths – `/usr/local/libexec/MIDISPORTFirmwareDownloader` or `/usr/local/etc/midisport_firmware/`. Does the installer package create these folders and sub-folders or do they need to be created beforehand?
I have repeated the process several times and also installed the M-Audio v3.5.3 DMG file in my downloads folder but the result is always the same.
I would appreciate any help you can provide.
Sorry to hear you are having problems. Generally, the best place to raise issues is on the GitHub issues page so all users can see the problem. However, to answer your question, the installer (hopefully you are using v1.2.0?) will create the /usr/local/etc/midisport_firmware folder, and attempt to download the MIDISPORT firmware from the Linux project. Even if it can’t download that file (typically if you do not have the internet connected to your Mac), there should at least be one file in that folder: /usr/local/etc/midisport_firmware/MIDISPORT_devices.xml. In order to check those, you may have to use the Command-Shift G combination in the Finder to open /usr/local/etc and look for the midisport_firmware folder. If that folder doesn’t exist after running the installer, it sounds like something is failing during installation. In that case, when you run the package Installer.app, you can select Window->Installer Log (or run Command L) to display a log of the installation. Select “Show All Logs” for the Detail Level within the Installer Log window. Then when you accept the License agreement and the installation runs, you can check for messages in the log which may reveal where the problem is. If it’s not clear, please raise a ticket on the GitHub issues page and paste the install log contents with your issue.
Thanks for taking the time to reply to my question.
Apologies for the schoolboy error in not realizing that, by default, Apple hides yet another level of file structure in it’s ongoing project to infantilize it’s user base.
The installer (yes v1.2.0) I can now see has installed all of the files in the correct folders as described in the README document.
When I plug in the device (midisport 1×1) I can see that the MIDISPORTfirmwaredownloader does appear in the activity monitor app (briefly). The USB light on the device does pulse slowly and continuously. Unfortunately it still does not appear in the audio MIDI Setup app.
As an aside, one way to verify the firmware downloader is running is within the Terminal.app to run:
ps aux | grep MIDISPORT
which should show if the daemon is running in the background, whereas the activity monitor will only show the daemon if it’s consuming CPU cycles. The pulsing LED also indicates the device is being recognized & the firmware is downloaded.
You mention the files are installed in the correct folders, which should include
/Library/Audio/MIDI Drivers/MIDISPORT.plugin. Please check if you have other MIDI drivers installed into that folder? Mojave (v10.14) has a feature/bug where if both 32 bit and 64 bit MIDI plugins are installed, the 32 bit drivers are loaded and the 64 bit drivers are not loaded. I encountered this with Roland’s USB MIDI driver for the SY-1000, where that driver was 64 bit, but M-Audio’s 32 bit MIDISPORT driver (which runs on Mojave) would load and prevent the Roland driver from loading. This was the impetus for me to develop the 64 bit MIDISPORT driver. Using System Information.app (accessible via the Apple->”About this Mac”->”System Report” menu, check under “Software” and “Legacy Software”, and look under “MIDI Drivers”. If you see any drivers listed, those are preventing the 64 bit driver from running.
There are two possible solutions: If you need the other 32 bit MIDI drivers running, continue to use M-Audio’s 32 bit driver with Mojave, although when/if you upgrade to Catalina and beyond, all of those 32 bit drivers will no longer function. Otherwise, remove them, or replace them with 64 bit versions, such that there are no 32 bit drivers. Then the 64 bit MIDISPORT driver (and any other 64 bit MIDI drivers) should work.
There was indeed an old midi driver in the folder along with the MIDISPORT.plugin. Having removed it the midisport now appears in the “audio MIDI setup” app and everything works as it should. Thanks again for your help and persistence in saving viable hardware for premature obsolescence.
Hi Leigh. Thanks so much for your Midisport 64-bit driver for Macbook pro running OS 10.15.7 Catalina.
I have a (hopefully quick) question! :
It works fine but on first use each time after a computer shutdown there is a 2-second delay from pressing a key to hearing a note on the DAW (Logic Pro 10.6).
The hack is to unplug the Midisport from the USB hub (Belkin USB C / TB3) and plug it back in. After that an some flashing of LEDs it works fine. I can’t find any non-physical way of fixing this issue to avoid the daily unplug/replug
Is that because it’s downloading it’s firmware each time?
I’m assuming you are seeing the USB LED pulsing (indicating that the firmware was downloaded, you don’t indicate which model you are using?) prior to first sending a MIDI stream to the MIDISPORT (i.e by pressing a key on a MIDI keyboard) after computer reboot? Certainly for many of the models (1×1, 2×2, 4×4), the firmware does get downloaded each time you unplug and replug the USB cable to the MIDISPORT and the USB LED will slowly pulse when the MIDISPORT has it’s firmware running. So that’s the first thing to identify, if the MIDISPORT is having it’s firmware downloaded on rebooting the computer? One thing to test is if you can send MIDI to the MIDISPORT (even if you don’t have a synth attached, you should see the MIDI out LED flash) after reboot? If that happens, and you play the keyboard and you get the 2 second delay, that’s a further issue to track down. I see you’ve logged the issue on the GitHub Issues page, and I’ll respond further there, as that’s a better forum to track such issues.
I had given up on using my M-Audio Radium61 keyboard with my new M1 MacBook, but when I found your solution for the MIDISPORT devices it gave me hope… I know Radium61 is not listed as a supported and tested device… but it looks very similar to the Oxygen 8 keyboard! 🙂 So I installed your project as described and checked that all files ended up were intended – but with no effect.
I see that Radium61 is included in the “Linux driver effort” and I had “MIDI_USB_OSX_3.5.3.dmg” in my Downloads folder but with my limited knowledge I can’t understand the significance of that…
Can you maybe explain if there is any chance my Radium61 will come to life with your driver or any future update of it?
Thank you for your efforts regarding the lifetime of hardware!
The main question as to whether the Radium61 will work is to first understand the type of firmware in it. As you say, it may be very similar to the Oxygen 8. One way to begin sleuthing that is to use the Apple System Report (Click the Apple Menu -> About This Mac -> System Report -> Hardware -> USB) to check the USB device tree, and look for a “Composite Device” which when clicked on, should show some details like Product ID, Vendor ID (which should be 0x0763 M-Audio), and Version. If you can post here or preferably, on the GitHub issue tracker, we can see what is required to get it working. First, if indeed, it operates with the M-Audio specific protocol, not as an USB MIDI class compliant device, and second if it needs firmware downloaded.
Thank you for your quick and helpful reply! I posted the requested info as a new GitHub issue!
I just want to say a big thank you! After I have upgraded my Mac to OS 13.2 Ventura, the old 3.5.3 driver that was running under Mojave did not work anymore. I have found your driver on github and I have installed it. Now my good old Midisport 4×4 works again! I am very grateful!
I haven’t yet upgraded to macOS 13, so it’s good to know that it seems to be working ok for you. I recently released v1.3.1 which addressed issues some people were having in downloading firmware for the Oxygen 8 and some other devices.
Which version of the driver did you use?
I am running Ventura on a new Mac Mini and cannot get it to work.Any additional setting to use, or enebla/disable some security features? (I am using a Midisport 8×8)
Hi man, I just came to say a big thank you, I just update my imac to Monterey from Big Sur and the previous midisport driver crashed all my system, I was looking for 2 days what was happening and at the end when I found it I was trying to find a driver to work and I came to your driver that was a huge relief, you saved me from a format that I was ready to do. Thanks again!
Another Thank You here! The old Midisport USB Uno was kaput on Catalina, but I reverted to the Midisport 2×2 with your package and it works like a charm. Learning curve was researching the Terminal commands to delete the protected /System files…
Please send me the drivers for the MIDISPORT 2×2 for Mojave Mac
Please find v1.3.1 files, along with earlier versions, available for download at SourceForge. Please read the README for the installation process. For the MIDISPORT 2×2, you will not need to download the optional old M-Audio driver.
Just wanted to say thanks!!
Can’t believe my 20 year old midi interface is now working again with an M1 Pro Mac….
How did you do?
Thanks for you help Leigh, however I’m still trying to get the Midisport to light up and get going. I had to send the Mac Mini back to for OS reload, and now trying to get it back on track. I will keep you updated. Again…thanks!
Hi Leigh, I followed the instructions from https://github.com/leighsmith/midisport-macos
1. Download MIDI_USB_OSX_3.5.3 in “downloads” folder
2. Download and execute MIDISPORTDriver-v1.2.0.pkg
3. After installation, the usb led from my Midi Sport 4×4 interface turned on
.When I try to open “Midi Studio”, it show me the message “The midi server cannot be opened, try uninstall ….”
.I Had to delete the file that was in the folder “/library/audio/Midi drivers” to be able to use midi.
.The usb led from my midisport 4×4 is still turned on but my mac doesnt recognize the hardware.
Mac M2 pro
os x ventura 13.3.1
The latest version of the open source MIDISPORT driver is v1.3.1, which addresses a number of problems running on recent versions of MacOS. I would recommend downloading v1.3.1 and installing that as the first thing to try?