MidiRip is a tool that can be used for generating a audio sample library from a MIDI-capable synthesizer. You just have to connect the MIDI and audio jacks to your computer and tell the program which patches/banks to rip (and at which pitch).

The tool will then send MIDI-Note-On and -Off events to the device, and record the audio. It will automatically detect silence and then continue with the next sample.


The user interface is very, umm... let's call it "basic".

There are no command line options nor a interface, the tool just looks into the current working directory, reads the three files config.txt, patches.txt and groups.txt and acts upon them. Also relevant is the DRUM_MODE definition (or absence of it) in the source code.



If you want to rip an instrument, then ensure that #define DRUM_MODE is not present in the code; if you want to rip a drum bank, then obviously make it appear near the top of the code.

config.txt in instrument mode


2,4,5,6,7) a1 80 1500, a3 80 1500
8-13) a4 80
14) a3 80
56,57,60-62) a2 120 2000, a3 120 2000

The number(s) before the parenthesis denotes which MIDI patches to rip with the following settings. Value ranges (denoted by a hyphen: -) and multiple values, separated by a comma, are permitted.

After the parenthesis, one or more (separated by comma) statements of the form "NOTE VELOCITY [DURATION] follow. Note is human-readable (a4, c2 etc.), Velocity is a value between 0 and 127, and the optional Duration argument specifies the time between note-on and -off in milliseconds.

config.txt in drum mode

Same format as in instrument mode, except: NOTE is specified as absolute pitch number (a value from 0-127).


This file does only affect instrument mode. Example:

0-7 00Piano
8-15 01Chromatic

Format is RANGE NAME, line by line. All ripped samples are grouped in directories named as specified here.


Specifies the names of the files generated. Example

0 AcPiano
1 BrPiano
2 ElPiano
3 Honkytonk

The format should be obvious :)


MidiRip is available on GitHub or at my own gitweb.