Directories in the root folder containing SAMPLER.INI file are considered as containing sample sets. Sampler.ini file is a human readable plain text file, the syntax is as following, and is subject to develop. Also, please, note that some parameters are parsed, but not implemented yet.
- Due to using fixed strings, a line length shouldn't exceed 252 symbols.
- Quotes are not used.
Booleanvalues can be represented by the following strings: yes, no, true, false, 1, 0, y, n, noneIntegervalues should be numbers with no commas or points, i.e. 127 or -1Floatvalues should contain a point, e.g. 127.0 or -1.001Stringsare used without quotes. Leading and trailing spaces are trimmed. E.g. value ofparam = a b cwould be parsed as "a b c"
Comments are started with a sharp sign (#) or a semicolon (;)
This section contains global parameters:
- title =
string - type =
melodicorpercussive - normalized =
boolean enveloped =no longer supportedboolean- amplify =
float - max_voices =
integer - limit_same_notes =
integer - attack_time =
float - decay_time =
float - release_time =
float - sustain_level =
float
This section describes how the WAV files are self-mapped basing on the info parsed out of their filenames
- template =
string<NAME>- note name in sharp (#) or flat(b) notation, i.e. both Eb and D# are valid<OCTAVE>- octave number<MIDINOTE>- midi note number (eithernote name and octaveormidi numbershould be used, not both of them)<NUMBER>- parsed, but not used for now: i.e. some numbers initially used for naming, sorting or whatever<VELO>- velocity layer<INSTR>- instruments names (mostly percussion) used in filenames, initially they are collected from this ini file- all other elements without brackets will be treated as some constant string delimeters
- e.g. for the files named like
065_F#2_Mid.wavwe would usetemplate = <NUMBER>_<NAME><OCTAVE>_<VELO>, where065is some number (unused),F#is the note name,2is an octave number,_are just separators, andMidis a velocity layer
- velo_variants =
comma separated strings- we list the variants that are present in the filenames e.g.
velo_variants = Soft,Mid,Hard
- we list the variants that are present in the filenames e.g.
- velo_limits =
comma separated integers- optional, we list the upper limits of each velocity layer e.g.
velo_limits = 40,96,127
- optional, we list the upper limits of each velocity layer e.g.
You should provide either
- name =
string- note name in sharp (#) or flat(b) notation, i.e. both Eb and D# are valid or borders: - first =
string- first note of the range - last =
string- last note of the range Here is the supported parameters list: - instr =
string- this should be the instrument names used in your samples' filenames - noteoff =
boolean- if the note/range is triggered by noteOff events - speed =
float- 'tuning' - attack_time =
float- ADSR attack time - decay_time =
float- ADSR decay time - release_time =
float- ADSR release time - sustain_level =
float- ADSR sustain level [0.0 .. 1.0] - limit_same_notes =
integer- limits number of simultaneous same notes
- notes =
comma separated strings- exclusive groups are used to imitate the behavior of real instruments, e.g. only one of "closed hat" or "open hat" can sound at a time. Example:notes = F#1, G#1, A#1