jacksampler is a JACK based sampler, which plays sample files depending on JACK midi input.
JackSampler supports playing multiple instruments; the user can switch the active instrument using the keyboard while JackSampler runs. For each instrument, an ascii based configuration file determines which sample is played for which note. JackSampler chooses the nearest sample if no exact match can be found, and plays that sample slower or faster so that the sample will have the right frequency which corresponds to the midi note.
For each instrument, a configuration file can contain multiple entries for samples, looking like this:
sample 24 grand-piano/c1a.wav
sample 31 grand-piano/g1b.wav
sample 36 grand-piano/c2.wav
For relative paths, files are assumed to be in the same directory the config file is stored in; for absolute paths, the full path is used for loading the sample.
There are two additional configuration parameters; one is the time jacksampler uses to fade out the sample on note release in milliseconds. A configuration entry could look like this:
Also there is the possibility to delay the release, so that after the note off event is received, a delay occurs until the note is really faded out, a sample entry looks like this:
Lines starting with a # are ignored. JackSampler also interprets the sustain pedal by not releasing notes if the sustain pedal is on, postponing their release until its off again.