Zerberus (SFZ) instruments are too quiet compared to SoundFont instruments

• Jul 18, 2018 - 06:39
Reported version
2.3
Type
Functional
Severity
S4 - Minor
Status
closed
Project
Tags
Priority (old)
normal
Status (old)
closed
Component (old)
Code
Category (old)
bug report

It was brought to my attention that the new percussion sounds (MuseScore DrumLine) are too quiet compared to the instruments provided by the default SoundFont. MuseScore DrumLine plays through Zerberus whereas the default SoundFont plays through FluidSynth. This led me to investigate whether there was a volume disparity between the two synths, and indeed there is: a single, unattenuated sample in Zerberus plays approx. 4.533 dB quieter than the same sample in FluidSynth.

Trying to adjust for this disparity by boosting samples in the SFZ file leads to clipping, so we really need to adjust the volume at the synthesizer output level.

I have attached a project that plays the same sample with identical settings through both FluidSynth and Zerberus. They should play at the same volume, but the Zerberus sample is quieter. Instructions for loading the samples are written at the top of the MuseScore project.

BTW, if we fix this for the next MuseScore release, it might mess with the SFZ mixer levels that people have set in their existing projects. In this case, perhaps MuseScore could detect when an older project is being loaded and adjust the mixer level of each staff containing an SFZ instrument to compensate for the change.

Attachment Size
Zerberus_volume_test_04.zip 79.04 KB

Comments

I see the following comment in code:

//afterwards 0.5 (-6dB) is applied to compensate possible coherent
//signals in a stereo output see http://www.sengpielaudio.com/calculator-coherentsources.htm

Fixed in branch 2.3.2, commit b29ceb84fe

fix #274258, fix #274396: implement global_volume and attenuate Zerberus

Attenuated Zerberus to be 4.5dB louder.

add global_volume=-4.5 value to the unit test to prevent failing and
testing new opcode