Dec 122017
IBM - DrumFix v1.01c Reads in StdMIDI files and remaps drums for a different note setup. Maps for GenlMIDI, Proteus/1 and Yamaha SY-22, or roll your own.
File DMFX101C.ZIP from The Programmer’s Corner in
Category Music and Digitized Voice
IBM – DrumFix v1.01c Reads in StdMIDI files and remaps drums for a different note setup. Maps for GenlMIDI, Proteus/1 and Yamaha SY-22, or roll your own.
File Name File Size Zip Size Zip Type
DRUMFIX.DOC 3582 1727 deflated
DRUMFIX.EXE 18883 11049 deflated
GM-PRO.MAP 2791 584 deflated
GM-PSR47.MAP 3684 1130 deflated
SAMPLE.MAP 3098 780 deflated

Download File DMFX101C.ZIP Here

Contents of the DRUMFIX.DOC file

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
20 68
21 69
39 87
40 88 ...etc...

Notes are MIDI note numbers in decimal; middle C = 60.

Known Shortcomings:
1. The input file and output file cannot be the same.
2. Output file name extensions (e.g. .MID) must be specified.

Possible shortcomings:
1. Embedded SYSEX data has not been tested.
2. Probably cannot handle Format 2 MIDI files.

Revision history:
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]

 December 12, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>