Hello Garth,

 

>How does FS interpret SoundFont Preset generators, specifically the VolEnv and 
>ModEnv?

 

>In the SoundFont spec, it seems - and at times explicitly states - that the 
>Preset values are ADDED to the Instrument Values, and are interpreted as Units 
>specified in the spec. From page 45 (2.01 sepc).

 

I could confirm that fluidsynth does what SF 2.01 page 45 states using unit 
specified in the spec (8.1.3 page 37, 38). Generator values at preset level are 
added to instrument generator values. This is true for all generators (except 
for the invalid generators at preset level you read p 45).

 

Because this is often a source of confusion, may be one should consider also 
the rules of precedence of generators in respectives zones at preset level and 
instrument level (page 50, 51):

- One Preset could be composed of more than one zones (one optional global 
preset zone + one or more local preset zone(s) (with one Instrument per local 
preset zone)).

- One Instrument could be composed of more than one zones (one optional global 
instrument zone + one or more local instrument zone(s) (with one Sample per 
local instrument zone)).

- A generator in a local preset zone that is identical to a generator in a 
global preset zone supersedes or replaces that generator in the global preset 
zone. That generator then has its effects

  added to the destination-summing node of all zones in the given instrument.

- A generator in a local instrument zone that is identical to a default 
generator or to a generator in a global instrument zone supersedes or replaces 
that generator. This an absolute replacement

We could consider a global zone (Preset/Instrument) being a convenient way to 
specify generators common to all respectives zones. Then these global 
generators could be superseded individually by an identical generator in the 
respective local zone(Preset/Instrument) if needed. Of course this simplify the 
task of the designer. I could confirm that fluidsynth does what page 50, 51 
state.

 

Unfortunately, I could not confirm what both Vienna and Viena editors are 
doing. I hope that any other user(s) will help. Did you tried Polyphone reading 
and displaying what was edited in Vien(n)a ?

jjc.

 
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to