Creating Your Own SoundFont with Swami

Swami is available in the Ubuntu Software Center. But first, you will need some samples to import. Hook up a mic to your soundcard, and record individual notes, percussion hits, or sound effects using Ardour and save in wav format. If you are recording individual notes on an instrument, be sure to include the corresponding keyboard note value in the file name for ease in mapping later. Of course, it's not necessary to make new samples - for the purposes of learning to use Swami, any short wav file will do. In the example below, I used sound effects from

Now install and open Swami. Select File/New soundfont, name it, and click the arrow next to the green SF2 icon to see the soundfont's folders. Right-click the Samples folder and upload the wav files you gathered via "Load Samples" menu option. Once the samples are in the folder, highlight them one-by-one, and assign them a Root note in the Properties tab (bottom center of window). If these are tuned samples, make sure the root note corresponds to the pitch of the sample. Now right-click the Instruments folder and create a new instrument. Then simply drag the samples you want into that instrument. At this point, if you press the keys on Swami's virtual keyboard, things won't sound right because all samples default to play over the entire range of the keyboard. Click on the samples within the instrument and narrow the corresponding green bar to agree with the range of keys over which it should sound.


Finally, create a new Preset, and drag the instrument into that Preset. A Preset can have multiple instruments, but at this point, the soundfont is ready to play. Just save it in a dedicated soundfont directory with the .sf2 extension. Note that Swami has a wave editor that can help find the loop point for samples you want to play continuously as long as a controller key is depressed.

Open Qsynth to test the soundfont as an instrument. First import the soundfont to Q1 or Q2 via "Setup/Soundfonts/Open" - navigate to the soundfont folder you created and import the new soundfont. In the Channels tab, double-click next to the MIDI channel you wish to assign to your soundfont, and pick the soundfont from the pop-up list (since this is your first soundfont, it should be the only one on the list!) Make sure all connections are correct in JACK, with the keyboard MIDI going to Qsynth and Qsynth connected to Audio/System.

A soundfont comprised of horror movie sound effects loaded to Qsynth2, set to MIDI channel 1.

For a video tutorial of Swami with a few more details, such as making your soundfont velocity-sensitive, see:

General MIDI

There is a standard mapping of sound banks in MIDI, so that someone composing for, say, a computer game could create a MIDI track and know that the bass line would be played back as a bass sound. If your soundfont has multiple instruments, this could prove a good way to arrange them. You can find the list in the back of this book or here:

UbuntuStudio/AudioHandbook/CreateSoundFontSwami (last edited 2018-06-19 04:11:36 by eeickmeyer)