A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Audigy 2 ZS | bismark bs-1/bs-16 v4.1 | DLSMusicDevice (Mac) | FluidSynth 1.1.6 | Jeskola XS-1 | LinuxSampler 2.0.0 | sfz | SynthFont2 v2.0.2.2 | Timidity++ | VirtualMIDISynth 1.16.0 | |||||||||||||||||
2 | 1. volume envelope | attack is linear | ignores delay value | decay incorrect | |||||||||||||||||||||||
3 | 2. modulation envelope | attack is linear | attack is linear wrong mod. amount | attack is linear | ignores delay value attack is linear | attack is linear | attack curve has initial jump | broken / not supported | |||||||||||||||||||
4 | 3. key number to decay | values are inverted | decay amount too exaggerated | ||||||||||||||||||||||||
5 | 4. key number to hold | hold amount too exaggerated | |||||||||||||||||||||||||
6 | 5. modulation LFO | not interpreting values correctly | LFO starts at low point instead of middle | not interpreting values correctly | |||||||||||||||||||||||
7 | 6. vibrato LFO | not interpreting values correctly | LFO starts at low point instead of middle | not interpreting values correctly | |||||||||||||||||||||||
8 | 7. mod wheel to vib LFO | ||||||||||||||||||||||||||
9 | 8. scale tune / root key | ||||||||||||||||||||||||||
10 | 9. filter cutoff | low cutoff = 100 Hz, filter fully open at 8,000 Hz** | cutoff @ 20 Hz = fully open, 50 Hz and up = correct (test doesn't check 21-49 Hz) | filter fully open at 3,000 Hz | filter not very strong, perhaps pole-1? | low cutoff = 100 Hz | filter @ 20,000 Hz quieter than 17,500 Hz | filter fully open at 8,000 Hz | low cutoff = 100 Hz, filter fully open at 8,000 Hz** | ||||||||||||||||||
11 | 10. filter resonance | highest value = 20 dB regardless of setting | highest value = 25 dB regardless of setting no attenuation at higher dB | not interpreting values correctly | no attenuation at higher dB | highest value = 25 dB regardless of setting | no attenuation at higher dB | highest value = 20 dB regardless of setting | |||||||||||||||||||
12 | 11. attenuation amount | 5 = 2 dB | 5 = 2 dB | 5 = 0.5 dB | 5 = 2 dB | 5 = 5 dB | not supported | 5 = 3 dB | 5 = 2 dB | 5 = 1.7 dB | 5 = 2 dB | ||||||||||||||||
13 | 12.a: default velocity to attenuation curve (96 dB concave) | curve a bit too extreme | incorrect curve | incorrect curve | incorrect curve | ||||||||||||||||||||||
14 | 12.b: vel-to-atten curve @ 144 dB concave | ||||||||||||||||||||||||||
15 | 12.c: vel-to-atten curve @ 48 dB concave | ||||||||||||||||||||||||||
16 | 12.d: vel-to-atten curve @ 96 dB linear | ||||||||||||||||||||||||||
17 | 12.e: vel-to-atten curve modulator removed | ||||||||||||||||||||||||||
18 | 13.a: default velocity to filter cutoff curve | *** | always has moderate vel-to-fc curve applied**** | vel-to-fc not supported | no curve by default*** | vel-to-fc not supported | always has moderate vel-to-fc curve applied**** | vel-to-fc not supported | vel-to-fc not supported | vel-to-fc not supported | vel-to-fc not supported | ||||||||||||||||
19 | 13.b: vel-to-fc custom curve | ||||||||||||||||||||||||||
20 | 14. CC1 (mod wheel) to filter cutoff | ||||||||||||||||||||||||||
21 | 15. sample offset | seems to be using wrong values? | |||||||||||||||||||||||||
22 | 16. reverb | instrument reverb not supported, only CC91 | only active when CC91 = 64 or higher? | instrument reverb not supported, only CC91 | instrument reverb not supported, only CC91 | ||||||||||||||||||||||
23 | 17. chorus | instrument chorus not supported, only CC93 | only active when CC93 = 64 or higher? | instrument chorus not supported, only CC93 | |||||||||||||||||||||||
24 | 18. interpolation type | high quality | linear | linear | high quality | linear? | ? | high quality | linear | high quality | linear | ||||||||||||||||
25 | 20. exclusive class | ||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||
27 | * - values are estimated | ||||||||||||||||||||||||||
28 | ** - the filter doesn't seem to close any further than 100 Hz, regardless if it is set lower. The filter appears to be fully open at 8,000 Hz. There is no audible difference between filter values 8,000 and 20,000 Hz. | ||||||||||||||||||||||||||
29 | *** - the Audigy is correct, but the default vel-to-fc modulator is strange, featuring a secondary modulation source (switch) that makes no sense. FluidSynth is right, in my opinion, to leave a default curve out of their implementation, while allowing custom modulators to function normally. | ||||||||||||||||||||||||||
30 | **** - correct according to SoundFont 2.04 spec, but may cause compatibility issues with some SoundFonts due to Sound Blaster filters being fully open at 8,000 Hz. This means that in instruments with high filter cutoff values (11-20 KHz), it is not possible to perceive the filter cutoff changing with velocity on Sound Blaster hardware. My recommendation to SoundFont synth designers is to ignore the default velocity-to-filter cutoff modulator altogether. Read more about this here: | ||||||||||||||||||||||||||
31 | SoundFont Synth Notes and Observations | ||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 |