Software to start creating virtual instruments

A few weeks ago I started to dive into creation of “digital” instruments to use them in any DAW (Cubase, in my case), or even as playback sound font for MuseScore, for example.

I got quite disappointed. I did not find what I was searching for. There is Steinberg’s HALion (expensive, really complex) and Native Instruments' Kontakt (even more expensive), and EXS24 for Logic Pro But with neither of them it is possible to create or export instruments in a format which can be distributed for free so that it can be used by others without a Cubase, Logic or Kontakt license.

I really like the UI of the instruments AmpleSound is providing. To achieve this, I assume they have a custom VST code base or framework which is shared by all their instruments.

I spent some time researching what is possible and what is already existing. So I decided to write it down, to remember it later.

SFZ Format

  • Free
  • VST and standalone application available: Sforzando
  • Documented: SFZ Format
  • Sfz files have to be written manually, there is no UI to build your instrument
  • No packaged format: An sfz is just a text file referring to audio files

Soundfont 2 (sf2)

DecentSampler

Decent Sampler Cover

I am not the only one looking for an instrument format which can be shared easily: DecentSampler, created by David Hilowitz is a response.

  • Free
  • XML Format, similar approach as SFZ
  • VST with graphical UI and custom controls for your instrument available
  • Files have to be written manually, there is no UI to build your instrument

sf-creator

I wrote a little helper python application to automate my steps to create a sound font and do the mapping of the notes automatically based on the note names in the filename. In the project’s README I collected there some more technical information of tools and libraries with similar or complementary approaches. SFZ and DecentSampler are supported for now as output files.

Compatibility and conversion options

Kontakt to SFZ

Kontakt to DecentSampler

SF2 to SFZ

  • Sforzando can read sf2 files and save them as SFZ

DecentSampler to SFZ

  • Not possible yet, but should be quite easy to implement.

SFZ to SF2

More about writing and reading sf2: github.com/paulwellnerbou/sf-creator#sf2-support