Soundfont Creation - Some questions

• Aug 4, 2023 - 03:00

I am very inexperienced when it comes to soundfont creation, but would love to delve into that world a bit more. The only thing I have done is some very basic percussion soundfonts in polyphone, and even those were not very well done. (They were full of clicks and pops... etc.)

I would really appreciate some help for some of the questions I have, or any links to any places where I could learn about this kind of stuff. To be specific, I am wanting to create sf2 and sfz soundfonts, or really anything that is compatible with musescore (With musescore being the software I will use it with). Here are a few questions I have about this.

  1. The clicks and pops that I mentioned above... How does one go about fixing that? I was experiencing these in a drumline bassline soundfont, with 5 different toned drums. I know it's about samples ending and starting, but if someone could clarify or offer assistance, that would be great!

  2. Round-Robin programming. Is this something that is done when CREATING the soundfont, or is this something done when mapping sounds and all that? I breifly searched and saw mentions of doing that in kontact, fluidsynth, etc... Is this supposed to happen there or inside software such as polyphone (which doesn't support round-robin, which is what I heard. That leads us to the next question.)

  3. Good software? I have only used polyphone, and it seems that is pretty minimal. Maybe I'm going about this the wrong way. If the answer to question 3 is 'Yes, round-robin is created inside software such as polyphone' then software LIKE polyphone will work just fine (except polyphone doesn't have round-robin, so I couldn't use that). If it's no, and round robin is added from players such as kontact, then polyphone will work for my needs.

  4. Dynamic affecting timbres. What I mean is basically, in MuseSounds for example, a F horn playing mp will have a different timbre than a F horn playing ff. How do I do this? Is this done in the software or the player?
    That also poses the problem of a cresendo or decresendo, where the timbre would have to change during playback, which seems really hard to do... How is this done?

I would appreciate any help or sources where I could find answers to these!


You wrote:
I would appreciate any help or sources where I could find answers to these!

Check this out:
it has a ton of information about soundfont creation - from creating samples, to waveform analysis, editing sounds, MIDI specs for instrument numbering, etc.

Regarding "clicks and pops"...
When looping sound samples - or when joining sections of sound together into a single sample - it's important to perform such operations at zero crossover points (where the amplitude momentarily drops to zero). It smooths the transition and improves audible continuity.
(It's analogous to listening to a tune in 4/4 with a pickup measure of a single beat. Looping such a tune without the complementary measure of 3 beats at the end would break the regularity of 4/4 at every repetition; and anyone dancing to such a tune would have to literally "skip a beat" to stay in synch.)

In reply to by Jm6stringer

@JonasEM Soundfont creation is fun, I'm very happy with the results of my little sf3 diy projects in ms3 created using polyphone. Your post however shows common misunderstandings of basic concepts, making it hard for us to answer some questions. hope you find these useful, pls feel free to ask again if problems stay unresolved, preferably at the Playback forum .




To create reponse to dynamics symbols and hairpins (cresendo and decresendo)

  • most sf2/sf3 and sfz mainly relies on loudness change : MIDIVelocity-attenuation and MIDICC2-attenuation
  • to create better result, change timbre by sound data change: MIDIVelocity-sample and MIDICC2-sample
  • study polyphone manual and Soundfont, MIDI velocity and instruments.xml

Ms4 changes

VST; VST host

MuseSounds is not a VST. Its specification is not disclosed (as of Aug 2023)

For "click, LISTEN, edit, repeat" composers interested in instrument sound diy, it might be more beneficial to learn to use a DAW instead.

> clicks and pops

  • make sure
    • A. no jump when joining sound segments in a waveform editor
    • B. no jump at loop moment, check
      • B1. sf2/sf3 "loop start", "loop end" timestamp values. see polyphone manual
      • B2. sound sample data at these moments
    • C. sample starts with easing in from silence
  • you said "5 different toned drum", i suppose drum sound does not need looping, disable looping may rule out problem B , see polyphone manual
  • .wav files can embed loop timestamp data, some waveform editors auto roundoff timestamps by time grid, which leads to wrong data when loading it into Polyphone. Set the waveform editor time grid to "by sample" instead of "by second:minute:hour" to prevent wrong auto roundoff.

edit: added clickspops point C

In reply to by msfp

Awesome! This is just what I needed. Didn't realize there was a playback forum...oops.

I realized pretty quickly after posting this that I didn't realize some key points. I researched some software, kontakt, etc... VST instrument creation sounds really cool, but I think I should start with sf3. Too bad MS4 can't do sfz. Is there a workaround for this? I would really love to get round robin working with custom soundfonts in musescore.
I want to create soundfonts that have round robin programming and also has different timbres triggered by different dynamics and can be used in MS4. (This sounds like it must need to be VST). Is there a software that can do all of that?
Is there a way to have different samples triggered by articulation markings in musescore? This seems like a long shot but would be really cool.

Do you still have an unanswered question? Please log in first to post your question.