How to create soundfonts that work with the new crescendo playback of MS 3.1.

• Apr 19, 2019 - 16:17

I've tried beta release of MS 3.1 and I've noticed that crescendo playback works only with those soundfonts marked with "Expr."
What are the differences between creating a normal sf or a sf with "Expr"?
I'd like to create some brass soundfonts that work with crescendo playback because the existing sfs are not satisfying for me.

Thanks for your replies.


In reply to by Ziya Mete Demircan

I tried this, and it didn't work quite consistently. When it did actually work (with the most recent beta), the soundfont didn't seem to actually use different samples for lower volumes- it would just make it quieter and quieter, making quiet dynamics nearly impossible to hear.

On a second attempt, it didn't work at all- nothing changed.

It's particularly bad with, say, a piano concerto- the orchestra is fine, but the piano is just awful.

In reply to by Ziya Mete Demircan

I don't think this video solves the problem Ispil mentioned, here you are using a consistent-sounding instrument while the problematic cases are piano/timpani/... which have very different timbre along the way from ppp to fff. Since you changed to "non-expressive" the timbre sounds in ppp are exactly the same as in fff, so even though the instrument is playing in a very quiet dynamics it still produces harsh/shrill sound, which is really bad for the ear.

In reply to by Ziya Mete Demircan

I'd really like to know exactly what it is that they did to the musescore HQ soundfont that made it work well with whatever code they've added for single note dynamics. With the soundfont I use (a version of GeneralUserGS with instruments added by me) it seems like it sets the velocities to something loud and it makes quiet passages sound really off sometimes. I'd just like to see all these excellent soundfonts that are out there be able to take advantage of this new feature

In reply to by Ajlewis3008

It is absolutely unhealthy to make all other fonts useless (by default) , inventing a nonsensical and nonfitting procedure, instead of using a simple and standard CC#11.

CC#7 and CC#11 combination is a standard system existing since 1996 and works even with the most primitive soundfonts.

cites from: Complete MIDI v0.1, Detailed Specification (1996); The MIDI Manufacturers Association, Los Angeles, CA

"Findings: Note surprisingly, all hardware respondents said that their devices were continuous. There were two cases in their hands. The recommended volume of CC#7 (volume) and CC#11 (expression) was used by MIDI. Roland uses the same response curve, and other Japanese manufacturers.

Of the 20 software respondents, all used CC#7 and 11 use CC#11. The largest number of software respondents (6) said they used CC#7 for dynamic expression during music playback. In 2 other cases, CC # 11 was set to a preset level and kept there."
...cite end here.

It is not a good idea to use CC#02 breathing control from the beginning. Because procedure is different (used like: velocity > aftertouch).

"Devices such as wind controllers can send Aftertouch from increasing breath pressure after the initial attack. The type of tone modification created by the Aftertouch is determined by the receiver. Aftertouch may be assigned to affect volume, timbre, vibrato, etc."
...cite (opere citato)

Strange inventions (such as: "Constant velocity; Use CC#02 (or CC#11) for dynamics") just create problems.
See what the MIDI spec says:

cite ...
Volume, Expression & Master Volume Response
Volume (CC # 7) and Expression (CC # 11) should be implemented as follows:
CC#7 is used (CC#11 is assumed #127 which):
 L (dB) = 40 log (V / 127) // where V = CC # 7 value

For situations in which controllers are used:
L (dB) = 40 log (V / 127 ^ 2) // where V = (volume x expression)
... cite (op. cit.)

A clearer formulation:
L (dB) = 40 log ((V * E) / (127 ^ 2)) // where V = volume and E = expression
If you eliminate the "40log" portion of this formula, the code for velocity and expression remains in your hand. ((V*E) / (127 ^ 2))

And the response of the software and keyboards/sound-modules should also be adjusted and measured.


CC#7 CC#11 amplitude 
127   127   0.0dB    
 96   127  -4.8dB    
 64   127 -11.9dB    
 32   127 -23.9dB    
 16   127 -36.0dB    
  0   127  -inf.     
CC#7 CC#11  amplitude
  127   96   - 4.8dB
  127   64   -11.9dB
  127   32   -23.9dB
  127    0   -inf.
   64   64   -23.9dB
   32   96   -28.8dB

...cite (op. cit.)

1996-2019 🤦‍♂️🤷‍♂️

It's a long message, and I know most of you aren't interested in that.
I keep writing it in vain; I'm sorry.

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