DrumFix v1.01C Copyright 1991-1992 Thomas J. LeCompte
All Rights Reserved.
Usage: DRUMFIX infile outfile [-m#] [-uFile] [-d#]
-m# is the internal map number
-m1 : Proteus to General MIDI
-m2 : General MIDI to Proteus
-m3 : Proteus to Yamaha
-m4 : Yamaha to Proteus
-m5 : Yamaha to General MIDI
-m6 : General MIDI to Yamaha
(Korg M-1,Alesis HR-16 use Proteus Map)
-uMapfile reads a user-written map file.
-d# is the channel of the drum track. (1-16,default=10)
DrumFix is a program that attempts to solve the problem of every drum
machine having a different mapping of sounds to MIDI events. DrumFix
reads in a standard MIDI file, re-maps the drum sounds to a different
machine, and writes out a second MIDI file. It currently understands
three machines: General MIDI, the Emu Proteus/1, and the Yamaha SY-22.
(The Alesis HR-16 and the Korg M-1 supposedly use the same map as the
Proteus, likewise, other Yamaha equipment probably uses the same map.)
However, DrumFix is also extensible: it can read in a custom drum map
as well, so you can convert from any drum machine to any other. Two
sample custom files are included: SAMPLE.MAP which transposes Proteus
drum parts into a "sane" range of MIDI note numbers (i.e. near middle
C) and GM-PRO.MAP is an external version of the internal General MIDI
to Proteus conversion.
A custom map file looks like this:
; Example.MAP : an example of a custom drum map for DrumFix
; Any line starting with a semicolon is a comment.
; DrumFix will generate a map, so that OldNote -> NewNote
;Old Note New Note
40 88 ...etc...
Notes are MIDI note numbers in decimal; middle C = 60.
1. The input file and output file cannot be the same.
2. Output file name extensions (e.g. .MID) must be specified.
1. Embedded SYSEX data has not been tested.
2. Probably cannot handle Format 2 MIDI files.
1.0 9-21-91 First version
1.01C 6-21-92 Fixes problem with pitchwheel commands causing the file parser
to get out of sync
I am particularly interested in how well the internal maps work.
If you hear anything funny, please let me know - i.e. if what should be a
bass drum is a kazoo, I want to know about it. By the way, there is
no reason that the custom maps are required to be drum maps: you can use
them to transpose, or to change a drum machine part into standard percussion
notation, etc. Finally, any bugs or areas for improvement, please, PLEASE
let me know, preferably via the CompuServe MIDI Forum, section 7.
Legal Stuff: This software is mine. I wrote it mostly for my own use, so
I could listen to MIDI files written for different hardware from my own.
Since I am not the only one in the world with this problem, I thought it
would be useful to share it with others. If you know of someone who could
use this, by all means, share it with them too. However, *selling* it
defeats the whole idea of sharing this with anyone who wants it.
If you feel compelled to send money somewhere, please donate it to
either the Massachusetts Institute of Technology or Northwestern University.
Special thanks to Kevin Weiner; his MIDITools made debugging DRUMFix a
Tom LeCompte CIS: 76711,572
708/357-6246 [email protected]