TinySoundFont
TinySoundFont copied to clipboard
a voice should be attenuated half of the filter Q value
According to the SoundFont Spec at section 9.1.3, a voice should be attenuated by half of the filter Q (resonance) value:
The resonance is measured as a dB ratio of the resonant peak to the DC gain. The DC gain at any resonance is half of the resonance value below the DC gain at zero resonance; hence the peak height is half the resonance value above DC gain at zero resonance.
Without doing this, presets using filter Q will sound too loud, and high Q values will be painful to listen to.
Here is Audacity showing the filter Q test (Test 10) from the SoundFont Spec Implementation Test (TinySoundFont on top, FluidSynth on bottom):
This shows the following Q values in order: 0, 5, 10, 15, 20, 25, 30, 35, 40, 50, 70, 96. You can see how quickly TinySoundFont's volume gets out of hand as the filter Q is increased.