Doc Home About Build Config More

What is it

An open-source audio sampler DYI project based on RaspberryPi with goal: This has been extended with, amongst others: Start

Quick start

The rest of this site will give extensive information of all the options/usage and ways to tweak/extend.
In order to keep it a bit readable, lots of extra info is "hidden" in links or clickable images. So if at first glance you didn't find what you're looking for, keep on clicking !


Please see Obtaining samples, at the bottom of that page you'll find some search hints.

audio waveform png from Features of samplerbox (loop, backtracks, release samples and more) rely on extensions of the wav format, unsupported by mp3. So the internal format must adhere to wav standards.
...but mentioned features are optional, so if I don't use them that's no stopper...
You're right, but:
Converting of mp3 samples to wav format on load time will be possible, but would add to memory usage and sample load time. So this is trade off between convenience when making sample sets or convenience and resources at run time.
On top of that I expect confusion = questions on the forum "I can't get this feature working".
Converting samples is easy and hey: it's DIY and free.

On current image, it does not start. This is obvious, as the hardware has significantly changed - this is also why you want to use this PI-4. However the usual rpi-update does not help (enough).
Current approach is quite specific and hard to adapt to newer hard/software. For my PI-4 I'm working on a different approach which should have less compatibility issues. It looks promising, but is quite an effort: relax & stay tuned...
For the other models: for the 3A+ I received an unconfirmed signal it worked after an rpi-update. In general: I hope most will be covered via the different approach.
Confused I know of four published/documented ones and will explain/link to those in order of appearance:
  1. The one that started all: Joseph's version. It has a downloadable image with source code on GitHub.
  2. Next came my fork, with documention plus downloadable image to be found here and source code on GitHub.
  3. After that came Erik's fork which he called "samplerbox2" with needed components on his documentation site.
  4. Fourth in line was Alex with a downloadable image, documentation on readthedocs and source code on GitHub.
    This one and the original are referred to on the Facebook page.
NoSound That's not OK, but some more diagnose information is needed as it usually works.
Items you might check (you may have to start in debug mode): If you still can't find it, refer to the for help.
You may have found a bug, please describe your observations, even the ones seeming unrelated.

Samplerbox logic is: use attached USB stick/drive and if not present, use the internal space. The presence and contents of USB device is checked at startup and with the "new usb" GUI button.

The image is limited in size to ease distribution with a samples partition of 128Mb, only fit for a limited demo/test.
You can enlarge this partition and subsequently store your samples there, avoiding a USB stick/drive. Enlarging within the samplerbox is explained in the build page. But you can use your PC too using your favorite disk partioning program. Filesystemtype must not be changed!

Filling/changing the contents can be done via either:
- Inserting the SD in a PC and mount the last partition to do your things..
- Starting the box normally
    - Remount the "/samples" in rw mode directory see Commandline access and debugging.
    - Access the box via an sftp program (= using the ssh-protocol) and do your things..
    - Remount "/samples" in ro mode, or (better) reboot (any way, don't just poweroff!)

Please read about multi timbral devices in "More info".
If you own a keyboard with drumpad sending on the drumchannel=10 and which be reprogrammed to use the master channel, you can keep this pad as part of the master keyboard by using the Keyboards with drumpads technique. This can be handy if you want to use the pads as controller buttons - but do read the referred paragraph and 2 subsequent paragraphs as it is a bit complex.
In general you can always stop via "all-notes-off" controller button if you've defined that (you should!).
Having said that: possible causes of this behaviour might be:
Distortion Usually this is because of input volume of DAC being too high. In general input WAV's should never be louder than -6dB. However: Other items having impact: Bottom line: a safer value would be -12dB. If your editor does not show dB's: -6dB usually shows as 50% or 0.5, -12dB shows as 25% or 0.25 etcetera.
Adapting all WAV's is tedious, so you'd better use the %%gain or %gain parameters. I prefer %gain as these issues are sample related.
The box has a peak limiter implemented, which can be turned on to make life easier. However it's still recommend to tune the volume reasonably well as continuous limiting will negatively impact sound quality - it's meant for peaks only.

Please also read Controlling the volume as input volume is not the only link in the chain.
Next FAQ about clicks&plops closely relates to distortion.
This can be either be plain distortion (see previous FAQ) or CPU issues.
CPU issues can arise when playing very fast (much note-on/off - think of the multiplication of notes when using autochord and/or chorus).
The table in Effects & audio filters gives a full overview of the effects and related CPU impact.
Please note that new versions are developed on PI3B+ without testing on lower hardware versions.
Also note there is a relation with setting blocksize to a low value (see the "sample rate" FAQ).
Last but not least: using GPIO (e.g. the hardware buttons) hijacks CPU cycles; it is advised to operate the buttons during silence.
Latency As a rule of thumb, the latency between different musicians who want to play together should be <25-30ms. Even without any electronics, there will always be some latency as the speed of sound is relatively low. The latency of two (acoustic) musicians standing 5m away from each other would be already 5m / 343 m/s = 0.0145s = 14.5ms.
Samplerbox adds 10-14msecs to this when using the distributed image with its default values.
The "variable part" 0-3+ msecs is due to speed of play and usage of (auto)chord, chorus, release length and play mode.
The "fixed part" of 10+ msecs can sometimes be optimized depending on the DAC and the way you play: Some considerations as there is more than above internal technique:
Creative Commons BY-SA 3.0 Joseph, see credits, started it under Creative Commons BY-SA 3.0.
Wikipedia translates the text to a diagram.
As for my additions, I added the Beerware license as a commercial purpose is allowed :-)

To start of with the donations:
This is strictly a hobby project for me and since I have a steady day-time job there is no need for donations.
But still many thanks for considering it !

Other contributions are very welcome and may have various appearances:

You can use the for communication. Since you can supply your mailaddress there, we can even start a mailexchange via the normal way. For spam reduction I don't want my mailaddress on the site - that's all.

And obviously, GitHub was made for exchange.

NoInfo It may be covered in the links of the "Quick start" above (maybe dig a layer deeper).
You can also try the More info page .. plus the rest of this site.
If you're still stuck, please refer to the for help.

Creative Commons BY-SA 3.0

Play with: Midi-controllers

Connect native MIDI with: USB midi interface

Produce audio with: USB Audio interface


The box in a specific setup

DIY in its purest form

Impressive test=demo