send-sds provides utilities for sending SDS (MIDI Sample Dump Standard) files to samplers from Linux using the ALSA MIDI API.
sudo apt-get update
sudo apt-get install libsndfile1-dev sndfile-tools libasound2-dev alsa-utils
sudo dnf install alsa-lib-devel libsndfile-devel
# For sndfile-convert on Fedora:
sudo dnf install libsndfile-utils
make
sudo install send-sds /usr/local/bin
If you just type send-sds
at the command line now you should see a brief help message:
send-sds 2010.10.23
usage: send-sds <alsa-device> <channel-num> <sample-num> <sds-filename>
You must have sndfile-tools
and alsa-utils
already installed, since we will be using sndfile-convert
and amidi
.
sndfile-convert foo.wav foo.sds
Connect your Elektron Machinedrum to your computer via a MIDI interface and run:
amidi -l
Take note of the Device
column for the device you want to send an audio sample to.
For example, if your Elektron Machinedrum is connected to the computer via an Elektron TurboMIDI interface the output would look something like this:
Dir Device Name
IO hw:1,0,0 Elektron TM-1 MIDI 1
In this case, hw:1,0,0
is the device you will send data to.
send-sds hw:1,0,0 0 2 foo.sds
Note there is a small SDS file checked into this repo that you can use for testing.
If you want to test with this file, try:
$ send-sds hw:1,0,0 0 2 layered_finger_snap_mono.sds