Sunday, December 18, 2016

Getting a Roland/Edirol UM-1X and Windows 10 64-bit to Work Together

About ten years ago I found myself in need of a hardware MIDI solution for my Windows XP machine.  At the time I had a Sound Blaster X-Fi in the machine, but it did not have a hardware MIDI IN and OUT port.  The add-on that would add these ports was very expensive at the time, but I needed a hardware MIDI solution to use my Roland MIDI modules such as the CM-500 I had at the time.  A less expensive solution was a USB MIDI interface, so I decided to buy one.  The one I bought was the Edirol/Roland UM-1X, and it was not particularly inexpensive but I figured I needed a good quality solution for non-GM devices like the MT-32.

The UM-1SX is the same interface as the UM-1X but you need to plug in your own MIDI 5-pin cables.  There were earlier UM-1 and UM-1S, which appear to function identically to the UM-1X and UM-1SX except they do not have the Advanced Driver Switch on them.  After the UM-1X is the UM-1EX, which adds a switch for toggling MIDI OUT and MIDI THRU functionality and the UM-2EX, which adds a second MIDI OUT.  After the 1EX and 2EX came the UM-ONE and the Roland UM-ONE mk2.  The UM-ONE mk2 is the only one of these products which is not discontinued.  The ONE and the ONE mk2 are the only one of these interfaces that have Windows 10 drivers.  The rest have drivers only until Windows 8/8.1.




The Edirol/Roland UM-1X (courtesy of musiciansfriend.com)

The XP driver install for the UM-1X was a bit weird for a USB device because it requires you to start the installer, then plug in the interface.  Also, if I recall correctly, if you unplug the interface, you needed to restart your machine to get it working again.  Despite its quirks, the interface worked perfectly with the LA synthesis portion of the CM-500 and later my CM-64, CM-32L and MT-32. DOSBox would use it without difficulty, as would Windows Media Player.  I also used it when I built a newer PC with Windows 7 for a while, but when I became more interested in vintage systems, I put the interface away for several years.

For no particularly compelling reason, I decided to retrieve the UM-1X from the bin I had stored it in to see whether I could get it working with my current PC, which runs Windows 10.

In my Windows 10 machine, when I plugged the interface into any of my motherboard's USB ports, Windows refused to recognize it, giving an error message that it could not recognize the device.  I tried following the instructions given here, http://johnwarburton.net/blog/?p=25289, but unless I could get beyond the error message, they were no help.

I no longer have my Windows XP machine, but I do have its successor, which originally ran Windows 7. Now the older computer runs Windows 10 and when I plugged it into its motherboard ports, Windows recognized it and installed its own driver.  Feeling encouraged, I plugged it back into my current Windows 10 machine and got . . . the same error as before.  I happened to have a USB hub connected to my machine, so I tried it in one of its working slots.  Lo and behold, Windows 10 recognized it right away.

I concluded that for basic functionality you do not need Roland's drivers in Windows 10, except possibly for the ONE series.  If you plug a UM device into a compatible USB port, Windows 10 will automatically recognize it as a USB MIDI interface.  Installing the Roland driver using the instructions given above was not necessary.  In fact, installing the Roland driver may be more of a hindrance than a help.

The next issue is using a MIDI device with Windows 10.  Windows' MIDI Mapper has existed in some form or another since Windows 3.0 MultiMedia Edition.  MIDI Mapper allows you to assign the MIDI device to any hardware you may have connected to your PC like a UM-1X and any software emulators you may have installed like the Roland Virtual Sound Canvas, Yamaha S-YXG50 or MUNT.   Microsoft's default selection in the MIDI Mapper is for its "Microsoft GS Wavetable Synth", a decent Roland Sound Canvas emulator.  However, in Windows 8 Microsoft eliminated the MIDI Mapper and all programs that support MIDI will use the "Microsoft GS Wavetable Synth" option unless the program supports selecting a MIDI device.  Sequencer software should support selecting devices, but media players may not.

DOSBox does support allowing you to use any MIDI device you have attached to your computer, and you can see which devices Windows reports to it with by typing the mixer /listmidi command in DOSBox's DOS command line prompt.  You take the number you want for the device you see and enter it in the midiconfig= line in the DOSBox.conf file.  DOSBox will output MIDI to an MT-32 or SC-55 using the UM-1X.  It will even work with a Yamaha FB-01, but you will probably need a bug-fixed FB01.DRV driver found here : http://www.vogons.org/viewtopic.php?f=57&t=36023&start=220#p362874 or will have to start the game twice with a recent DOSBox SVN.  You can play large MIDI files, like the ones hosted at the Quest Studios Archive, using a recently developed player called DOSMid : http://www.vogons.org/viewtopic.php?f=24&t=44947.  It can also be used to transmit .syx files, which are often required for MT-32 soundtracks.

As far as native Windows MIDI players are concerned, another Windows 3.0 MME stalwart, Windows Media Player, is probably your best option.  WMP plays anything in a MIDI file, including system exclusive messages embedded in MIDI files.  The larger Quest Studio complete soundtrack files will not give any troubles to WMP.  However, if you want WMP to use anything other than the Microsoft GS Wavetable Synth, you will need some 3rd party help.  Programs that exist to allow you to select the default device for Windows Vista and 7 (a feature Microsoft removed from the Control Panel) will not work with Windows 8-10 because Microsoft removed the remainder of the MIDI Mapper.  (My old tutorialFortunately, the CoolSoft MIDIMapper was released earlier this year that will let you set the default device in Windows 8-10.  You can find the latest beta as of this writing here : http://www.vogons.org/viewtopic.php?f=8&t=33814&p=506173&hilit=midi+mapper#p516509

VLC media player has had a rather troubled relationship with MIDI.  MIDI output support was available for Windows version 1.1.0 to 2.0.8.  2.0.8 was released on August 16, 2013 and the current official version of VLC is 2.2.4 from June 2, 2016.  I recall that VLC had issues with larger MIDI files.  MIDI returns to some extent in the 3.0 Nightly Builds in that it will playback MIDI using a SoundFont you load in the program's preferences menu.  It does this by incorporating FluidSynth, an interface which can playback MIDI files through a SoundFont.  But that is the extent of its MIDI playback capabilities.

So, having established that the MIDI Out works in Windows 10 with its built-in Roland UM-1X driver, what about MIDI In?  Some time ago, I finally figured out how to dump custom patch banks and construct MIDI files : http://nerdlypleasures.blogspot.com/2014/03/working-with-mt-32-yamaha-fb-01-midi.html  Dumping patch banks requires a functional MIDI In, so I had the basis for a test. I used a program called SendSX from 2001.  It can be found as Send Sysex at Quest Studios Archive : http://www.midimusicadventures.com/queststudios/mt32-resource/utilities/ and it works with 64-bit versions of Windows.  It was successfully able to dump the patch banks of my MT-32, which shows that the basic driver is as functional as just about anyone who reads this blog would ever need.  This can be convenient for people trying to grab patch banks for non-Sierra games (since most of them are already available).  Just load the game in DOSBox, quit DOSBox (DOSBox does not handle MIDI In) and use SendSX to dump the patch memory of your module.

One issue I had is that the UM-1X seems to fall asleep if you neglect using it for too long.  If that happens, close all your programs and then open SendSX.  If SendSX can open the UM-1X, then you will have awakened your UM-1X for other programs, but you must quit SendSX first.

Finally, I recommend using Roland USB MIDI Interfaces for one very important reason.  Roland's devices will transmit System Exclusive Messages to external MIDI devices.  System Exclusive Messages are how patch banks are transmitted to the MT-32 and FB-01, making them crucial for DOS games supporting those units.  While not crucial for most General MIDI devices, MIDI data that was designed and optimized for playback on the Roland Sound Canvas may also transmit System Exclusive Messagesebay .  A cheap, no-name brand USB MIDI Interface may not transmit System Exclusive Messages, giving a severely compromised sound.  In fact, someone recently asked me for advice because his ebay "cheapie" USB-2-Midi would work with his MT-32 and SC-55mkII but refused to work with his FB-01 and DOSBox.  He bought a Roland UM ONE mk2 and when he used the Roland interface his problem was instantly solved, the FB-01 worked perfectly.

2 comments:

Dr. Zeissler said...

I ran into an issue with the UM-One-MK2. I wanted to use this on my g4-MacMini with ScummVM 1.6 under OSX 10.3.9. to connect my mt-32 with it. The UM-One-MK2 USB-Midi Interface only supports OSX 10.4 an up, but I will stick to 10.3.9 for several reasons. Even another USB Driver will not work: https://www.macupdate.com/app/mac/11730/usb-audio-driver

Can You recommend another roland USB2Midi Device that will work with 10.3.9 ?
Thx!

Anonymous said...

Thanks again! Excellent read and I'm glad the Roland solution worked for the FB-01. -Artex