Published Thursday 7. May 2009
Update: The previous version of my converter could in some cases produce strange results for RSC/RSD files generated by Roland instruments in the AT series (such as the AT-900). This problem should be fixed now. If you still experience problems, please contact me. Thanks goes to Henry Rotters for providing examples of the problem.

Update 1st of August 2014: I have tried to implement convertion of System Exclusive events. If you experience any problems with this, please let me know! At the moment, this only applies to the Linux version of the program.

Please note: My converter does not have a graphical interface. The program must be run from a shell / command line / DOS prompt. If you don't know how to do this, consider using my online converter instead.

The program can be downloaded here:
roland2midifor Linux - tested on Ubuntu and Linux Mint
roland2midi.exefor Windows
roland2midi_osxfor Mac OS X
Thanks goes to Markus Untera for the Mac OS X version.

Note: The OS X version is no longer the latest version of the converter; it does not contain the latest bugfix. Without the fix, the converted midi files may contain small "hickups" where some notes are played too early. I have only seen this problem with files from an MT-300 sequencer, though. I don't have a Mac, so I can't compile a new version myself. If you have a Mac and need to convert rsc/rsd files, I would advise you to use the online converter until I get my hands on a Mac.

Usage examples: If you have the files JW50_001.RSC and JW50_001.RSD, run the program from a shell like this:

   roland2midi JW50_001

If the song is called "My song", the program will create a file called "My song.mid".
If the rsc and rsd files does not have the same basenames, you can specify the filenames separately, like this:

  roland2midi -rsc JW50_001.RSC -rsd JW50_001.RSD

And you can choose another name for the output file:

  roland2midi JW50_001 -o mysong.mid

The format of the RSD files vary with different keyboards/pianos. An RSD file is just a list of event records, each of the same size, but the record size is different for different keyboards. For the JW-50 keyboard and the AT-900 organ, the record size is 8 bytes; for the KR-7 and KR-4500 the record size is 6 bytes. It may be that the record size is somehow encoded in the corresponding RSC file, but I have not found it yet. If the converter does not know the record size for a particular RSD file, it will use a record size of 6 bytes. If this is not the right record size, it will produce a lot of "Unknown code" errors and an invalid .mid file. To deal with this, I have added a -recsize parameter to the converter:

  roland2midi KR007001 -recsize 6

If at first the converter returns a lot of "Unknown code" errors, try again with "-recsize 8". I have only seen record sizes of 6 and 8, and I don't think there are others. If you have tried with record sizes of 6,7,8,9,10 and it still does not work, there is probably something else wrong with the file. In that case, send me the RSC and RSD files, and I will see if I can make my converter understand them.

Since most MID players will not let you choose the tempo of the song, I have added a -tempo parameter to the converter. The default value is 100. If you want double tempo use a value of 200, for half tempo use 50.

  roland2midi KR007001 -tempo 200

Please note that my program is still in the beta phase. If you find bugs, please report them to me. I have only tested the program with files from my JW-50, so it may very well fail for files from other Roland keyboards. If you have another type of Roland keyboard, I would be very interested in looking at some of your rsc/rsd files.

If you have used my Roland to MIDI converter, and is satisfied with the result, please consider donating money to me through PayPal by clicking the "Donate" button below. Your donations help cover the costs of hosting my web site, and ensures continued availability of the online Roland to MIDI converter.