Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[suggestion / feature request] sf3 player #3286

Closed
trebmuh opened this issue Jan 24, 2017 · 22 comments
Closed

[suggestion / feature request] sf3 player #3286

trebmuh opened this issue Jan 24, 2017 · 22 comments

Comments

@trebmuh
Copy link
Contributor

trebmuh commented Jan 24, 2017

The SF3 format has been invented by the lead developer of Musescore and is implemented in Musescore (http://musescore.org/) and Polyphone (http://polyphone-soundfonts.com/).

The SF3 format is the same than the SF2 one but the samples are in OGG and not in WAV. This in order to allow the soundfonts file weight to be heavily reduced.

It'd be great to have this support in LMMS (if that's not already the case and I missed it).

@tresf
Copy link
Member

tresf commented Jan 24, 2017

@trebmuh thanks for the bug report.

This is really a fluidsynth task. If you agree, please close this out in favor of upstream implementation. https://sourceforge.net/p/fluidsynth/tickets/142/

@trebmuh
Copy link
Contributor Author

trebmuh commented Jan 26, 2017

@tresf : thanks for the pointer; really appreciated. It sounds great.

Just to be 100% sure of my understanding, can you confirm/infirm the following: LMMS is using fluidsynth for the sf2 management. So, if/when the support for sf3 is added to fluidsynth, then LMMS will be able to deal with the sf3 soundfonts. Am I right here?

Going further, if I'm able to manage to build a local fluidsynth with the patch from sourceforge, would that mean that LMMS will be able to deal with sf3 straight, or would LMMS need to be rebuild as well to do so?

@tresf
Copy link
Member

tresf commented Jan 26, 2017

So, if/when the support for sf3 is added to fluidsynth, then LMMS will be able to deal with the sf3 soundfonts. Am I right here?

Yes. We may have to add the .sf3 file extension, but that should only take a few lines of code.

Going further, if I'm able to manage to build a local fluidsynth with the patch from sourceforge, would that mean that LMMS will be able to deal with sf3 straight, or would LMMS need to be rebuild as well to do so?

If your changes are published LMMS could technically point to your source instead. This isn't necessarily a quick task. See this thread for a similar situation: #3224 (comment)

Probably the best way to get this in is to get upstream to accept it and then it will naturally flow down stream.

@trebmuh
Copy link
Contributor Author

trebmuh commented Jan 27, 2017

So, if/when the support for sf3 is added to fluidsynth, then LMMS will be able to deal with the sf3 soundfonts. Am I right here?

Yes. We may have to add the .sf3 file extension, but that should only take a few lines of code.

That sounds great.

If your changes are published LMMS could technically point to your source instead. This isn't necessarily a quick task. See this thread for a similar situation: #3224 (comment)
Probably the best way to get this in is to get upstream to accept it and then it will naturally flow down stream.

I'm not planning to fork it. I'm planning to building a (debian) package with the patch included. If it works fine, then I could try to push it to Debian official repo. Unfortunately, it does look to me that fluidsynth has stopped its development back in 2015 (if we are to believe the git master https://sourceforge.net/p/fluidsynth/code-git/ci/f52597be038a5a045fc74b6f96d5f9b0bbbbc044/log/?path= ). When I'll have some time to do so, I'll fill the bug report on sourceforge to report my experience, and will enjoy this time to check if fluidsynth is still active (I hope it is and I missed something!).

@tresf
Copy link
Member

tresf commented Jan 27, 2017

@trebmuh yes they have three merge requests (for newcomers, this is the Sourceforge equivalent of a Pull Request) dating back to two years ago.

Assuming the authors are permanently absent, a more fruitful task would be to cherry-pick and coordinate with the various forks and bring the library back into life with official support on github. You could manage it under LMMS repo if you wish and just use the PR HACK method to get admins to take it over.

Edit: fluidsynth username is not taken on GitHub. e.g. https://github.com/fluidsynth/fluidsynth That would probably be more proper. You could also register fluidsynth1@gmail.com as a service/forwarding address -- also not taken -- to own it if so inclined. Sorry to go off-topic. :)

@trebmuh
Copy link
Contributor Author

trebmuh commented Jan 27, 2017

@tresf : re-reading this thread, I'm wondering if fluidsynth is bundled in LMMS or if LMMS is linked to it as an external library. Can you please enlighten me here?

@tresf
Copy link
Member

tresf commented Jan 27, 2017

@trebmuh although we do bundle some of our plugins (such as all of the LADSPA plugins), sf2 is purely external currently. Please see https://github.com/LMMS/lmms/tree/master/plugins/sf2_player.

This means long term LMMS as a whole (all platforms) will suffer the same problem you've described by having no upstream maintainer. A new collaborative home is dire at this point. 😕

@zonkmachine
Copy link
Member

This is really a fluidsynth task. If you agree, please close this out in favor of upstream implementation. https://sourceforge.net/p/fluidsynth/tickets/142/

New upstream issue here: FluidSynth/fluidsynth#140

@zonkmachine
Copy link
Member

This has now been implemented upstream: FluidSynth/fluidsynth#183
FluidSynth 1.1.7 will include sf3 support.

@trebmuh
Copy link
Contributor Author

trebmuh commented Sep 2, 2017

awesome !

@trebmuh
Copy link
Contributor Author

trebmuh commented Oct 19, 2017

@tresf:

Yes. We may have to add the .sf3 file extension, but that should only take a few lines of code.

After a quick look into the LMMS sources, I can't find any mention to sf3. Has that been done and I'm not looking at the right place ?

@tresf
Copy link
Member

tresf commented Oct 19, 2017

Has that be done

No, reopening.

@tresf tresf reopened this Oct 19, 2017
@trebmuh
Copy link
Contributor Author

trebmuh commented Oct 19, 2017

OK, thanks. I'll wait patiently for something to test. Please let me know if I can be of any help then.

@zonkmachine
Copy link
Member

We may have to add the .sf3 file extension

Ah, I missed this part.

Please let me know if I can be of any help then.

Yes indeed. Can you find a couple of sf3 files to try out?

@trebmuh
Copy link
Contributor Author

trebmuh commented Oct 19, 2017

@zonkmachine : there is one shipped with Musescore that you can find here in the debian packaging repo: https://anonscm.debian.org/cgit/pkg-multimedia/musescore.git/tree/share/sound?id=8958f57f5e8b7dc59fec77941ba6f9efc9eb38cf

@tresf
Copy link
Member

tresf commented Oct 19, 2017

Here's a downloadable file: (the Debian archive loads in a binary view) https://github.com/musescore/MuseScore/blob/master/share/sound/FluidR3Mono_GM.sf3?raw=true

tresf added a commit to tresf/lmms that referenced this issue Oct 19, 2017
@tresf
Copy link
Member

tresf commented Oct 19, 2017

PR available for testing here: #3895

@trebmuh
Copy link
Contributor Author

trebmuh commented Oct 20, 2017

Nice. Talk to you at #3895 .

@tresf
Copy link
Member

tresf commented Nov 15, 2017

Closed via #3895.

@snowc0de
Copy link

snowc0de commented Aug 13, 2020

Sorry to post this on this old issue but I don't really understand. Why aren't sf3 format supported now? (version 1.2.2) if they are supported could it be more clear how to do it? I only see a SF2 player. I don't see any SF3. And it simply not work when I try to import it. I downloaded the file from Musescore's website.

@Spekular
Copy link
Member

@chopin2712 quoting tresf, emphasis mine

Note, although this closes #3286, official SF3 support won't arrive to LMMS until 1.3.0, or before then by running a build from master.

@trebmuh
Copy link
Contributor Author

trebmuh commented Aug 13, 2020

Quick note: LMMS 1.2.2 from LibraZiK-3 here. I can load a SF3 file and play with it with the LMMS "Sf2 player" module because LMMS is patched to support SF3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants