Sostenuto pedal, portamento, legato mode,

Hi @zynthianers!

FYI, i’ve added support for sostenuto pedal in several engines:

  • FluidSynth
  • LinuxSampler
  • Pianoteq
  • ZynAddSubFX (this already had support from time ago)

You can, for instance, use the learning for using your sustain pedal, replacing the default “sustain” assignement (CC#64) by the “sostenuto” (CC#66).

FYI, sostenuto is slighty different to “sustain” and allow to “effects” that you can’t do with sustain. Try pushing a “bass” chord and before releasing, push sostenuto. Then, release the chord keys while maintaining the sostenuto pedal and play some notes … As you can see, the sostenuto pedal maintain the notes you had pushed before, but not the notes after … interesting :wink:

Also, i’ve added Portamento controls to Linuxsampler: Be warned! it doesn’t work with most of SFZs but it works with most of GIGs soundfonts.

FYI, portamento was added to FluidSynth some days ago too :wink:

Finally, i added the “legato” switch to FluidSynth. You can think of it as a “Mono on/off” …



really lacking volume ADSR and velocity sensivity knob in all sampler engines …
This is my dream…

Sorry, but this is not possible currently because Fluidsynth and LinuxSampler doesn’t support Real-Time ADSR . They lack an “envelope generator”, so the only way of adjusting ADSR is editing the SoundFont …

Well, this is not completely true. If you use LinuxSampler with GIG soundfonts, ADSR and many more options are avalable, but it’s not currently not implemented on zynthian because most of available soundfonts are SFZs. Take a look to the huge difference of features supported by LinuxSampler depending on the file format:

The Linux Sampler Project

Perhaps we should start “porting” some of the most interesting soundfonts from SFZ to GIG.
I would be really pleased of implementing the extended GIG controllers on Zynthian-UI …

There is another option, that is using the LinuxSampler NKSP scripts for adding ADSR (or whatever we want) to the SFZs. But it’s a LS specific extension, and perhaps is not mature enough. Anyway i tested some time ago (a simple echo script) and it worked like a charm! :wink:

Regarding SF2, i don’t understand why FluidSynth lacks a simple ADSR envelope generator. Perhaps we could do some research and push a little bit …


1 Like

GIG format is one of my two favorite sample formats, i use my GIGs on zynthian…
The main advantage of GIG is a single file for the entire instrument along with samples.

I removed all the extra layers and converted the Salamander Grand Piano to a GIG…
…removing layers is caused by limiting the polyphony of the Linux sampler.


I’ve been doing some research …

The way of getting ADSR (and much more!) on SF2 soundfonts is using “modulators”. You can define convenient modulators using Polyphone or any other SF editor with wupport for SF 2.01.
There are a few “standard” modulators, but doesn’t include ADSR, so we have to define extended “modulators” for every soundfont we want. I’m trying to find a way of “extracting” this info from the SF, so we can auto-map this into zynthian UI.

Regarding LinuxSampler, seems to be very similar. ADSR are not included as “standard modulators” and must be defined per soundfont…

I would like to make the effort, but i would like to have some good soundfonts with well-defined extended modulators that i can use for testing and for including as example.



@jofemodo does it make sense to distribute those with our image instead