Sound font files

Don posted Jun 9 '15, 00:03:

Would it be feasible to process an .sf2 sound font file to produce your sampler format?

I have some instrument sound fonts that I would want to use in samplerbox, but they are in existing sound font file format.

joseph posted Jun 9 '15, 01:16:

If you want to extract WAV files from a SF2, here is a way to start:

  • Install this soft
  • File > Import Soundfont, then choose your SF2 file
  • File > Save As, then save it as SFZ. Choose Save the samples > Yes.
  • You'll have the WAV files in the output folder!
Netanel posted Jun 9 '15, 21:30:

Please note that usually these samples will be short lengthed. A sampler which uses soundfont files will automatically loop them.
According to Joseph, looping is supported in samplerbox by default. you could use the following softwares:

Sony Sound Forge
Or the opensource Audacity
I have not yet tested the Audacity method, but it should work. by using both these methods (exporting as wav files and looping them) you could virtually port ANY SF2 library.

Don posted Jun 19 '15, 03:57:

While trying to figure out the .sf2 file format I came across discussions about the .sfz format which has superceded .sf2.

AFAIK, which is not much, the .sfz format uses raw .wav files and a text file of directives. Which sounds similar to samplerbox.

Does it make sense for samplerbox to use a sub-set of the. sfz format instead of inventing its own format?

One problem is that, although the .sfz format is open and license-free, there does not seem to be a freely available definition of the format. It is apparantly defined in a physical book: Cakewalk Synthesizers by Simon Cann.

This link provides an outline of the format:

joseph posted Jun 19 '15, 09:01:

I know it's very annoying to not support existing formats (such as .sfz and .sf2) and start and (n+1)th format ;) But really I prefer to start something fresh (based on more than 10 years of experience with all these formats), and short...

An example: here is the definition.txt file in SamplerBox format, for a banjo sample-set:


Now here is exactly the same definition file in .sfz format:

// Dynamic: piano (normal)
<region> pitch_keycenter=57 lokey=57 hikey=57 sample=/Instruments/Banjo/piano/A3.wav
<region> pitch_keycenter=69 lokey=69 hikey=69 sample=/Instruments/Banjo/piano/A4.wav
<region> pitch_keycenter=81 lokey=81 hikey=81 sample=/Instruments/Banjo/piano/A5.wav
<region> pitch_keycenter=58 lokey=58 hikey=58 sample=/Instruments/Banjo/piano/A#3.wav
<region> pitch_keycenter=70 lokey=70 hikey=70 sample=/Instruments/Banjo/piano/A#4.wav
<region> pitch_keycenter=82 lokey=82 hikey=82 sample=/Instruments/Banjo/piano/A#5.wav
<region> pitch_keycenter=59 lokey=59 hikey=59 sample=/Instruments/Banjo/piano/B3.wav
<region> pitch_keycenter=71 lokey=71 hikey=71 sample=/Instruments/Banjo/piano/B4.wav
<region> pitch_keycenter=83 lokey=83 hikey=83 sample=/Instruments/Banjo/piano/B5.wav
<region> pitch_keycenter=48 lokey=48 hikey=48 sample=/Instruments/Banjo/piano/C3.wav
<region> pitch_keycenter=60 lokey=60 hikey=60 sample=/Instruments/Banjo/piano/C4.wav
<region> pitch_keycenter=72 lokey=72 hikey=72 sample=/Instruments/Banjo/piano/C5.wav
<region> pitch_keycenter=49 lokey=49 hikey=49 sample=/Instruments/Banjo/piano/C#3.wav
<region> pitch_keycenter=61 lokey=61 hikey=61 sample=/Instruments/Banjo/piano/C#4.wav
<region> pitch_keycenter=50 lokey=50 hikey=50 sample=/Instruments/Banjo/piano/D3.wav
<region> pitch_keycenter=62 lokey=62 hikey=62 sample=/Instruments/Banjo/piano/D4.wav
<region> pitch_keycenter=74 lokey=74 hikey=74 sample=/Instruments/Banjo/piano/D5.wav
<region> pitch_keycenter=51 lokey=51 hikey=51 sample=/Instruments/Banjo/piano/D#3.wav
<region> pitch_keycenter=63 lokey=63 hikey=63 sample=/Instruments/Banjo/piano/D#4.wav
<region> pitch_keycenter=75 lokey=75 hikey=75 sample=/Instruments/Banjo/piano/D#5.wav
<region> pitch_keycenter=52 lokey=52 hikey=52 sample=/Instruments/Banjo/piano/E3.wav
<region> pitch_keycenter=64 lokey=64 hikey=64 sample=/Instruments/Banjo/piano/E4.wav
<region> pitch_keycenter=76 lokey=76 hikey=76 sample=/Instruments/Banjo/piano/E5.wav
<region> pitch_keycenter=53 lokey=53 hikey=53 sample=/Instruments/Banjo/piano/F3.wav
<region> pitch_keycenter=65 lokey=65 hikey=65 sample=/Instruments/Banjo/piano/F4.wav
<region> pitch_keycenter=77 lokey=77 hikey=77 sample=/Instruments/Banjo/piano/F5.wav
<region> pitch_keycenter=54 lokey=54 hikey=54 sample=/Instruments/Banjo/piano/F#3.wav
<region> pitch_keycenter=66 lokey=66 hikey=66 sample=/Instruments/Banjo/piano/F#4.wav
<region> pitch_keycenter=78 lokey=78 hikey=78 sample=/Instruments/Banjo/piano/F#5.wav
<region> pitch_keycenter=55 lokey=55 hikey=55 sample=/Instruments/Banjo/piano/G3.wav
<region> pitch_keycenter=67 lokey=67 hikey=67 sample=/Instruments/Banjo/piano/G4.wav
<region> pitch_keycenter=79 lokey=79 hikey=79 sample=/Instruments/Banjo/piano/G5.wav
<region> pitch_keycenter=56 lokey=56 hikey=56 sample=/Instruments/Banjo/piano/G#3.wav
<region> pitch_keycenter=68 lokey=68 hikey=68 sample=/Instruments/Banjo/piano/G#4.wav
<region> pitch_keycenter=80 lokey=80 hikey=80 sample=/Instruments/Banjo/piano/G#5.wav

// Dynamic: forte (normal)
<region> pitch_keycenter=57 lokey=57 hikey=57 sample=/Instruments/Banjo/forte/A3.wav
<region> pitch_keycenter=69 lokey=69 hikey=69 sample=/Instruments/Banjo/forte/A4.wav
<region> pitch_keycenter=81 lokey=81 hikey=81 sample=/Instruments/Banjo/forte/A5.wav
<region> pitch_keycenter=58 lokey=58 hikey=58 sample=/Instruments/Banjo/forte/A#3.wav
<region> pitch_keycenter=70 lokey=70 hikey=70 sample=/Instruments/Banjo/forte/A#4.wav
<region> pitch_keycenter=82 lokey=82 hikey=82 sample=/Instruments/Banjo/forte/A#5.wav
<region> pitch_keycenter=59 lokey=59 hikey=59 sample=/Instruments/Banjo/forte/B3.wav
<region> pitch_keycenter=71 lokey=71 hikey=71 sample=/Instruments/Banjo/forte/B4.wav
<region> pitch_keycenter=83 lokey=83 hikey=83 sample=/Instruments/Banjo/forte/B5.wav
<region> pitch_keycenter=48 lokey=48 hikey=48 sample=/Instruments/Banjo/forte/C3.wav
<region> pitch_keycenter=60 lokey=60 hikey=60 sample=/Instruments/Banjo/forte/C4.wav
<region> pitch_keycenter=72 lokey=72 hikey=72 sample=/Instruments/Banjo/forte/C5.wav
<region> pitch_keycenter=84 lokey=84 hikey=84 sample=/Instruments/Banjo/forte/C6.wav
<region> pitch_keycenter=49 lokey=49 hikey=49 sample=/Instruments/Banjo/forte/C#3.wav
<region> pitch_keycenter=61 lokey=61 hikey=61 sample=/Instruments/Banjo/forte/C#4.wav
<region> pitch_keycenter=73 lokey=73 hikey=73 sample=/Instruments/Banjo/forte/C#5.wav
<region> pitch_keycenter=85 lokey=85 hikey=85 sample=/Instruments/Banjo/forte/C#6.wav
<region> pitch_keycenter=50 lokey=50 hikey=50 sample=/Instruments/Banjo/forte/D3.wav
<region> pitch_keycenter=62 lokey=62 hikey=62 sample=/Instruments/Banjo/forte/D4.wav
<region> pitch_keycenter=74 lokey=74 hikey=74 sample=/Instruments/Banjo/forte/D5.wav
<region> pitch_keycenter=86 lokey=86 hikey=86 sample=/Instruments/Banjo/forte/D6.wav
<region> pitch_keycenter=51 lokey=51 hikey=51 sample=/Instruments/Banjo/forte/D#3.wav
<region> pitch_keycenter=63 lokey=63 hikey=63 sample=/Instruments/Banjo/forte/D#4.wav
<region> pitch_keycenter=75 lokey=75 hikey=75 sample=/Instruments/Banjo/forte/D#5.wav
<region> pitch_keycenter=87 lokey=87 hikey=87 sample=/Instruments/Banjo/forte/D#6.wav
<region> pitch_keycenter=52 lokey=52 hikey=52 sample=/Instruments/Banjo/forte/E3.wav
<region> pitch_keycenter=64 lokey=64 hikey=64 sample=/Instruments/Banjo/forte/E4.wav
<region> pitch_keycenter=76 lokey=76 hikey=76 sample=/Instruments/Banjo/forte/E5.wav
<region> pitch_keycenter=88 lokey=88 hikey=88 sample=/Instruments/Banjo/forte/E6.wav
<region> pitch_keycenter=53 lokey=53 hikey=53 sample=/Instruments/Banjo/forte/F3.wav
<region> pitch_keycenter=65 lokey=65 hikey=65 sample=/Instruments/Banjo/forte/F4.wav
<region> pitch_keycenter=77 lokey=77 hikey=77 sample=/Instruments/Banjo/forte/F5.wav
<region> pitch_keycenter=54 lokey=54 hikey=54 sample=/Instruments/Banjo/forte/F#3.wav
<region> pitch_keycenter=66 lokey=66 hikey=66 sample=/Instruments/Banjo/forte/F#4.wav
<region> pitch_keycenter=78 lokey=78 hikey=78 sample=/Instruments/Banjo/forte/F#5.wav
<region> pitch_keycenter=55 lokey=55 hikey=55 sample=/Instruments/Banjo/forte/G3.wav
<region> pitch_keycenter=79 lokey=79 hikey=79 sample=/Instruments/Banjo/forte/G5.wav
<region> pitch_keycenter=56 lokey=56 hikey=56 sample=/Instruments/Banjo/forte/G#3.wav
<region> pitch_keycenter=68 lokey=68 hikey=68 sample=/Instruments/Banjo/forte/G#4.wav

As I really want something fast (a sample-set should be done in 2 minutes, not more), I don't want to support these very verbose formats, for which you need a third-party software to write definition files.

Don posted Jun 19 '15, 16:08:

Fair enough and point taken.


Mike posted Jan 1 '17, 10:29:

SF2 matches idea of "drop samples and just play" perfectly.
There is a lot of sf2 free soundfonts around, and typical user probably has tons of that files or can obtain them easily in a minute, in cause if he does not want actually to create a new preset, but just copy something to the card and play. Not everyone is actually going to make preset from the scratch.
Please consider supporting sf2 - because without it you drop a very typical use case.

stef posted Apr 13 '17, 13:49:

I must say i pretty agree with Mike.
Both support would be great actaully ;-)

D Sound posted Sep 4 '17, 00:09:

Hi! Great project!
Is possible play for example use SoundFount of FluidSynth?
If yes, how to?

Glenn posted Sep 12 '17, 23:48:
LLPDM posted Sep 20 '17, 08:24:

According to the manual, it is natively supported

Download sample-sets
There are a number of free instruments available for download on the SamplerBox website.
SFZ SoundFont packages currently have limited support, but they should work. There are many free downloads available on the web.



  (not published)
  I want to post as guest