Configuration
Configuration can be done via files in the boot partition.
When the SD is inserted in a PC this is the first partition of the mounted device.
If you work from the samplerbox commandline, this first partition is mounted as /boot.
Links given below are examples, please rely on the versions in the distribution.
How to store the samples
The box is shipped with a small builtin samples partition with some basic demo samples and definitions.
You can extend this partition to make it more usable.
You can also use a USB stick to store the samples. Sometimes this stick is not recognized, please read the first dots of Some goodies on the build-it page.
The samples partition must contain folders to contain the patch collections. Foldernames have to start with a number from 0 to 127 followed by a space and a free format description.
This starting number can be changed via the configuration.txt to sync with your device
(some use 1-128 for readability, while actually sending 0-127 and samplerbox can use this 1-128 as well for convenience).
The numbers correspond with the MIDI program numbers. The folder name will be displayed on the optional display up to the limits of that display.
So you can have your patch folders called "0 Piano", "25 Church Organ" and so on. The numbers have to be unique, otherwise the program changes will be ambiguous...
The samples themselves have to be standard WAV files, stereo or mono, 16 bits or 24 bits, commonly at a sampling rate of 44.1 Khz (see FAQ).
Loop markers are recognized, unless when operating in once or onc2 mode.
Per note there may be multiple WAV's: for refining velocity value/timbre and/or for loading different instruments (called "voices") in one sample set.
Notes for which sample WAvs are missing will be generated.
Per patch / sample set the box's behaviour can be changed via optional files within the patch folder (keep in mind this is Linux, so the name is case sensitive):
For more control, the structure of names within this folder can be described using patterns in definition.txt on or more line(s) using keywords in form "%parm" or ",%parm=" and fixed text (wildcards can be used).
Next to these sample details, global keywords in form "%%parm=" on separate lines above the sample definitions can be used to set some general parameters or defaults for the %parms on the detailed sample lines.
See examples here &
here (we have more keywords now),
in 's samples folder, the sample sets shipped with the image and below.
![]() |
The original GrandPiano set uses multiple lines specifying the wav's to be selected with their corresponding fixed velocity value in a 127 steps scale.
Velocity defaults to highest possible value.
%%mode=keyb %%velmode=sample %%velolevs=127 %notenamev4.wav,%velocity=40 %notenamev7.wav,%velocity=60 %notenamev11.wav,%velocity=80 %notenamev14.wav,%velocity=100 %notenamev16.wav |
![]() |
This set shows voices and release. It uses actually one velocity range of the GrandPiano combined with Saw. Piano has fixed release, saw defaults to the longer "preset" value.
%%mode=keyb %%release=100 %%velmode=accurate %notenamev*.wav,%release=30 %midinote.wav,%voice=2 |
![]() |
A demo definition set, which makes it possible to give the loops and fills a self explaining name. Directory on the left is interpreted correctly.
%%mode=loop %%velmode=accurate %midinote*.wav |
Note: if the script crashes, results are unpredictable = LED's are in the state of the crash. As the "systemctl stop samplerbox" forces a crash, the LED's will stay on until you have started the script manually and stopped it with ctrl-C.
Control via the MIDI controller:
Your midi controller device may be capable of sending midi controls via buttons, levers or wheels.
You can use the Configuration files together with the customizable items on the device(s) to enable the available controls to use samplerbox's capabilities.
This samplerbox is configured to recognize next control change messages:
When you connect with a network cable: start your browser, type "samplerbox.<yourhomedomain>"
in the address bar (or use the assigned IP-address) and go !
If you need a fixed IP-address on the wire, this can be assigned in the eth0 entry in wifistatips.txt (what's in a name..).
The builtin WiFi adapter can be used:
The GUI screens are built from building blocks, making it easy to tweak it to your preference. The screenshots on the right give examples of what is possible.
Good to knows:
physical buttons/midi controls will not be changed ofcourse, so if you touch these you're back on the phical status.