Subject: Re: MuseScore's default SoundFont is broken (Was: Re: musescore does not play sounds (Not a valid SNDFILE* pointer))

From: Leo Prikler <[email-masked]>
Date: Wed, 28 Jul 2021 19:31:11 +0200

Hi,

Am Mittwoch, den 28.07.2021, 18:33 +0200 schrieb Giovanni Biscuolo:
> > > So it seems that also fluidsynth is not able to load that
> > > SoundFont
> > > [1]
> > Ah, yes, I recall not being able to load that font with FluidSynth
> > as
> > well.  Back then I thought it was an error in FluidSynth, but it
> > does
> > appear to be an issue with the SoundFont then if not even MuseScore
> > loads it.
> 
> Please are you reproducing the same error?
> 
> I tried installing musescore3 (v. 3.2.3) from Debian stable and AFAIU
> that SoundFont is loaded (with a lot of warnings):
> 
> --8<---------------cut here---------------start------------->8---
> 
> Loading soundfont: /usr/share/mscore3-
> 3.2/sound/sf3/MuseScore_General.sf3
> Loading soundfont: /home/giovanni/MuseScore3/SoundFonts/GeneralUser
> GS v1.471.sf2
> SoundFont(/home/giovanni/MuseScore3/SoundFonts/GeneralUser GS
> v1.471.sf2) Sample(Grand Piano-D1) start(0) startloop(35640)
> endloop(70786) end(70787) smaller than SoundFont 2.04 spec chapter
> 7.10 recommendation
> [...]
> Loading soundfont: /usr/share/mscore3-
> 3.2/sound/sf3/MuseScore_General.sf3
> SoundFont(/usr/share/mscore3-3.2/sound/sf3/MuseScore_General.sf3)
> Sample(Flute F#5) start(0) startloop(19435) endloop(29952) end(29955)
> smaller than SoundFont 2.04 spec chapter 7.10 recommendation
> [...]
> 
> --8<---------------cut here---------------end--------------->8---
> 
> musescore installed from Debian plays sounds using
> MuseScore_General.sf3
Ah, but that's Debian's MuseScore_General.sf3.  Those two could be
different for all we know.  Did you binary diff them or did you try
using the SoundFont from the Guix installation with Debian's MuseScore?

> [...]
> 
> > > Could it be a bug in some library?
> > If so, then it's two different libraries,
> 
> AFAIU the error
> 
> --8<---------------cut here---------------start------------->8---
> 
> Sample::decompressOggVorbis: open failed: Not a valid SNDFILE*
> pointer.
> 
> --8<---------------cut here---------------end--------------->8---
> 
> /seems/ to come from libsndfile [1], an input for both fluidsynth and
> musescore

Good point, it might be that libsndfile was compiled without Vorbis
support.  However, there is also a nonzero chance that Fluidsynth or
Musescore use libsndfile incorrectly, for instance w.r.t. Vorbis
support [1].  Aside from the broken file hypothesis, that is...

> > as MuseScore doesn't use FluidSynth for MIDI synthesis – it's more
> > likely that the font is simply broken.
> 
> AFAIU this is not the case
How so?

> > It would be nice to investigate when that font first broke or if it
> > ever worked.
> 
> I'll try to do it in the coming days
> 
> [...]
> 
> Happy hacking! Gio'

Don't stress too much about it and happy hacking :)

[1] https://github.com/FluidSynth/fluidsynth/pull/888